我打算对CPU和GPU之间的差异进行基准测试。 问题是,我只能检索我的GPU,我的CPU没有显示。
此程序在 OSX 上生成正确输出。在那里,列出了CPU和GPU:
public static void displayInfo() {
for (int platformIndex = 0; platformIndex < CLPlatform.getPlatforms().size(); platformIndex++) {
CLPlatform platform = CLPlatform.getPlatforms().get(platformIndex);
System.out.println("Platform #" + platformIndex + ":" + platform.getInfoString(CL_PLATFORM_NAME));
List<CLDevice> devices = platform.getDevices(CL_DEVICE_TYPE_ALL);
for (int deviceIndex = 0; deviceIndex < devices.size(); deviceIndex++) {
CLDevice device = devices.get(deviceIndex);
System.out.printf(Locale.ENGLISH, "Device #%d(%s):%s\n",
deviceIndex,
UtilCL.getDeviceType(device.getInfoInt(CL_DEVICE_TYPE)),
device.getInfoString(CL_DEVICE_NAME));
}
}
}
我的输出:
平台#0:NVIDIA CUDA
设备#0(GPU):GeForce GTX 560 Ti
设备#1(GPU):GeForce GTX 560 Ti
我的电脑:
我正在使用lwjgl
版本2.8.4
为什么我无法检索我的CPU?
答案 0 :(得分:1)
(重新发布评论回答)
OS X有点独特,因为它预装了OpenCL CPU驱动程序,因此OpenCL可以“开箱即用”。在Windows和Linux上,您需要为CPU安装OpenCL运行时/驱动程序。对于Intel CPU,您可以在此处找到它们: