NO Cpu device found

Hello forum,

I have just started learning opencl programming and following through the “opencl programming book”.

While query the number of platforms from my system, i only get the GPU device but not the CPU.

And if try to get the cpu explicitly as follows:


      errNum = clGetDeviceIDs(
	 platformIDs[i], 
	 CL_DEVICE_TYPE_CPU, 
	 0,
	 NULL,
	 &numDevices);

I get the answer no cpu device found.

I would like to know what i am missing in the process. I have a cpu device in the system i am working on. It is Intel core i7 and gpu device nvidia geforce gtx 560M.

Any hint to resolve this issue ?

Regards
Sajjad

I don’t know what your problem is, but here’s what I do, and it finds my i7:

err = clGetDeviceIDs( NULL, CL_DEVICE_TYPE_CPU, 1, &dev_id1, NULL );

Hello forum,

I ran the diagnostics through the opencl and it does not find the cpu device at all .
It just print the configuration info for the gpu device.
Here goes the output:


Number of platforms: 	1
	CL_PLATFORM_PROFILE:	FULL_PROFILE
	CL_PLATFORM_VERSION:	OpenCL 1.1 CUDA 4.2.1
	CL_PLATFORM_VENDOR:	NVIDIA Corporation
	CL_PLATFORM_EXTENSIONS:	cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll 
	Number of devices: 	1
		CL_DEVICE_TYPE:	CL_DEVICE_TYPE_GPU
		CL_DEVICE_VENDOR_ID:	4318
		CL_DEVICE_MAX_COMPUTE_UNITS:	4
		CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS:	3
	CL_DEVICE_MAX_WORK_ITEM_SIZES:	1024 1024 64 
		CL_DEVICE_MAX_WORK_GROUP_SIZE:	1024
		CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR:	1
		CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT:	1
		CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT:	1
		CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG:	1
		CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT:	1
		CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE:	1
		CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF:	0
		CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR:	1
		CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT:	1
		CL_DEVICE_NATIVE_VECTOR_WIDTH_INT:	1
		CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG:	1
		CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT:	1
		CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE:	1
		CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF:	0
		CL_DEVICE_MAX_CLOCK_FREQUENCY:	1550
		CL_DEVICE_ADDRESS_BITS:	32
		CL_DEVICE_MAX_MEM_ALLOC_SIZE:	805191680
		CL_DEVICE_IMAGE_SUPPORT:	1
		CL_DEVICE_MAX_READ_IMAGE_ARGS:	128
		CL_DEVICE_MAX_WRITE_IMAGE_ARGS:	8
		CL_DEVICE_IMAGE2D_MAX_WIDTH:	32768
		CL_DEVICE_IMAGE2D_MAX_WIDTH:	32768
		CL_DEVICE_IMAGE2D_MAX_HEIGHT:	32768
		CL_DEVICE_IMAGE3D_MAX_WIDTH:	2048
		CL_DEVICE_IMAGE3D_MAX_HEIGHT:	2048
		CL_DEVICE_IMAGE3D_MAX_DEPTH:	2048
		CL_DEVICE_MAX_SAMPLERS:	16
		CL_DEVICE_MAX_PARAMETER_SIZE:	4352
		CL_DEVICE_MEM_BASE_ADDR_ALIGN:	4096
		CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE:	128
		CL_DEVICE_SINGLE_FP_CONFIG:	CL_FP_DENORM | CL_FP_INF_NAN | CL_FP_ROUND_TO_NEAREST | CL_FP_ROUND_TO_ZERO | CL_FP_ROUND_TO_INF | CL_FP_FMA
		CL_DEVICE_SINGLE_FP_CONFIG:	CL_READ_ONLY_CACHE | CL_READ_WRITE_CACHE
		CL_DEVICE_GLOBAL_MEM_CACHE_TYPE:	CL_READ_WRITE_CACHE
		CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE:	128
		CL_DEVICE_GLOBAL_MEM_CACHE_SIZE:	65536
		CL_DEVICE_GLOBAL_MEM_SIZE:	3220766720
		CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE:	65536
		CL_DEVICE_MAX_CONSTANT_ARGS:	9
		CL_DEVICE_LOCAL_MEM_TYPE:	
		CL_DEVICE_LOCAL_MEM_SIZE:	49152
		CL_DEVICE_ERROR_CORRECTION_SUPPORT:	0
		CL_DEVICE_HOST_UNIFIED_MEMORY:	0
		CL_DEVICE_PROFILING_TIMER_RESOLUTION:	1000
		CL_DEVICE_ENDIAN_LITTLE:	1
		CL_DEVICE_AVAILABLE:	1
		CL_DEVICE_COMPILER_AVAILABLE:	1
		CL_DEVICE_EXECUTION_CAPABILITIES:	CL_EXEC_KERNEL
		CL_DEVICE_QUEUE_PROPERTIES:	CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE | CL_QUEUE_PROFILING_ENABLE
		CL_DEVICE_PLATFORM:	0x9d7fbf8
	CL_DEVICE_NAME:	GeForce GTX 560M
	CL_DEVICE_VENDOR:	NVIDIA Corporation
	CL_DRIVER_VERSION:	295.53
	CL_DEVICE_PROFILE:	FULL_PROFILE
	CL_DEVICE_VERSION:	OpenCL 1.1 CUDA
	CL_DEVICE_OPENCL_C_VERSION:	OpenCL C 1.1 
	CL_DEVICE_EXTENSIONS:	cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll  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_fp64 


Anyone has more idea on this?

Regards
Sajjadul

Did you install AMD’s or Intel’s OpenCl SDK ?

Hi

I have installed the NVIDIA’s cuda SDK because i have the nvidia card in my system

REgards
Sajjad

Right, but if you want to use your CPU, Nvidia’s SDK won’t help you much. I believe you have to install another one such as AMD’s or Intel’s.

Do i have to encounter any problem if i have two SDK side by side ?

No, you should not.