OpenCL tutorial – część 1 – konfigurowanie środowiska

Witam w pierwszej części krótkiego kursu OpenCL. Postanowiłem opisać swoje pierwsze kroki z technologią OpenCL.

Nie będę tutaj przytaczał teorii na temat działania karty graficznej czy historii OpenCL. Skupię się na trzech rzeczach: pobraniu potrzebnych plików, konfiguracji środowiska w systemie Windows oraz podaniu kilku działających przykładów.

Środowisko

W trakcie kursu będziemy używali środowiska Microsoft Visual C++ 2010 Express, ale możemy użyć do tego celu dowolnego środowiska dla języka C++. Przed utworzeniem projektu wchodzimy do ustawień (menu Tools – Options) i dodajemy rozszerzenie „cl”(Text Editor – File Extension). Dzięki temu kod OpenCL będzie kolorowany przez środowisko.

Tworzymy nowy projekt wybierając z menu pozycję File – New – Project, a następnie Win32 Console Application. W kreatorze wybieramy opcje Console Application oraz Empty Project. Dodajemy jeden plik o nazwie Main.cpp i uzupełniamy go standardową funkcją „main”.

OpenCL

Do wyboru mam dwa SDK, jedno dla kart AMD, a drugie NVIDII.

http://developer.amd.com/tools/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/

https://developer.nvidia.com/cuda-downloads

W katalogu, w którym zainstalowaliśmy SDK szukamy plików „cl.h” oraz „OpenCL.lib”. Jeżeli pobraliśmy SDK NVIDII, to znajdziemy je w katalogach:

Biblioteka dla systemu 64-bitowego w katalogu:

Ścieżki do powyższych katalogów dodajemy w ustawieniach projektu:

Polecam jednak nie ustawiać ścieżek bezwzględnych w projekcie, a zamiast tego skopiować odpowiednie pliki do katalogu z projektem i ustawić ścieżki względne.

Dodajemy również bibliotekę OpenCL.lib w:

Po wykonaniu tych operacji struktura katalogów powinna wyglądać następująco:

Kod programu

Sprawdzamy czy wszystko działa poprawnie. W plik Main.cpp dołączamy plik CL/cl.h oraz definiujemy zmienną typu „cl_int”. Jeżeli program skompiluje się bez błędów, to znaczy, że poprawnie przygotowaliśmy nasze środowisko do pracy z OpenCL-em.

Cały kod powinien wyglądać tak:

Źródła w serwisie GitLab.

W kolejnej części kursu sprawdzimy czy nasz sprzęt obsługuje OpenCL.

Linki

https://developer.nvidia.com/opencl

http://www.khronos.org/registry/cl/specs/opencl-1.0.29.pdf

http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/

http://www.thebigblob.com/getting-started-with-opencl-and-gpu-computing/

4 Comments on “OpenCL tutorial – część 1 – konfigurowanie środowiska

  1. Mam problem – po dodaniu bibliotek w visualu ciągle otrzymuję błąd:
    error C1083: Cannot open include file: ‚CL/cl_platform.h’: No such file or directory
    Struktura folderów wygląda w porządku, co może być przyczyną tego błędu?

  2. Już wiem, gdzie leżał błąd – ścieżka w linkerze powinna wskazywać na katalog include, a nie include/CL

Dodaj komentarz

Twój adres email nie zostanie opublikowany.