2016-11-14 5 views
0

Ich habe einen Server mit 24 Intel (R) Xeon (R) CPUs und Tesla K80 GPU-Geräten. Jede CPU hat 6 Kerne. Ich möchte ein paralleles Programm entwickeln, das auf allen CPUs und deren Kernen läuft. Ich begann mit dem OpenCL-Framework. Wenn ich die Plattformen auf der Liste Server, bekomme ich nur eine Plattform mit den folgenden Informationen:Parallele Programmierung auf mehreren CPUs in einem Server

Anzahl von Plattformen: 1

Name: NVIDIA CUDA

Hersteller: NVIDIA Corporation

Version: OpenCL 1.2 CUDA 8.0.0

Profil: FULL_PROFILE

Erweiterungen: 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

Sollte ihr nicht eine andere Plattform für die CPUs sein?

Wenn dies in OpenCL nicht möglich ist, gibt es ein weiteres Framework, das hilft, alle CPUs (und deren Cores) für parallele Programme zu nutzen?

+0

Sie müssen die Intel OpenCL Runtime installieren – Jovasa

+0

Oder Sie können Intels integrierte Gppu-Treiber installieren, aber wenn Sie nicht diese igpu haben, dann müssen Sie Laufzeiten für opencl wie @Jovasa hier gesagt: https://software.intel .com/de-de/artikel/opencl-treiber. Wenn Sie mpi verwenden, können Sie purey mit dem Host-Code ausführen. MPI + opencl sollte gpu und cpu aktivieren. –

+0

Ich bin mir ziemlich sicher, dass Xeons keinen igpus haben – Jovasa

Antwort

0

Um OpenCL auf Intel-Geräten für Prozessoren zu verwenden, müssen Sie die OpenCL-Laufzeitumgebung installieren. Für mögliche integrierte GPUs müssen Sie GPU-Treiber installieren.