Почему мой JavaCL обнаруживает только встроенную видеокарту? - PullRequest
0 голосов
/ 27 января 2020

У меня есть такой код:

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());
}

После вывода я получаю это:

1

Intel (R) UHD Graphics 630 | Intel ( R) Corporation | 26.20.100.7263 | FULL_PROFILE

Почему это так? (Моя дискретная видеокарта - GTX1080)

1 Ответ

0 голосов
/ 27 января 2020

Я нашел платформу 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());
}

И я получил его в выводе:

NVIDIA CUDA

GeForce GTX 1080 (NVIDIA CUDA)

Intel (R) OpenCL

Intel (R) UHD Graphics 630 (Intel® OpenCL)

...