Jak nainstalovat CUDA Toolkit na Debian 12, 11 nebo 10

CUDA od NVIDIA neboli Compute Unified Device Architecture je výkonný nástroj pro paralelní výpočty. Ke zvýšení rychlosti výpočetních úloh využívá grafické procesorové jednotky NVIDIA (GPU). Tato příručka vám ukáže, jak nainstalovat CUDA na Debian 12 Bookworm, Debian 11 Bullseye a Debian 10 Buster. Pro každou verzi Debianu použijeme úložiště APT společnosti NVIDIA, abychom zajistili hladký chod.

Čím vyniká CUDA Toolkit:

  • Paralelní zpracování: CUDA umožňuje vašemu softwaru spouštět mnoho úloh současně na GPU NVIDIA. To je skvělé pro úlohy, které vyžadují velký výpočetní výkon.
  • Podpora mnoha jazyků: CUDA můžete používat s programovacími jazyky jako C, C++ a Fortran. Funguje také s dalšími výpočetními nástroji, jako je OpenCL a DirectCompute.
  • Kompletní vývojové nástroje: NVIDIA poskytuje vývojářům kompletní sadu nástrojů s Nsight Eclipse Edition. Pomáhá při vytváření, ladění a zlepšování aplikací CUDA.
  • Knihovny připravené k použití: CUDA má své knihovny pro úlohy GPU. Příklady zahrnují cuBLAS pro matematické operace a cuFFT pro analýzu dat.
  • Design připravený na budoucnost: CUDA je vyrobena pro práci s novými a připravovanými GPU NVIDIA. To znamená, že váš software se může vylepšit, aniž byste měnili velkou část kódu.

Před instalací CUDA na Debian:

  • Zkontrolujte svůj systém: Ujistěte se, že hardware a software vašeho počítače jsou připraveny pro CUDA. NVIDIA má seznam GPU a systémových potřeb, které můžete zkontrolovat.
  • Použijte správný zdroj: Tato příručka se zaměřuje na úložiště APT společnosti NVIDIA pro Debian. Je to nejlepší způsob, jak získat stabilní a dobře fungující verzi CUDA pro váš systém Debian.
  • Zůstaňte aktuální: Je dobré občas hledat aktualizace. NVIDIA často přináší nové funkce a opravy, aby bylo CUDA lepší.

Abychom tento úvod uzavřeli, pochopení a používání CUDA v Debianu může výrazně zlepšit vaše aplikace. Postupem kupředu se ponoříme hlouběji do procesu instalace a osvědčených postupů, abychom na vašem systému Debian využili co nejvíce ze sady nástrojů NVIDIA CUDA.

Vymazání stávajících instalací CUDA a NVIDIA (situační)

Před instalací ovladačů NVIDIA nebo zvažováním upgradů verzí na Debianu je zásadní začít s čistým štítem. To znamená odstranění všech existujících instalací NVIDIA z vašeho systému Debian. Tento krok zajistí, že se vyhnete potenciálním problémům vyplývajícím z překrývajících se instalací. Pokud s instalací ovladačů NVIDIA začínáte, můžete tuto část přeskočit a přejít k další.

Metoda 1: Odinstalace balíčků NVIDIA nainstalovaných přes APT

Pokud jste dříve používali správce balíčků APT k instalaci ovladačů NVIDIA, můžete pomocí jediného příkazu odebrat všechny balíčky související s NVIDIA. Tato akce účinně odstraní NVIDIA z vašeho systému. Do terminálu zadejte následující příkaz:

sudo apt autoremove cuda* nvidia* --purge

Tento příkaz používá autoremove vlastnost apt příkaz. Odstraňuje balíčky, které byly automaticky nainstalovány, aby byly uspokojeny závislosti jiných balíčků, ale již nejsou potřeba. The nvidia* pattern identifikuje všechny balíčky, které začínají na 'nvidia'. The --purge možnost říká apt odstranit nejen balíčky, ale také jejich přidružené konfigurační soubory.

Metoda 2: Odinstalace ovladačů NVIDIA nainstalovaných přes Runfile

Pokud jste nainstalovali ovladače NVIDIA pomocí a .run (obecně se nedoporučuje kvůli lepším alternativám, jako je úložiště NVIDIA CUDA), je pro jeho odstranění zapotřebí jiný přístup.

Chcete-li odebrat typ instalace runfile, spusťte následující příkaz:

sudo /usr/bin/nvidia-uninstall

Tento příkaz spustí nvidia-uninstall skript, který je součástí instalace runfile. Skript metodicky odebere ovladač NVIDIA, který byl nainstalován pomocí runfile.

Metoda 3: Odinstalace sady CUDA Toolkit nainstalované přes Runfile

Pokud jste nainstalovali sadu nástrojů CUDA pomocí souboru runfile, je také nezbytné tento soubor odstranit. Proces odebrání je podobný jako u ovladačů NVIDIA. Chcete-li odebrat sadu nástrojů CUDA, proveďte následující příkaz:

sudo /usr/local/cuda-X.Y/bin/cuda-uninstall

Ve výše uvedeném příkazu nahradit X.Y s číslem verze vaší nainstalované sady nástrojů CUDA. Tento příkaz spustí cuda-uninstall skript, který je součástí instalace runfile sady nástrojů CUDA. Skript je navržen tak, aby metodicky odstranil sadu nástrojů CUDA z vašeho systému Debian.

Aktivujte Contrib a Non-Free Repository

První krok zahrnuje přidání repozitářů „contrib“ a „non-free“ do vašeho seznamu repozitářů Debianu. Postup se liší od Debian 12 Bookworm, takže použití příkazu, který odpovídá vaší konkrétní verzi distribuce Debianu, je zásadní.

Nejprve a především ověřte, zda jsou na vašem systému Debian nainstalovány následující položky:

sudo apt install software-properties-common -y

Knihomol a dál:

sudo add-apt-repository contrib non-free-firmware

Bullseye a Buster směrem dolů:

sudo add-apt-repository contrib non-free

Než budete pokračovat, ujistěte se, že jste spustili rychlou aktualizaci APT k obnovení indexu balíčků:

sudo apt update

Přidejte úložiště NVIDIA APT na Debian

Nejúčinnější způsob instalace CUDA je přímo z úložiště NVIDIA CUDA. Tento přístup zajišťuje, že uživatelé obdrží včasné aktualizace, včetně nových funkcí, oprav chyb, bezpečnostních záplat a vylepšení.

Příprava systému Debian před instalací CUDA

Než začnete s instalačním procesem, je velmi důležité správně připravit systém Debian. To znamená, že budete muset nainstalovat několik nezbytných balíčků. I když některé z těchto balíčků již ve vašem systému jsou, je rozumné je znovu zkontrolovat. Spusťte ve svém terminálu následující příkaz:

sudo apt install build-essential gcc dirmngr ca-certificates software-properties-common apt-transport-https dkms curl -y

Tento příkaz nainstaluje základní balíčky, které budou klíčové pro následující kroky. Mezi nimi, dirmngr spravuje klíče, ca-certificates zpracovává SSL certifikáty, software-properties-common spravuje softwarová úložiště, apt-transport-https zajišťuje bezpečné stahování balíčků, dkms spravuje moduly jádra a curl usnadňuje stahování souborů z internetu.

Ověření instalace pomocí klíče GPG úložiště NVIDIA

Je důležité zajistit autenticitu a integritu softwarových balíků. Při importu klíče GPG pro vaši konkrétní verzi Debianu ověříte pravost balíčků úložiště. Klíč podepíše balíčky a jejich importem sdělíte systému, aby těmto podepsaným balíčkům důvěřoval.

Knihomoli, běž:

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, běž:

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, použijte:

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

Integrace úložiště NVIDIA do vašeho systému Debian

Pomocí klíče GPG nyní můžete přidat úložiště NVIDIA do svého systému Debian. Toto úložiště obsahuje potřebné balíčky pro instalaci CUDA.

Knihomol, použijte:

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, použijte:

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, použijte:

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

Krok 4: Obnovení seznamu balíčků

Po přidání úložiště NVIDIA je aktualizace seznamu balíčků vašeho systému zásadní. Tím zajistíte, že váš systém rozpozná nové balíčky z úložiště NVIDIA. Chcete-li aktualizovat, spusťte:

sudo apt update

Nainstalujte CUDA s ovladači NVIDIA

Vyhledejte ovladače CUDA

Jakmile budete mít předpoklady, můžete nainstalovat CUDA a nejnovější ovladače NVIDIA. Před pokračováním však doporučujeme zkontrolovat dostupné verze ovladačů pomocí příkazu APT show:

apt show cuda-drivers -a

Tím se zobrazí seznam dostupných balíčků pro různé verze ovladačů NVIDIA.

Případně můžete také potvrdit dostupnou verzi CUDA pomocí příkazu APT Policy:

sudo apt policy cuda

Pokračujte instalací ovladačů Cuda

Tento příkaz zobrazí dostupné verze CUDA. Vyberte verzi, která nejlépe vyhovuje vašim potřebám. Tato příručka ukazuje, jak nainstalovat nejnovější dostupnou verzi.

Nezapomeňte vyměnit 545 s 535,530, 525, 520, 515, atd., na základě vašeho výběru.

sudo apt install nvidia-driver cuda-drivers-545 cuda

Dokončete instalaci a restartujte počítač

Po dokončení instalace restartujte systém, aby se všechny změny projevily:

sudo reboot

Tento krok dokončuje nastavení CUDA na vašem systému Debian a zajišťuje, že můžete efektivně využít jeho schopnosti.

Začínáme s CUDA

Posouzení schopností GPU

Než se pustíte do programování CUDA, je životně důležité porozumět možnostem vašeho GPU. Různé GPU podporují různé verze CUDA, z nichž každá má jedinečné atributy, jako je počet jader, velikost paměti a další. Chcete-li získat podrobné informace o svém GPU, použijte nvidia-smi příkaz:

nvidia-smi

Tento příkaz poskytuje přehled o různých atributech GPU, jako je jeho název, celková paměť a podporovaná verze CUDA.

Vytvoření vašeho prvního programu CUDA

Abychom to nastartovali, vyvineme základní CUDA program, zkompilujeme ho a spustíme, abychom zajistili, že vše funguje správně. Začněte vytvořením nového souboru s .cu rozšíření, které je standardem pro programy CUDA. K tomu můžete použít libovolný textový editor:

nano helloworld.cu

Do souboru vložte následující kód. Tento jednoduchý program zobrazuje "Ahoj, světe!" zpráva z GPU:

#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;
}

Pro kompilaci tohoto programu použijte nvcc příkaz, což je zkratka pro NVIDIA CUDA Compiler:

nvcc helloworld.cu -o helloworld

Nyní spusťte zkompilovaný program:

./helloworld

Výstup by měl zobrazovat následující:

Ahoj světe z CPU! Hello World z GPU!

Pokročilé programování CUDA: Násobení matic

Abychom dále demonstrovali schopnosti CUDA, vyvineme program, který provádí násobení matic pomocí CUDA. To ukáže, jak může CUDA efektivně zvládnout vysoce paralelní úlohy.

Začněte vytvořením nového souboru:

nano matrixmul.cu

Vložte následující kód do matrixmul.cu soubor. Tento program provádí násobení matic na GPU:

__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;
    }
} 

Zkompilujte program pomocí nvcc příkaz:

nvcc matrixmul.cu -o matrixmul

Poté spusťte zkompilovaný program:

./matrixmul

Výstup bude prezentovat výsledek operace násobení matic. Tento příklad ilustruje, jak může CUDA efektivně zpracovávat paralelní úlohy, jako je násobení matic, což nabízí výrazné zvýšení výkonu ve srovnání s tradičním prováděním CPU.

Závěr

V této komplexní příručce jsme pečlivě nainstalovali sadu nástrojů CUDA na Debian 12 Bookworm, Debian 11 Bullseye a Debian 10 Buster. Dodržením nastíněných kroků mohou uživatelé využít výpočetní výkon GPU NVIDIA a otevřít tak říši možností pro vysoce výkonné výpočetní úlohy. Pro zajištění stability a optimálního výkonu je nezbytné zajistit, aby instalace odpovídala konkrétní verzi Debianu. Zůstat aktuální s nejnovějšími verzemi a oficiální dokumentací je zásadní, protože technologie se vyvíjí. Oficiální zdroje a fóra NVIDIA jsou neocenitelné pro ty, kteří chtějí proniknout hlouběji do schopností CUDA nebo řešit konkrétní problémy.

Joshua James
Následuj mě
Nejnovější příspěvky uživatele Joshua James (vidět vše)

Napsat komentář