2013-06-07 10 views
5

Jestem nowicjuszem w OpenCL.Kompilacja OpenCL na Linuksie

Od wczoraj, próbuję użyć OpenCL do programowania równoległego zamiast CUDA, które jest dla mnie bardziej znane i wcześniej doświadczone.

Teraz mam układ GPU NVIDIA GTX 580, system Ubuntu Linux 12.04 OS i pakiet SDK CUDA 4.1 (wcześniej zainstalowany z powodu programowania CUDA).

W folderze SDK CUDA niektóre pliki nagłówkowe OpenCL i biblioteka są już dołączone.

Właśnie pobrałem przykłady OpenCL ze strefy programisty NVIDII. (Oto link! https://developer.nvidia.com/opencl)

Próbuję samemu skompilować przykład, ale nie mogłem.

Do tworzenia Makefile używam -I dodałem ścieżkę do pliku nagłówkowego, ale nie wiem, jak dodać ścieżkę do biblioteki i jaka jest nazwa biblioteki OpenCL.

Szukałem w Google, ale ktoś powiedział, że plik o nazwie libOpenCL.so, ale mam tylko OpenCL.lib.

Czy ktoś może mi pomóc?

+1

lib jest do okien statycznej lib, czy pobrać odpowiedni pakiet? – ardiyu07

+1

Możliwy duplikat [co jest potrzebne do kompilacji opencl na ubuntu? (i przez długi okres) (http://stackoverflow.com/questions/7542808/what-is-needed-to-compile-opencl-on-ubuntu-and-by-extension-opencl-period) –

Odpowiedz

7

Zainstaluj

Poniższe kroki zostały przetestowane na Ubuntu 12.04.

  1. Pobierz Intel SDK dla systemu Linux.
  2. Extract RPM:

    $ tar zxvf intel_sdk_for_ocl_applications_2012_x64.tgz 
    
  3. Konwersja do .deb i zainstalować:

    $ fakeroot alien --to-deb intel_ocl_sdk_2012_x64.rpm 
    $ sudo dpkg -i intel-ocl-sdk_2.0-31361_amd64.deb 
    
  4. Upewnić się, że libOpenCL.so został zainstalowany do/usr/lib /.

    $ sudo ln -s /usr/lib64/libOpenCL.so /usr/lib/libOpenCL.so 
    $ sudo ldconfig 
    

kompilacji

prostu odwołuje się do biblioteki OpenCL podczas kompilacji:

$ g++ main.cpp -lOpenCL 
$ ./a.out 
+1

dzięki . Przepraszam za późno. – Umbrella

+0

Nie zapomnij o nagłówkach opencl, jeśli to konieczne https://askubuntu.com/a/693043/655911 –