Eu tenho duas GPUs, uma é AMD (fglrx-updates) e uma nVidia (nvidia-current), drivers de x-swat PPA. A placa AMD é usada byt xorg (sem problemas). Ambos os dispositivos aparecem em lspci|grep VGA
:
01:00.0 VGA compatible controller: ATI Technologies Inc Device 6718
02:00.0 VGA compatible controller: nVidia Corporation Device 1200 (rev a1)
O módulo do kernel da nvidia está carregado ( dmesg|grep nvidia
):
[ 16.033488] nvidia 0000:02:00.0: enabling device (0000 -> 0003)
[ 16.033501] nvidia 0000:02:00.0: PCI INT A -> GSI 40 (level, low) -> IRQ 40
[ 16.033507] nvidia 0000:02:00.0: setting latency timer to 64
Problema do OpenCL
Eu criei /etc/OpenCL/vendors/nvidia.icd
contendo
/usr/lib/nvidia-current/libcuda.so
O dispositivo é detectado, plataforma NVIDIA CUDA
, dispositivo GeForce GTX 560 Ti
. No entanto, nenhum código é compilado para o dispositivo, clBuildProgram
sempre retorna CL_BUILD_RPOGRAM_FAILURE
e consultar clGetProgramBuildInfo
falha com backtrace não informativo
#0 0x00007ffff7442bef in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff22c0e67 in ?? () from /usr/lib/nvidia-current/libcuda.so
O programa é construído com cl.h
do SDK da Intel; está tudo bem, já que tudo correu bem até que eu instalei a placa AMD ao lado.
A execução de /usr/share/doc/python-pyopencl/examples/benchmark.py
falha da mesma forma (em pyopencl::program::get_build_info
).
Alguma dica sobre o que está errado?