Skip navigation

OpenCL programok fordítása

Fordítás menete MS Visual Studio-val

Először Microsoft Visual Studio Community 2017-ben mutatjuk be a fordítás menetét. A legjobb az, ha előzetesen a szükséges OpenCL SDK-t és CUDA SDK-t előzetesen telepíjük az adott számítógépekre. Jelen esetben az Intel OpenCL SDK-n keresztül ismertetjük a példa program fordítását.

Visual Studio kezdőképernyője

A <Create new project>-re kattintva válasszuk ki az <Empty OpenCL project for Windows> opciót és írjuk be a projekt nevét.

Új OpenCL projekt létrehozása

A host.cpp-be másoljuk be a gazdagép programját a device.cl forrásba pedig az eszköz kernelkódját

Források elékészítése

A program sikeres fordításához szükség lehet a megfelelő Windows SDK verzió beállításához a projekt tulajdonságainál:

Projekt tuéajdonság beállítása

Ezután már csak le kell fordítanunk a projektet.

Feladat

  • Fordítsa le a programot MS Visual Stúdióval!
  • Futtassa a lefordított programot!

Fordítás CMake-kel

Egy másik lehetőség a CMake használata a fordítási paraméterek beállítására. Az egyik nagy előnye, hogy több platformon is használható és elkerülhető például az MS Visual Studio-ban lévő paraméterek keresgélése.

A következőkben egy egyszerű CMake állományt adunk meg.

    #Minimalis OpenCL CMake

    cmake_minimum_required (VERSION 3.1)

    project(helloWorld)

    # OpenCL
    find_package(OpenCL REQUIRED)
    include_directories(${OpenCL_INCLUDE_DIRS})
    link_directories(${OpenCL_LIBRARY})
	
    add_executable (helloWorld device.cl helloWorld.cpp)
configure_file(device.cl ${RUNTIME_OUTPUT_DIRECTORY} device.cl) target_include_directories (helloWorld PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_link_libraries (helloWorld ${OpenCL_LIBRARY})

CMake állomány letöltése itt.

A Makefile/Project elkészítéséhez legalább 3.1-es CMake programra van szükséges. Természetsen itt is szükség van a megfelelő OpenCL SDK előzetes telepítésére. A Cmake program indítása után adjuk meg a forrást és a bináris kódot tartalmazó könyvtárak elérési útvonalait, majd kattintsunk a <Configure> nyomógombra.

CMake beállítások

Ezután válasszuk ki a megfelelő fordító környezetet/platformot.

Fordító környezet kiválasztása

A Configure után már csak a <Generate> funkciót kell használnunk, hogy előállítsuk a szükséges állományokat.

Configure után

Sikeres generálás után a bináris útvonalban megadott könyvtárban találjuk meg a fordításhoz szükséges állományokat.

Generálás után

Fordítás után mindig ellenőrizzük, hogy a device.cl forrás állomány a gazda programban megadott elérési útvonalon helyezkedjen el.

Feladat

  • Készítse el a projekt állományokat CMake programmal!
  • Ezután fordítsa le a programot a léttrehozott projekt állományok segítségével!
  • A legvégén futassa a programot!