我有一个EC2实例。它的规格是:
g2.2xlarge Instance.
Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
NVIDIA GRID GPU (Kepler GK104) with
Ubuntu 14.04 - 64 bit.
我有两个问题:
1。 在此系统上安装CUDA工具包后,使用clinfo
时输出如下:
clinfo: /usr/local/cuda-8.0/targets/x86_64-linux/lib/libOpenCL.so.1: no version information available (required by clinfo)
Platform Version: OpenCL 1.2 CUDA 8.0.46
Platform Name: NVIDIA CUDA
Platform Vendor: NVIDIA Corporation
Number of devices: 1
Device Type: CL_DEVICE_TYPE_GPU
Name: GRID K520
Vendor: NVIDIA Corporation
Device OpenCL C version: OpenCL C 1.2
Driver version: 367.57
Profile: FULL_PROFILE
Version: OpenCL 1.2 CUDA
//with other info too which I can paste if required.
我的问题是:这是一个好习惯吗?使用OpenCL进行编码时会使用GPU吗?
2。 如果我安装AMD APP SDK怎么办?是否可以使用OpenCL使用Nvidia显卡或仅使用英特尔CPU?
我在另一个具有相同规格的ec2实例上安装了AMD APP SDK,并在clinfo
中找到了以下内容:
Platform Version: OpenCL 1.2 AMD-APP (1214.3)
Platform Name: AMD Accelerated Parallel Processing
Platform Vendor: Advanced Micro Devices, Inc.
Number of devices: 1
Device Type: CL_DEVICE_TYPE_CPU
Name: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
Vendor: GenuineIntel
Device OpenCL C version: OpenCL C 1.2
Driver version: 1214.3 (sse2,avx)
Profile: FULL_PROFILE
Version: OpenCL 1.2 AMD-APP (1214.3)
这是否意味着OpenCL只能使用CPU。 GPU(nVidia)永远不会被使用?如果是这种情况,那么我应该回到nVidia CUDA工具包以使OpenCL使用GPU还是有其他方式/更好的做法?
在两者中,我应该使用哪一个? CUDA工具包?还是AMD APP SDK?我的目的是在各种GPU上运行OpenCL跨平台。
答案 0 :(得分:1)
您可以安装多个OpenCL平台(NVIDIA CUDA,AMD APP,Intel)。 GPU的实际OpenCL实现是显示驱动程序的一部分。 AMD APP还附带了一个用于CPU(AMD或Intel)的OpenCL驱动程序。
Apple还拥有自己的OpenCL平台,他们应该支持机器中安装的CPU和GPU。因此,如果您想在服务器上使用NVIDIA GPU,您可能应该使用NVIDIA CUDA平台,尽管有些人声称也应该可以使用AMD APP。理论上,只要安装了NVIDIA OpenCL运行时驱动程序,任何平台都应该可以正常工作。