OpenCL-SDK-2025.07.22

Introduksjon til OpenCL-SDK

Denne siden dekker installasjonen av OpenCL SDK, som består av C og C++ deklarasjonene, samt ICD lasteren.

ICD står for «Installable Client Driver», der ICD lasteren bare laster inn gitte drivere som er installert på systemet, gitt at en ICD fil er tilstede som erklærer at driveren finnes. Slik fungerer Vulkan ICD lasteren fra Vulkan SDK.

OpenCL drivere kommer ofte fra videodrivere, som Mesa og NVIDIA.

OpenCL-SDK Avhengigheter

Required
CMake-4.3.3

Optional
Doxygen, Graphviz, og Ruby

Laste ned OpenCL-SDK

Først, opprett en liste over filer som skal lastes ned:

cat > opencl-sdk-list-2025.07.22 << "EOF"
OpenCL-Headers/archive/v2025.07.22/OpenCL-Headers-2025.07.22.tar.gz
OpenCL-CLHPP/archive/v2025.07.22/OpenCL-CLHPP-2025.07.22.tar.gz
OpenCL-ICD-Loader/archive/v2025.07.22/OpenCL-ICD-Loader-2025.07.22.tar.gz
EOF

For å laste ned de nødvendige filene ved hjelp av Wget-1.25.0, bruk følgende kommandoer:

mkdir opencl-sdk-2025.07.22 &&
cd    opencl-sdk-2025.07.22 &&
grep -v '^#' ../opencl-sdk-list-2025.07.22 | wget -i- -c \
    -B https://github.com/KhronosGroup/

Installasjon av OpenCL-SDK

Notat

Når du installerer flere pakker i et skript, må installasjonen gjøres som root bruker. Det finnes tre generelle alternativer som kan brukes til å gjøre dette:

  1. Kjør hele skriptet som root bruker (ikke anbefalt).

  2. Bruk sudo kommandoen fra sudo pakken.

  3. Use su -c "command arguments" (anførselstegn kreves) som vil be om root passordet for hver iterasjon av løkken.

En måte å håndtere denne situasjonen på er å lage en kort bash funksjon som automatisk velger riktig metode. Når kommandoen er satt i miljøet, trenger den ikke å settes på nytt.

as_root()
{
  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"
  fi
}

export -f as_root

Først start et underskall som avsluttes ved feil:

bash -e

Installer alle pakkene ved å kjøre følgende kommandoer:

for package in OpenCL-{Headers,CLHPP,ICD-Loader}
do
  longpackage=$package-2025.07.22.tar.?z*
  packagedir=${longpackage%.tar.?z*}
  tar -xf $longpackage
  pushd $packagedir
    mkdir build
    cd    build
    cmake -D CMAKE_INSTALL_PREFIX=/usr \
          -D CMAKE_BUILD_TYPE=Release  \
          -D BUILD_TESTING=OFF         \
          -D BUILD_EXAMPLES=OFF        \
          -G Ninja ..
    ninja
    as_root ninja install
  popd
  rm -rf $packagedir
done

Til slutt, avslutt skallet som ble startet tidligere:

exit

Innhold

Installert Program: cllayerinfo
Installert Bibliotek: libOpenCL
Installerte Mapper: /usr/include/CL og /usr/share/cmake/{OpenCLHeaders,OpenCLHeadersCpp,OpenCLICDLoader}

Korte Beskrivelser

cllayerinfo

viser informasjon om et OpenCL lag

libOpenCL

er OpenCL ICD lasteren