【发布时间】:2016-11-14 11:02:32
【问题描述】:
我有一台配备 24 个 Intel(R) Xeon(R) CPU 和 Tesla K80 GPU 设备的服务器。每个 CPU 有 6 个内核。我想开发一个在所有 CPU 及其内核上运行的并行程序。我从 OpenCL 框架开始。当我列出服务器上可用的平台时,我只得到一个包含以下信息的平台:
平台数量:1
名称:NVIDIA CUDA
供应商:NVIDIA Corporation
版本:OpenCL 1.2 CUDA 8.0.0
个人资料:FULL_PROFILE
扩展: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
它们不应该成为 CPU 的另一个平台吗?
如果这在 OpenCL 中不可行,是否有其他框架可以帮助利用所有 CPU(及其内核)进行并行程序?
【问题讨论】:
-
您必须安装英特尔 OpenCL 运行时
-
或者您可以安装 Intel 的集成 gppu 驱动程序,但如果您没有该 igpu,那么您必须安装 opencl 运行时,正如@Jovasa 所说:software.intel.com/en-us/articles/opencl-drivers。如果您使用的是 mpi,则可以使用主机代码进行纯粹的操作。 MPI+opencl 应该启用 gpu 和 cpu。
-
我很确定 Xeons 没有 igpus
-
@Jovasa 我安装了 OpenCL 运行时,它工作正常。非常感谢。我怎样才能接受您的评论作为答案?
-
我将不得不为此发布一个实际答案,请稍等
标签: parallel-processing multiprocessing opencl