I have a server equipped with 24 Intel(R) Xeon(R) CPUs and Tesla K80 GPU devices. Each CPU has 6 cores. I want to develop a parallel program that runs on all the CPUs and their cores. I started with OpenCL framework. When I list the platforms available on the server, I only get one platform with the following information:
number of platforms: 1
Name : NVIDIA CUDA
Vendor : NVIDIA Corporation
Version : OpenCL 1.2 CUDA 8.0.0
Profile : FULL_PROFILE
Extensions : 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 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_nv_copy_opts
Shouldn't their be another platform for the CPUs?
If this is not possible in OpenCL, is there another framework that helps in leveraging all the CPUs (and their cores) for parallel programs?