Az NVIDIA CUDA vagy Compute Unified Device Architecture egy hatékony eszköz a párhuzamos számításokhoz. NVIDIA grafikus feldolgozó egységeket (GPU) használ a számítási feladatok sebességének növelésére. Ez az útmutató megmutatja, hogyan telepítheti a CUDA-t Debian 12 Bookworm, Debian 11 Bullseye és Debian 10 Buster rendszerekre. Minden Debian-verzióhoz az NVIDIA APT tárházát fogjuk használni, hogy minden zökkenőmentesen működjön.
Amitől a CUDA Toolkit kiemelkedik:
- Párhuzamos feldolgozás: A CUDA segítségével szoftvere számos feladatot futtathat egyszerre NVIDIA GPU-kon. Ez nagyszerű olyan munkákhoz, amelyek nagy számítási teljesítményt igényelnek.
- Számos nyelv támogatása: Használhatja a CUDA-t olyan programozási nyelvekkel, mint a C, C++ és Fortran. Más számítástechnikai eszközökkel is működik, mint például az OpenCL és a DirectCompute.
- Komplett fejlesztői eszközök: Az NVIDIA eszközök teljes készletét kínálja a fejlesztőknek az Nsight Eclipse Edition segítségével. Segít a CUDA alkalmazások felépítésében, hibakeresésében és fejlesztésében.
- Használatra kész könyvtárak: A CUDA-nak vannak könyvtárai a GPU-feladatokhoz. Ilyen például a cuBLAS a matematikai műveletekhez és a cuFFT az adatok elemzéséhez.
- Jövőre kész dizájn: A CUDA az új és a közelgő NVIDIA GPU-kkal való együttműködésre készült. Ez azt jelenti, hogy a szoftver a kód nagy részének megváltoztatása nélkül fejlődhet.
Mielőtt telepítené a CUDA-t Debianra:
- Ellenőrizze rendszerét: Győződjön meg arról, hogy számítógépe hardvere és szoftvere készen áll a CUDA használatára. Az NVIDIA rendelkezik egy listával a GPU-król és a rendszerszükségletekről, amelyeket ellenőrizhet.
- Használja a megfelelő forrást: Ez az útmutató az NVIDIA Debianhoz készült APT-tárára összpontosít. Ez a legjobb módja annak, hogy a CUDA stabil és jól működő verzióját szerezze be Debian rendszeréhez.
- Legyen naprakész: Érdemes időnként megkeresni a frissítéseket. Az NVIDIA gyakran kínál új funkciókat és javításokat a CUDA jobbá tétele érdekében.
A bevezetés lezárásaként a CUDA megértése és használata a Debian rendszeren jelentősen fellendítheti alkalmazásait. Ahogy haladunk előre, mélyebbre merülünk a telepítési folyamatban és a bevált gyakorlatokban, hogy a legtöbbet hozhassuk ki az NVIDIA CUDA eszközkészletéből a Debian rendszeren.
Meglévő CUDA és NVIDIA telepítések törlése (helyzettől függően)
Mielőtt telepítené az NVIDIA illesztőprogramokat, vagy fontolóra venné a Debian verziófrissítését, döntő fontosságú, hogy tiszta lappal kezdje. Ez azt jelenti, hogy távolítson el minden meglévő NVIDIA-telepítést a Debian rendszerről. Ez a lépés biztosítja, hogy elkerülje az átfedő telepítésekből adódó esetleges problémákat. Ha még nem ismeri az NVIDIA illesztőprogramok telepítését, kihagyhatja ezt a részt, és továbbléphet a következőre.
1. módszer: Az APT-n keresztül telepített NVIDIA-csomagok eltávolítása
Ha korábban az APT csomagkezelőt használta az NVIDIA illesztőprogramok telepítéséhez, egyetlen paranccsal eltávolíthatja az összes NVIDIA-val kapcsolatos csomagot. Ez a művelet hatékonyan eltávolítja az NVIDIA-t a rendszerről. Írja be a következő parancsot a termináljába:
sudo apt autoremove cuda* nvidia* --purge
Ez a parancs a autoremove
jellemzője a apt
parancs. Eltávolítja azokat a csomagokat, amelyeket automatikusan telepítettek, hogy kielégítsék a többi csomag függőségét, de már nincs rájuk szükség. A nvidia*
minta azonosítja az összes olyan csomagot, amely „nvidia”-val kezdődik. A --purge
opció elmondja apt
hogy ne csak a csomagokat távolítsa el, hanem a hozzájuk tartozó konfigurációs fájlokat is.
2. módszer: A Runfile-on keresztül telepített NVIDIA illesztőprogramok eltávolítása
Ha az NVIDIA illesztőprogramokat a .run
fájl (általában nem ajánlott a jobb alternatívák, például az NVIDIA CUDA tárolója miatt), más megközelítésre van szükség az eltávolításához.
A futtatófájl típusú telepítés eltávolításához hajtsa végre a következő parancsot:
sudo /usr/bin/nvidia-uninstall
Ez a parancs futtatja a nvidia-uninstall
script, amely a runfile telepítéséhez tartozik. A szkript módszeresen eltávolítja a futtatófájl segítségével telepített NVIDIA illesztőprogramot.
3. módszer: A Runfile-on keresztül telepített CUDA Toolkit eltávolítása
Ha futtatófájl használatával telepítette a CUDA-eszközkészletet, akkor ezt is eltávolítani kell. Az eltávolítási folyamat hasonló az NVIDIA illesztőprogramokéhoz. A CUDA eszközkészlet eltávolításához hajtsa végre a következő parancsot:
sudo /usr/local/cuda-X.Y/bin/cuda-uninstall
A fenti parancsban cserélje ki X.Y
a telepített CUDA eszközkészlet verziószámával. Ez a parancs futtatja a cuda-uninstall
script, amely a CUDA eszközkészlet futtatófájl-telepítésében található. A szkriptet úgy tervezték, hogy módszeresen eltávolítsa a CUDA eszközkészletet a Debian rendszerről.
Aktiválja a Contrib és a Non-Free Repository-t
A kezdeti lépés a „contrib” és a „non-free” lerakat hozzáadása a Debian-lerakatok listájához. Az eljárás a Debian 12 Bookworm verziótól kezdődően változik, ezért kulcsfontosságú a Debian disztribúció konkrét verziójának megfelelő parancs használata.
Mindenekelőtt ellenőrizze, hogy a következők telepítve vannak-e a Debian rendszeren:
sudo apt install software-properties-common -y
Könyvmoly és tovább:
sudo add-apt-repository contrib non-free-firmware
Bullseye és Buster lefelé:
sudo add-apt-repository contrib non-free
Mielőtt folytatná, futtasson egy gyors APT frissítést a csomagindex frissítéséhez:
sudo apt update
Adja hozzá az NVIDIA APT Repository-t a Debianhoz
A CUDA telepítésének leghatékonyabb módja közvetlenül az NVIDIA CUDA tárolóból. Ez a megközelítés biztosítja, hogy a felhasználók időben megkapják a frissítéseket, beleértve az új funkciókat, hibajavításokat, biztonsági javításokat és fejlesztéseket.
A Debian rendszer előkészítése a CUDA telepítése előtt
A telepítés megkezdése előtt döntő fontosságú a Debian rendszer megfelelő előkészítése. Ez azt jelenti, hogy több előfeltétel csomagot kell telepítenie. Még ha ezek közül a csomagok közül néhány már megtalálható a rendszerén, érdemes még egyszer ellenőrizni. Hajtsa végre a következő parancsot a terminálon:
sudo apt install build-essential gcc dirmngr ca-certificates software-properties-common apt-transport-https dkms curl -y
Ez a parancs olyan alapvető csomagokat telepít, amelyek kulcsfontosságúak lesznek a további lépésekhez. Köztük, dirmngr
kezeli a kulcsokat, ca-certificates
kezeli az SSL tanúsítványokat, software-properties-common
szoftvertárakat kezel, apt-transport-https
biztosítja a biztonságos csomagletöltést, dkms
kezeli a kernel modulokat, és curl
megkönnyíti a fájlok letöltését az internetről.
A telepítés hitelesítése az NVIDIA Repository GPG kulccsal
Kulcsfontosságú a szoftvercsomagok hitelességének és integritásának biztosítása. Amikor importálja a GPG kulcsot az adott Debian-verzióhoz, ellenőrizze a lerakatcsomagok hitelességét. A kulcs aláírja a csomagokat, és importálásával jelzi a rendszernek, hogy bízzon ezekben az aláírt csomagokban.
Könyvmoly, fuss:
curl -fSsL https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/3bf863cc.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nvidia-drivers.gpg > /dev/null 2>&1
Bullseye, futás:
curl -fSsL https://developer.download.nvidia.com/compute/cuda/repos/debian11/x86_64/3bf863cc.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nvidia-drivers.gpg > /dev/null 2>&1
Buster, használd:
curl -fSsL https://developer.download.nvidia.com/compute/cuda/repos/debian10/x86_64/3bf863cc.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nvidia-drivers.gpg > /dev/null 2>&1
Az NVIDIA Repository integrálása a Debian rendszerbe
A GPG kulccsal most hozzáadhatja az NVIDIA tárolót Debian rendszeréhez. Ez a tároló tartalmazza a CUDA telepítéséhez szükséges csomagokat.
Könyvmoly, használd:
echo 'deb [signed-by=/usr/share/keyrings/nvidia-drivers.gpg] https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/ /' | sudo tee /etc/apt/sources.list.d/nvidia-drivers.list
Bullseye, használja:
echo 'deb [signed-by=/usr/share/keyrings/nvidia-drivers.gpg] https://developer.download.nvidia.com/compute/cuda/repos/debian11/x86_64/ /' | sudo tee /etc/apt/sources.list.d/nvidia-drivers.list
Buster, használd:
echo 'deb [signed-by=/usr/share/keyrings/nvidia-drivers.gpg] https://developer.download.nvidia.com/compute/cuda/repos/debian10/x86_64/ /' | sudo tee /etc/apt/sources.list.d/nvidia-drivers.list
4. lépés: A csomaglista frissítése
Az NVIDIA-tároló hozzáadása után létfontosságú a rendszer csomaglistájának frissítése. Ez biztosítja, hogy a rendszer felismerje az új csomagokat az NVIDIA tárolóból. A frissítéshez futtassa:
sudo apt update
Telepítse a CUDA-t NVIDIA illesztőprogramokkal
CUDA illesztőprogramok keresése
Telepítheti a CUDA-t és a legújabb NVIDIA illesztőprogramokat, ha megvannak az előfeltételek. Javasoljuk azonban, hogy a folytatás előtt ellenőrizze az elérhető illesztőprogram-verziókat az APT show paranccsal:
apt show cuda-drivers -a
Ez megjeleníti a különböző NVIDIA illesztőprogram-verziókhoz elérhető csomagok listáját.
Alternatív megoldásként megerősítheti az elérhető CUDA verziót az APT Policy paranccsal is:
sudo apt policy cuda
Folytassa a Cuda illesztőprogramok telepítésével
Ez a parancs megjeleníti az elérhető CUDA verziókat. Válassza ki az igényeinek leginkább megfelelő verziót. Ez az útmutató bemutatja, hogyan kell telepíteni a legújabb elérhető verziót.
Ne felejtse el cserélni 545
-vel 535,530
, 525
, 520
, 515
stb., választása alapján.
sudo apt install nvidia-driver cuda-drivers-545 cuda
Fejezze be a telepítést és indítsa újra
A telepítés befejezése után indítsa újra a rendszert, hogy minden változtatás érvénybe lépjen:
sudo reboot
Ez a lépés véglegesíti a CUDA beállítását a Debian rendszeren, így biztosítva, hogy hatékonyan tudja kihasználni a képességeit.
A CUDA használatának első lépései
GPU képességek felmérése
Mielőtt belemerülne a CUDA programozásba, létfontosságú, hogy megértse a GPU képességeit. A különböző GPU-k különböző CUDA-verziókat támogatnak, amelyek mindegyike egyedi attribútumokkal rendelkezik, mint például a magok száma, a memória mérete és egyebek. Ha részletes információkat szeretne kapni a GPU-járól, használja a nvidia-smi
parancs:
nvidia-smi
Ez a parancs betekintést nyújt a különböző GPU-attribútumokba, például a nevébe, a teljes memóriába és a támogatott CUDA-verzióba.
Az első CUDA program létrehozása
A dolgok elindításához kifejlesztünk egy alap CUDA programot, lefordítjuk, majd végrehajtjuk, hogy minden megfelelően működjön. Kezdje új fájl létrehozásával a .cu
kiterjesztés, amely szabvány a CUDA programok számára. Ehhez bármilyen szövegszerkesztőt használhat:
nano helloworld.cu
Illessze be a következő kódot a fájlba. Ez az egyszerű program a „Hello, World!” üzenetet jeleníti meg. üzenet a GPU-tól:
#include <stdio.h>
__global__ void helloFromGPU (void) {
printf("Hello World from GPU!\n");
}
int main(void) {
printf("Hello World from CPU!\n");
helloFromGPU <<<1, 10>>>();
cudaDeviceReset();
return 0;
}
A program lefordításához használja a nvcc
parancs, ami az NVIDIA CUDA Compiler rövidítése:
nvcc helloworld.cu -o helloworld
Most futtassa a lefordított programot:
./helloworld
A kimenetnek a következőnek kell lennie:
Hello World a CPU-tól! Hello World a GPU-tól!
Fejlett CUDA programozás: Mátrixszorzás
A CUDA képességeinek további bemutatása érdekében dolgozzunk ki egy programot, amely mátrixszorzást végez a CUDA segítségével. Ez bemutatja, hogy a CUDA hogyan képes hatékonyan kezelni a párhuzamos feladatokat.
Kezdje egy új fájl létrehozásával:
nano matrixmul.cu
Illessze be a következő kódot a matrixmul.cu
fájlt. Ez a program mátrixszorzást hajt végre a GPU-n:
__global__ void gpu_matrix_mult(int *a,int *b, int *c, int m, int n, int k)
{
// Calculate the row & column index of the element
int row = blockIdx.y * blockDim.y + threadIdx.y;
int col = blockIdx.x * blockDim.x + threadIdx.x;
int sum = 0;
if( row < m && col < k )
{
for(int j = 0; j < n; j++)
{
sum += a[row * n + j] * b[j * k + col];
}
// Each thread computes one element of the block sub-matrix
c[row * k + col] = sum;
}
}
Fordítsa le a programot a nvcc
parancs:
nvcc matrixmul.cu -o matrixmul
Ezután futtassa a lefordított programot:
./matrixmul
A kimenet a mátrixszorzási művelet eredményét mutatja be. Ez a példa azt szemlélteti, hogy a CUDA hogyan képes hatékonyan kezelni a párhuzamos feladatokat, például a mátrixszorzást, ami jelentős teljesítménynövekedést kínál a hagyományos CPU-végrehajtáshoz képest.
Következtetés
Ebben az átfogó útmutatóban aprólékosan telepítettük a CUDA Toolkit Debian 12 Bookworm, Debian 11 Bullseye és Debian 10 Buster rendszerekre. A vázolt lépések követésével a felhasználók kihasználhatják az NVIDIA GPU-k számítási teljesítményét, és a lehetőségek tárházát tárják fel a nagy teljesítményű számítási feladatokhoz. Annak biztosítása, hogy a telepítés igazodjon az adott Debian-verzióhoz, elengedhetetlen a stabilitás és az optimális teljesítmény garantálásához. A technológia fejlődésével döntő fontosságú, hogy naprakész maradjon a legújabb kiadásokkal és hivatalos dokumentációval. A hivatalos NVIDIA-források és fórumok felbecsülhetetlen értékűek azok számára, akik mélyebbre szeretnének ásni a CUDA képességeit, vagy konkrét problémákat szeretnének elhárítani.