Hur man installerar CUDA Toolkit på Debian 12, 11 eller 10

NVIDIAs CUDA, eller Compute Unified Device Architecture, är ett kraftfullt verktyg för parallell beräkning. Den använder NVIDIA-grafikprocessorer (GPU) för att öka hastigheten på datoruppgifter. Den här guiden kommer att visa dig hur du installerar CUDA på Debian 12 Bookworm, Debian 11 Bullseye och Debian 10 Buster. Vi kommer att använda NVIDIAs APT-förråd för varje Debian-version för att säkerställa att allt fungerar smidigt.

Vad får CUDA Toolkit att sticka ut:

  • Parallell bearbetning: CUDA låter din programvara köra många uppgifter samtidigt på NVIDIA GPU:er. Detta är bra för jobb som kräver mycket datorkraft.
  • Stöd för många språk: Du kan använda CUDA med programmeringsspråk som C, C++ och Fortran. Det fungerar också med andra datorverktyg som OpenCL och DirectCompute.
  • Kompletta utvecklingsverktyg: NVIDIA ger utvecklare en komplett uppsättning verktyg med Nsight Eclipse Edition. Det hjälper till att bygga, felsöka och förbättra CUDA-applikationer.
  • Färdiga bibliotek: CUDA har sina bibliotek för GPU-uppgifter. Exempel inkluderar cuBLAS för matematiska operationer och cuFFT för dataanalys.
  • Framtidsklar design: CUDA är gjord för att fungera med nya och kommande NVIDIA GPU:er. Detta innebär att din programvara kan förbättras utan att ändra mycket av din kod.

Innan du installerar CUDA på Debian:

  • Kontrollera ditt system: Se till att din dators hårdvara och mjukvara är redo för CUDA. NVIDIA har en lista över GPU:er och systembehov som du kan kontrollera.
  • Använd rätt källa: Den här guiden fokuserar på NVIDIAs APT-förråd för Debian. Det är det bästa sättet att få en stabil och välfungerande version av CUDA för ditt Debiansystem.
  • Håll dig uppdaterad: Det är en bra idé att leta efter uppdateringar då och då. NVIDIA tar ofta fram nya funktioner och fixar för att göra CUDA bättre.

För att avsluta denna introduktion, förståelse och användning av CUDA på Debian kan avsevärt öka dina applikationer. När vi går framåt kommer vi att dyka djupare in i installationsprocessen och bästa praxis för att få ut det mesta av NVIDIAs CUDA-verktygssats på ditt Debiansystem.

Rensa befintliga CUDA- och NVIDIA-installationer (situationsbestämd)

Innan du installerar NVIDIA-drivrutiner eller överväger versionsuppgraderingar på Debian är det avgörande att börja med ett rent blad. Detta innebär att du tar bort alla befintliga NVIDIA-installationer från ditt Debiansystem. Detta steg säkerställer att du undviker potentiella problem som uppstår från överlappande installationer. Om du är ny med NVIDIA-drivrutinsinstallationer kan du hoppa över det här avsnittet och gå vidare till nästa.

Metod 1: Avinstallera NVIDIA-paket installerade via APT

Om du tidigare har använt APT-pakethanteraren för att installera NVIDIA-drivrutiner kan du använda ett enda kommando för att ta bort alla NVIDIA-relaterade paket. Denna åtgärd tar effektivt bort NVIDIA från ditt system. Ange följande kommando i din terminal:

sudo apt autoremove cuda* nvidia* --purge

Detta kommando använder autoremove inslag i apt kommando. Den tar bort paket som installerades automatiskt för att tillfredsställa beroenden för andra paket men som inte längre behövs. De nvidia* mönster identifierar alla paket som börjar med 'nvidia'. De --purge alternativet berättar apt för att ta bort inte bara paketen utan även deras tillhörande konfigurationsfiler.

Metod 2: Avinstallera NVIDIA-drivrutiner installerade via Runfile

Om du har installerat NVIDIA-drivrutiner med en .run fil (rekommenderas vanligtvis inte på grund av bättre alternativ som NVIDIA CUDA-förvaret), behövs ett annat tillvägagångssätt för att ta bort det.

För att ta bort runfiltypen för installation, kör följande kommando:

sudo /usr/bin/nvidia-uninstall

Detta kommando kör nvidia-uninstall skript som följer med runfilinstallationen. Skriptet tar metodiskt bort NVIDIA-drivrutinen som installerades med runfilen.

Metod 3: Avinstallera CUDA Toolkit installerad via Runfile

Om du har installerat CUDA-verktygslådan med en runfil är det också viktigt att ta bort detta. Borttagningsprocessen liknar den för NVIDIA-drivrutinerna. För att ta bort CUDA-verktygslådan, kör följande kommando:

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

I kommandot ovan, ersätt X.Y med versionsnumret för din installerade CUDA-verktygssats. Detta kommando kör cuda-uninstall skript, som ingår i runfilinstallationen av CUDA-verktygslådan. Skriptet är utformat för att metodiskt ta bort CUDA-verktygslådan från ditt Debiansystem.

Aktivera Contrib och Non-Free Repositories

Det första steget innebär att lägga till "contrib"- och "icke-gratis"-förråden till din lista över Debian-förråd. Proceduren varierar från Debian 12 Bookworm, så att använda kommandot som motsvarar din specifika version av Debiandistributionen är avgörande.

Först och främst, verifiera att följande är installerade på ditt Debiansystem:

sudo apt install software-properties-common -y

Bokmask och framåt:

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

Bullseye och Buster nedåt:

sudo add-apt-repository contrib non-free

Innan du fortsätter, se till att du kör en snabb APT-uppdatering för att uppdatera ditt paketindex:

sudo apt update

Lägg till NVIDIA APT Repository på Debian

Den mest effektiva metoden för CUDA-installation är direkt från NVIDIA CUDA-förvaret. Detta tillvägagångssätt säkerställer att användare får aktuella uppdateringar, inklusive nya funktioner, buggfixar, säkerhetskorrigeringar och förbättringar.

Förbereder Debian-systemet före CUDA-installation

Innan du startar installationsprocessen är det avgörande att förbereda ditt Debiansystem ordentligt. Det betyder att du måste installera flera förutsättningspaket. Även om några av dessa paket redan finns på ditt system, är det klokt att dubbelkolla. Kör följande kommando i din terminal:

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

Detta kommando installerar viktiga paket som kommer att vara avgörande för efterföljande steg. Bland dem, dirmngr hanterar nycklar, ca-certificates hanterar SSL-certifikat, software-properties-common hanterar programvaruförråd, apt-transport-https säkerställer säkra paketnedladdningar, dkms hanterar kärnmoduler och curl underlättar nedladdning av filer från internet.

Autentiserar installation med NVIDIA Repository GPG Key

Det är avgörande att säkerställa äktheten och integriteten hos programvarupaket. När du importerar GPG-nyckeln för din specifika Debian-version verifierar du äktheten av förvarspaketen. Nyckeln signerar paketen och genom att importera dem säger du till ditt system att lita på dessa signerade paket.

Bokmask, kör:

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, kör:

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, använd:

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

Integrera NVIDIA-förvaret i ditt Debian-system

Med GPG-nyckeln kan du nu lägga till NVIDIA-förvaret till ditt Debian-system. Detta förråd innehåller de nödvändiga paketen för CUDA-installation.

Bokmask, använd:

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, använd:

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, använd:

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

Steg 4: Uppdatera paketlistan

När du har lagt till NVIDIA-förvaret är det viktigt att uppdatera systemets paketlista. Detta säkerställer att ditt system känner igen de nya paketen från NVIDIA-förvaret. För att uppdatera, kör:

sudo apt update

Installera CUDA med NVIDIA-drivrutiner

Sök efter CUDA Drivers

Du kan installera CUDA och de senaste NVIDIA-drivrutinerna när du har förutsättningarna. Vi rekommenderar dock att du kontrollerar de tillgängliga drivrutinsversionerna med APT show-kommandot innan du fortsätter:

apt show cuda-drivers -a

Detta kommer att mata ut en lista över tillgängliga paket för olika NVIDIA-drivrutinsversioner.

Alternativt kan du också bekräfta den tillgängliga CUDA-versionen med kommandot APT Policy:

sudo apt policy cuda

Fortsätt med att installera Cuda-drivrutiner

Detta kommando visar tillgängliga CUDA-versioner. Välj den version som bäst passar dina behov. Den här guiden visar hur du installerar den senaste tillgängliga versionen.

Kom ihåg att byta ut 545 med 535,530, 525, 520, 515, etc., baserat på ditt val.

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

Slutför installationen och starta om

När installationen är klar, starta om ditt system för att säkerställa att alla ändringar träder i kraft:

sudo reboot

Det här steget slutför CUDA-installationen på ditt Debiansystem, vilket säkerställer att du effektivt kan utnyttja dess kapacitet.

Komma igång med CUDA

Bedöma GPU-kapacitet

Innan du dyker in i CUDA-programmering är det viktigt att förstå din GPU:s kapacitet. Olika GPU:er stöder olika CUDA-versioner, var och en med unika attribut som antalet kärnor, minnesstorlekar och mer. För att få detaljerad information om din GPU, använd nvidia-smi kommando:

nvidia-smi

Detta kommando ger insikter i olika GPU-attribut, såsom dess namn, totala minne och CUDA-version som stöds.

Skapa ditt första CUDA-program

För att komma igång kommer vi att utveckla ett grundläggande CUDA-program, kompilera det och köra det för att säkerställa att allt fungerar korrekt. Börja med att skapa en ny fil med .cu förlängning, som är standard för CUDA-program. Du kan använda vilken textredigerare som helst för detta:

nano helloworld.cu

Infoga följande kod i filen. Detta enkla program visar ett "Hej, värld!" meddelande från GPU:n:

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

För att kompilera detta program, använd nvcc kommando, som står för NVIDIA CUDA Compiler:

nvcc helloworld.cu -o helloworld

Kör nu det kompilerade programmet:

./helloworld

Utgången ska visa följande:

Hej världen från CPU! Hello World från GPU!

Avancerad CUDA-programmering: Matrixmultiplikation

För att ytterligare demonstrera CUDAs kapacitet, låt oss utveckla ett program som utför matrismultiplikation med CUDA. Detta kommer att visa upp hur CUDA effektivt kan hantera mycket parallella uppgifter.

Börja med att skapa en ny fil:

nano matrixmul.cu

Infoga följande kod i matrixmul.cu fil. Detta program genomför matrismultiplikation på 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;
    }
} 

Kompilera programmet med hjälp av nvcc kommando:

nvcc matrixmul.cu -o matrixmul

Kör sedan det kompilerade programmet:

./matrixmul

Utdata kommer att presentera resultatet av matrismultiplikationsoperationen. Det här exemplet illustrerar hur CUDA effektivt kan hantera parallella uppgifter som matrismultiplikation, vilket ger en betydande prestandaökning jämfört med traditionell CPU-körning.

Slutsats

I den här omfattande guiden har vi noggrant installerat CUDA Toolkit på Debian 12 Bookworm, Debian 11 Bullseye och Debian 10 Buster. Genom att följa de skisserade stegen kan användare utnyttja beräkningskraften hos NVIDIA GPU: er och låsa upp en mängd möjligheter för högpresterande datoruppgifter. Att säkerställa att installationen är i linje med den specifika Debian-versionen är viktigt för att garantera stabilitet och optimal prestanda. Att hålla sig uppdaterad med de senaste utgåvorna och officiell dokumentation är avgörande när tekniken utvecklas. De officiella NVIDIA-resurserna och forumen är ovärderliga för dem som vill fördjupa sig i CUDA:s möjligheter eller felsöka specifika problem.

Joshua James
Följ mig
Senaste inläggen av Joshua James (se alla)

Lämna en kommentar