为什么我的JavaCL只检测到集成图形卡?

为什么我的JavaCL只检测到集成图形卡?,java,opencl,nvidia,Java,Opencl,Nvidia,我有一些这样的代码: public static void main(String[] args) throws IOException { CLContext context = JavaCL.createBestContext(); CLQueue queue = context.createDefaultQueue(); ByteOrder byteOrder = context.getByteOrder(); System.out.println(co

我有一些这样的代码:

public static void main(String[] args) throws IOException {

    CLContext context = JavaCL.createBestContext();
    CLQueue queue = context.createDefaultQueue();
    ByteOrder byteOrder = context.getByteOrder();

    System.out.println(context.getDeviceCount() + "\n" + context.getDevices()[0].createSignature());
}
输出后,我得到以下结果:

一,

英特尔(R)超高清图形630 |英特尔(R)公司| 26.20.100.7263 |完整| U配置文件


为什么会这样?(我的离散图形卡是GTX1080)

我找到了NVIDIA CUDA平台和我的GTX1080,但我不明白如何创建NVIDIA CUDA平台的上下文

将此代码添加到过去的实现中

CLPlatform[] platforms = JavaCL.listPlatforms();
for (int i = 0; i < platforms.length; i++) {
    System.out.println(platforms[i].getName());
    System.out.println(platforms[i].getBestDevice());
}
CLPlatform[]platforms=JavaCL.listmplatforms();
对于(int i=0;i
我在输出中得到了它:

英伟达酒店

GeForce GTX 1080(英伟达CUDA)

英特尔(R)OpenCL

英特尔(R)超高清图形630(英特尔(R)OpenCL)