This bugzilla service is closed. All entries have been migrated to https://gitlab.com/libeigen/eigen
Bug 1714 - AVX512 PacketMath add quarter type
Summary: AVX512 PacketMath add quarter type
Status: DECISIONNEEDED
Alias: None
Product: Eigen
Classification: Unclassified
Component: Core - vectorization (show other bugs)
Version: 3.4 (development)
Hardware: x86 - AVX512 All
: Normal Internal Design
Assignee: Nobody
URL:
Whiteboard:
Keywords:
Depends on: 692
Blocks:
  Show dependency treegraph
 
Reported: 2019-05-14 09:35 UTC by neumann
Modified: 2019-12-04 18:38 UTC (History)
4 users (show)



Attachments

Description neumann 2019-05-14 09:35:01 UTC
AVX512 could define a quarter type since there are three usable types (ignoring suffixes):
__mm512
__mm256
__mm128

so dealing with a vector of ten double elements could be done by
one m512 and one m128 instruction/packet.
Comment 1 Christoph Hertzberg 2019-05-24 15:02:39 UTC
Adding a `quarter` typedef would be trivial, but properly using that not so much.

E.g., for a vector of size 14 it might be better to either use two overlapping vectors of size 8, or (with AVX512) mask one vector to size 6.
Also, even without AVX512, there could be use cases for using just one half of a __mm128 packet (for two floats).


If you need this in your own code, you can use the `half` typedef twice.
Comment 2 Nobody 2019-12-04 18:38:32 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/1714.

Note You need to log in before you can comment on or make changes to this bug.