CUDA-13.1.0

Introduksjon til CUDA

Dette er CUDAs proprietære verktøysett, som tilbyr verktøy for å kjøre kode på Turing gjennom Blackwell NVIDIA GPU-er via r590 NVIDIA driver. Dette er NVIDIAs tilnærming til maskinvareakselerasjon.

[Viktig]

Viktig

NVIDIA driverversjonen som er oppført i kjørefilnavnet er minimumskravet for NVIDIA driverversjon.

[Notat]

Notat

Nedlastingsstørrelsen er rundt 4G, så du bør vurdere om og når du vil laste ned denne kjørefilen. Av denne grunn anbefales det ikke å laste den ned når du bruker begrenset hotspot data. Størrelsen kan i stor grad tilskrives at den inneholder kompilatorer samt NVIDIA driveren. Driveren utgjør bare 10 % av runfilens størrelse.

CUDA Avhengigheter

Required
NVIDIA-590.48.01

Recommended
Bash skallets oppstartsfiler

Optional
GDB og GLU-9.0.3

Installasjon av CUDA

Først opprett installasjonsmappen og symbollinken som root bruker:

mkdir -pv /opt/cuda-13.1.0 &&
ln -sfv cuda-13.1.0 /opt/cuda
[Notat]

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

Start et underskall som avsluttes ved en feil:

bash -e

Installer CUDA ved å kjøre følgende kommandoer:

sh cuda_13.1.0_590.44.01_linux.run     \
  --target cuda_13.1.0_590.44.01_linux \
  --noexec
pushd cuda_13.1.0_590.44.01_linux/builds
  rm -rf cuda_nsight cuda_sanitizer_api nsight_{compute,systems}
  rm -rvf bin integration NVIDIA*.run
  as_root cp version.json /opt/cuda-13.1.0
  as_root cp EULA.txt     /opt/cuda-13.1.0
  rm version.json EULA.txt
  as_root mkdir -p /opt/cuda-13.1.0/bin
  for lib in *; do
    as_root cp -vR $lib/* /opt/cuda-13.1.0
    rm -rf $lib
  done
  as_root ln -svf lib64 /opt/cuda-13.1.0/lib
  for mf in $(find /opt/cuda-13.1.0 -name Makefile); do
    as_root sed -i "s|/usr/local/cuda|/opt/cuda-13.1.0|g" "$mf"
  done
popd
rm -rf cuda_13.1.0_590.44.01_linux

Avslutt nå underskall prosessen:

exit

Som root bruker, tillat bruk av nye kompilatorer:

sed -e "/.*unsupported GNU version.*/d" \
    -e "/.*unsupported clang version.*/d" \
    -i /opt/cuda-13.1.0/targets/x86_64-linux/include/crt/host_config.h
[Viktig]

Viktig

Dette støttes teknisk sett ikke, og det kan oppstå kompileringsfeil i andre pakker som et resultat. Det er imidlertid et bedre kompromiss enn å installere eldre kompilatorer bare for én pakke. Denne pakken er fortsatt under utvikling, men det tar lang tid å tilpasse seg nyere programvare.

Parameterforklaringer

--target: Denne parameteren angir utpakningsmappen.

--noexec: Denne parameteren sikrer at verktøysettet ikke utløses for installasjon.

Konfigurere CUDA

Sørg for at bibliotekene er mellomlagret som root bruker:

cat > /etc/ld.so.conf.d/cuda.conf << EOF &&
/opt/cuda/lib64
/opt/cuda/nvvm/lib64
/opt/cuda/extras/CUPTI/lib64
EOF

ldconfig

For å kunne bruke verktøysettet må det nå inkluderes i banen.

Som root bruker, opprett profilen (avhengig av Bash skallets oppstartsfiler) for CUDA:

cat > /etc/profile.d/cuda.sh << "EOF"
# Begin /etc/profile.d/cuda.sh

pathprepend /opt/cuda/bin           PATH

# End /etc/profile.d/cuda.sh
EOF

Nå henter du hovedprofilen:

source /etc/profile

Innhold

For en fullstendig pakkeliste, sjekk Arch's CUDA package contents ettersom hele listen er for lang til å listes opp her.