OpenCL quebrado em 11.10, CUDA funciona

2

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?

    
por eudoxos 02.02.2012 / 23:20

1 resposta

0

A implementação provavelmente não pode dlopen uma das bibliotecas que ele usa, tente executar seu aplicativo com LD_LIBRARY_PATH=/usr/lib/nvidia-current:$LD_LIBRARY_PATH ./yourapp e, se isso não ajudar a executá-lo com strace, e procurar por bibliotecas, não é possível carregar e ajustar o caminho para encontrá-los.

    
por mhr3 08.02.2012 / 17:37