- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
I was playing around with the new 2014 Intel OpenCL SDK, and I noticed that when compiling for Win32, CL_DEVICE_ADDRESS_BITS query returned 32 for the CPU, but 64 for the GPU. That seems quite odd to me, is that correct? If I compile for x64, then both return 64, which isn't too strange.
Also, is there any good reason why my CPU's CL_DEVICE_NAME starts with six spaces, e.g., " Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz"? My GPU's CL_DEVICE_NAME starts immediately with "Intel(R)...".
링크가 복사됨
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi Sean,
OpenCL CPU device shares the same process with your application and Windows OS does not support processes with mixed 32/64 architecture. So YES, when you compile you application for 32bit architecture you will get 32-bit OpenCL CPU device. When you compile your application for 64-bit architecture you will get 64-bit OpenCL CPU device.
GPU is a separate piece of hardware with its own architecture and it is always seen as 64-bit OpenCL device.
Regarding the OpenCL CPU device name - it is extracted from the CPU hardware using cpuid assembler instruction. Unfortunately CPU HW returns a string with leading spaces.
