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.
1719 Discussions

cl_khr_fp64 and opencl CPU for Bay Trail Atom Z3000

MSimm2
New Contributor I
375 Views

yep, its me again :)

I brought a Pendo Pad 8 tablet running Windows 8.1 (for only $200 AUD) to play with.
There is a problem with the opencl cpu driver

i.e.
    - CL_DEVICE_NAME:         Intel(R) Atom(TM) CPU  Z3735E @ 1.33GHz
    - CL_DEVICE_VENDOR: Intel(R) Corporation
    - CL_DRIVER_VERSION: 4.5.0.8
    - CL_DEVICE_PROFILE: FULL_PROFILE
    - CL_DEVICE_VERSION: OpenCL 1.2 (Build 8)
    - CL_DEVICE_TYPE: CPU
...............................
    - CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE: 0
    - CL_DEVICE_EXTENSIONS: 15
    - Extensions:
        - cl_khr_icd
        - cl_khr_global_int32_base_atomics
        - cl_khr_global_int32_extended_atomics
        - cl_khr_local_int32_base_atomics
        - cl_khr_local_int32_extended_atomics
        - cl_khr_byte_addressable_store
        - cl_khr_spir
        - cl_intel_exec_by_local_thread
        - cl_khr_depth_images
        - cl_khr_3d_image_writes
        - cl_khr_gl_sharing
        - cl_intel_dx9_media_sharing
        - cl_khr_dx9_media_sharing
        - cl_khr_d3d11_sharing
        - cl_khr_gl_sharing

If you ignore the lack of cl_khr_fp64 and PREFERRED_VECTOR_WIDTH_DOUBLE: 0 and create a kernel that uses double it works fine.
You can also see this using the Intel SDK 32 bit kernel build you can see it generating SSE 4,2 assembly code.

Please fix this, I assume its a bug.

It's possible to install the AMD CPU driver and it works, but it only generates SSE 2 assembly code and its not as optimized.
I made an argument to them along time ago, that if you go to the Steam Hardware Survey http://store.steampowered.com/hwsurvey and click on "Other Settings" you will see that 99.99% of the machine in the survey support SSE 2.
If you only support SSE4.2 then 30% of the machines on the survey (a lot of machine) can not support an application that uses opencl (unless it has a GPU that does).

I think its really cool that my full opencl development enviroment (I use CodeLite) runs on a $200 tablet.
Hopefully on a Core M derived tablet we might get fp64 on the GPU as well :)
 

 

0 Kudos
2 Replies
Robert_I_Intel
Employee
375 Views

We don’t support 64-bit floating point on Atom based platform, only on Core.

 

Things might work for you… but we do not claim to be conformant with that extensions, so our recommendation will be to not use it.

0 Kudos
MSimm2
New Contributor I
375 Views

>We don’t support 64-bit floating point on Atom based platform, only on Core.
Even if that Atom fully supports SSE4.2
From
https://www-ssl.intel.com/content/www/us/en/processors/atom/atom-z36xxx-z37xxx-datasheet-vol-1.html

Section 3.1
"Intel® Streaming SIMD Extensions 4.1 and 4.2 (SSE4.1 and SSE4.2), which include
new instructions for media and for fast XML parsing"

Either

a) the SSE4.2 target does not support fp64 (and that includes 1st generation core processors)
or
b) The  Z3735E has broken support for SSE4.2

 

0 Kudos
Reply