2010-04-23 8 views
11

Tengo una pregunta para el modo de cálculo exclusivo con NVidia + OpenCL.Modo de cálculo exclusivo con OpenCL + NVidia

Puedo configurar el modo de cálculo exclusivo (página 74 de la guía de programación de cuda 3.0) con nvidia-smi en un nvidia-gpu. eso significa que solo un programa puede calcular en gpu.

horarios de tiempo de ejecución de cuda que la aplicación de forma automática.

pero tengo un problema con los programas opencl en este caso: si una aplicación se ejecuta en un gpu con modo de cálculo exclusivo establecido y en las segundas llamadas al programa opencl clGetDeviceInfo (..., CL_DEVICE_AVAILABLE, ...) con el la misma GPU es el resultado == CL_TRUE. Después de eso, si opencl-app intenta crear un contexto en este dispositivo, bloquea la aplicación en ejecución (ambas).

¿Cómo puedo encontrar una GPU disponible con OpenCL?

Gracias.

+0

Esto posiblemente sea un error en la implementación de OpenCL. intente contactar a nVidia al respecto o publique la pregunta en los foros de nVidia donde un desarrollador de nVidia podría recogerla. – shoosh

Respuesta

1

clGetDeviceIds devuelve la cantidad de dispositivos y sus dispositivos Ids. Luego puede verificar si cada uno de los dispositivos está disponible o no. No estoy seguro de si eso resolvería el accidente.

0

Tuve un problema similar en el que quería encontrar el mejor dispositivo OpenCL en una lista. No pude encontrar una solución, así que la escribí yo mismo. Intentará crear un contexto en un dispositivo. Si no puede, intentará con el siguiente.

También es compatible con múltiples plataformas OpenCL. Puede elegir entre nvidia (solo gpu), amd (gpu & cpu), intel (cpu) y apple (gpu & cpu).

Se puede encontrar en GitHub: https://github.com/nbigaouette/oclutils/

Todavía estoy en busca de un mejor mecanismo de bloqueo sin embargo.