我的笔记本电脑有 - 一个 CPU 内核 i5:Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz - 一张显卡:Intel(R) HD Graphics 4000 - 一张 Nvidia 卡(外置卡):GeForce GT 630M
但是当我尝试使用 JavaCL.createBestContext() 时,它看起来就像只使用一张卡英特尔高清显卡。所以我尝试结合 3 : CPU 和 2 GPU 使用:
List<CLDevice> devices = new ArrayList<CLDevice>();
// try to list all platform and devices
for(CLPlatform platform : JavaCL.listPlatforms()) {
//System.out.println(platform.getName());
for (CLDevice device : platform.listAllDevices(true)) {
System.out.println(device.getName().trim());
devices.add(device);
}
}
CLDevice device1 = (CLDevice)devices.get(0);
CLDevice device2 = (CLDevice)devices.get(1);
CLDevice device3 = (CLDevice)devices.get(2);
CLContext context = JavaCL.createContext(null, device1, device2, device3);
但是尝试同时使用 3 时出现错误。那么如何在 JavaCL 中编译 CPU 和 GPU 呢?因为我读到 OpenCL 是使用 CPU 和 GPU 支持并行编程的标准。所以如果我错过了什么,请告诉我。任何想法或答案将不胜感激。
谢谢,杜伊。