A CUDA Toolkit telepítése Debian 12, 11 vagy 10 rendszeren

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, 515stb., 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.

Joshua James

Szólj hozzá!