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.
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/
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:
Kjør hele skriptet som root bruker (ikke anbefalt).
Bruk sudo kommandoen fra sudo pakken.
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