在一个服务器的多个 CPU 上并行编程

Parallel programming on multiple CPUs in one Server

我的服务器配备了 24 个 Intel(R) Xeon(R) CPUs 和 Tesla K80 GPU 设备。每个 CPU 有 6 个核心。我想开发一个在所有 CPU 及其核心上运行的并行程序。我从 OpenCL 框架开始。当我列出服务器上可用的平台时,我只得到一个具有以下信息的平台:

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

他们不应该是 CPU 的另一个平台吗?

如果这在 OpenCL 中是不可能的,是否有另一个框架可以帮助利用并行程序的所有 CPU(及其核心)?

要在英特尔设备上为处理器使用 OpenCL,您需要安装 OpenCL 运行时,对于可能的集成 GPU,您需要安装 GPU 驱动程序。