OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU
Announcements
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.
1663 Discussions

Sandy Bridge CPU & Native vector width

Romain_D_
New Contributor I
196 Views
Hello,

I originally tried the SDK on Linux on a dual-socket Harpertown, where CL reports the preferred & native width for all datatypes as 16 bytes, i.e. from 16 chars to 2 doubles. That's what fit inside a XMM register, which is what I expected.

But after checking the values on a Sandy Bridge CPU (i5-2400), I get the same preferred & native sizes. This seems strange to me, as my understanding of the architecture is that if the dataset is large enough and floating-point, one should go for AVX instead of SSE. There is very little support for integer stuff in YMM registers, so I understand that char/short/int/long are still 16/8/4/2, but shouldn't float/double be 8/4 rather than 4/2?

Is it deliberate and if so why, or is it just a case of "we haven't had time to implement it yet"?

Cordially,
0 Kudos
1 Solution
ARNON_P_Intel
Employee
196 Views

Thanks for pointing that,

The behavior you see on Sandy Bridge CPU is as expected with this Beta.

As the install based of Sandy Bridge will increase and mature into to the domains where OpenCL based floating-point applications are in used, we will extend our support.

So yes, the behaviour is not yet implemented and will be added in future versions.

Thanks,

- Arnon

View solution in original post

1 Reply
ARNON_P_Intel
Employee
197 Views

Thanks for pointing that,

The behavior you see on Sandy Bridge CPU is as expected with this Beta.

As the install based of Sandy Bridge will increase and mature into to the domains where OpenCL based floating-point applications are in used, we will extend our support.

So yes, the behaviour is not yet implemented and will be added in future versions.

Thanks,

- Arnon

Reply