Jak zainstalować zestaw narzędzi CUDA w Debianie 12, 11 lub 10

CUDA firmy NVIDIA, czyli Compute Unified Device Architecture, to potężne narzędzie do obliczeń równoległych. Wykorzystuje procesory graficzne NVIDIA (GPU) w celu zwiększenia szybkości zadań obliczeniowych. Ten przewodnik pokaże Ci, jak zainstalować CUDA na Debianie 12 Bookworm, Debianie 11 Bullseye i Debianie 10 Buster. Będziemy używać repozytorium APT firmy NVIDIA dla każdej wersji Debiana, aby mieć pewność, że wszystko działa płynnie.

Co wyróżnia zestaw narzędzi CUDA:

  • Przetwarzanie równoległe: CUDA umożliwia oprogramowaniu wykonywanie wielu zadań jednocześnie na procesorach graficznych NVIDIA. Jest to idealne rozwiązanie do zadań wymagających dużej mocy obliczeniowej.
  • Wsparcie dla wielu języków: Możesz używać CUDA z językami programowania, takimi jak C, C++ i Fortran. Współpracuje także z innymi narzędziami komputerowymi, takimi jak OpenCL i DirectCompute.
  • Kompletne narzędzia programistyczne: NVIDIA udostępnia programistom pełny zestaw narzędzi w ramach Nsight Eclipse Edition. Pomaga w budowaniu, debugowaniu i ulepszaniu aplikacji CUDA.
  • Gotowe do użycia biblioteki: CUDA ma swoje biblioteki do zadań GPU. Przykłady obejmują cuBLAS do operacji matematycznych i cuFFT do analizy danych.
  • Projekt gotowy na przyszłość: CUDA jest przystosowana do współpracy z nowymi i nadchodzącymi procesorami graficznymi NVIDIA. Oznacza to, że Twoje oprogramowanie może zostać ulepszone bez zmiany dużej części kodu.

Przed instalacją CUDA na Debianie:

  • Sprawdź swój system: Upewnij się, że sprzęt i oprogramowanie komputera są gotowe na obsługę CUDA. NVIDIA ma listę procesorów graficznych i potrzeb systemowych, które możesz sprawdzić.
  • Skorzystaj z odpowiedniego źródła: Ten przewodnik koncentruje się na repozytorium APT firmy NVIDIA dla Debiana. To najlepszy sposób na uzyskanie stabilnej i dobrze działającej wersji CUDA dla Twojego systemu Debian.
  • Być na bieżąco: Warto od czasu do czasu poszukać aktualizacji. NVIDIA często wprowadza nowe funkcje i poprawki, aby ulepszyć CUDA.

Podsumowując to wprowadzenie, zrozumienie i używanie CUDA w Debianie może znacząco ulepszyć Twoje aplikacje. W miarę postępów zagłębimy się w proces instalacji i najlepsze praktyki, aby w pełni wykorzystać zestaw narzędzi CUDA firmy NVIDIA w systemie Debian.

Czyszczenie istniejących instalacji CUDA i NVIDIA (sytuacyjne)

Przed zainstalowaniem sterowników NVIDIA lub rozważeniem aktualizacji wersji w Debianie kluczowe znaczenie ma rozpoczęcie od czystej karty. Oznacza to usunięcie wszelkich istniejących instalacji NVIDIA z systemu Debian. Ten krok pozwala uniknąć potencjalnych problemów wynikających z nakładających się instalacji. Jeśli dopiero zaczynasz instalować sterowniki NVIDIA, możesz pominąć tę sekcję i przejść do następnej.

Metoda 1: Odinstalowanie pakietów NVIDIA zainstalowanych przez APT

Jeśli wcześniej korzystałeś z menedżera pakietów APT do instalowania sterowników NVIDIA, możesz użyć jednego polecenia, aby usunąć wszystkie pakiety związane z NVIDIA. Ta czynność skutecznie usunie NVIDIA z twojego systemu. Wpisz następujące polecenie w terminalu:

sudo apt autoremove cuda* nvidia* --purge

To polecenie używa autoremove cecha apt Komenda. Usuwa pakiety, które zostały automatycznie zainstalowane w celu spełnienia zależności dla innych pakietów, ale nie są już potrzebne. The nvidia* wzór identyfikuje wszystkie pakiety zaczynające się od „nvidia”. The --purge opcja mówi apt aby usunąć nie tylko pakiety, ale także powiązane z nimi pliki konfiguracyjne.

Metoda 2: Odinstalowanie sterowników NVIDIA zainstalowanych poprzez plik Runfile

Jeśli zainstalowałeś sterowniki NVIDIA przy użyciu pliku .run (generalnie nie jest to zalecane ze względu na lepsze alternatywy, takie jak repozytorium NVIDIA CUDA), do jego usunięcia potrzebne jest inne podejście.

Aby usunąć typ instalacji typu runfile, wykonaj następującą komendę:

sudo /usr/bin/nvidia-uninstall

To polecenie uruchamia nvidia-uninstall skrypt dostarczany wraz z instalacją pliku runfile. Skrypt metodycznie usuwa sterownik NVIDIA, który został zainstalowany przy użyciu pliku uruchomieniowego.

Metoda 3: Odinstalowanie zestawu narzędzi CUDA instalowanego poprzez plik Runfile

Jeśli zainstalowałeś zestaw narzędzi CUDA przy użyciu pliku uruchomieniowego, konieczne jest również jego usunięcie. Proces usuwania jest podobny do procesu usuwania sterowników NVIDIA. Aby usunąć zestaw narzędzi CUDA, wykonaj następujące polecenie:

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

W powyższym poleceniu zamień X.Y z numerem wersji zainstalowanego zestawu narzędzi CUDA. To polecenie uruchamia cuda-uninstall skrypt, który jest zawarty w pliku instalacyjnym zestawu narzędzi CUDA. Skrypt ma na celu metodyczne usuwanie zestawu narzędzi CUDA z systemu Debian.

Aktywuj repozytoria Contrib i niewolne

Początkowy krok polega na dodaniu repozytoriów „contrib” i „non-free” do listy repozytoriów Debiana. Procedura różni się, począwszy od Debian 12 Bookworm, dlatego kluczowe znaczenie ma użycie polecenia odpowiadającego konkretnej wersji dystrybucji Debiana.

Przede wszystkim sprawdź, czy w systemie Debian są zainstalowane następujące elementy:

sudo apt install software-properties-common -y

Mól książkowy i nie tylko:

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

Bullseye i Buster w dół:

sudo add-apt-repository contrib non-free

Zanim będziesz kontynuować, wykonaj szybką aktualizację APT, aby odświeżyć indeks pakietów:

sudo apt update

Dodaj repozytorium NVIDIA APT w Debianie

Najbardziej wydajną metodą instalacji CUDA jest instalacja bezpośrednio z repozytorium NVIDIA CUDA. Takie podejście gwarantuje, że użytkownicy otrzymają aktualne aktualizacje, w tym nowe funkcje, poprawki błędów, poprawki zabezpieczeń i ulepszenia.

Przygotowanie systemu Debian przed instalacją CUDA

Zanim rozpoczniesz proces instalacji, kluczowe znaczenie ma odpowiednie przygotowanie systemu Debian. Oznacza to, że będziesz musiał zainstalować kilka wstępnie wymaganych pakietów. Nawet jeśli niektóre z tych pakietów są już w Twoim systemie, warto to jeszcze raz sprawdzić. Wykonaj następujące polecenie w swoim terminalu:

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

To polecenie instaluje niezbędne pakiety, które będą kluczowe w kolejnych krokach. Pomiędzy nimi, dirmngr zarządza kluczami, ca-certificates obsługuje certyfikaty SSL, software-properties-common zarządza repozytoriami oprogramowania, apt-transport-https zapewnia bezpieczne pobieranie pakietów, dkms zarządza modułami jądra i curl ułatwia pobieranie plików z Internetu.

Uwierzytelnianie instalacji za pomocą klucza GPG repozytorium NVIDIA

Zapewnienie autentyczności i integralności pakietów oprogramowania ma kluczowe znaczenie. Importując klucz GPG dla konkretnej wersji Debiana, weryfikujesz autentyczność pakietów repozytorium. Klucz podpisuje pakiety, a importując je, mówisz systemowi, aby ufał tym podpisanym pakietom.

Mól książkowy, biegnij:

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, biegnij:

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, użyj:

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

Integracja repozytorium NVIDIA z systemem Debian

Za pomocą klucza GPG możesz teraz dodać repozytorium NVIDIA do swojego systemu Debian. To repozytorium zawiera pakiety niezbędne do instalacji CUDA.

Mól książkowy, użyj:

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, użyj:

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, użyj:

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: Odświeżanie listy pakietów

Po dodaniu repozytorium NVIDIA niezbędna jest aktualizacja listy pakietów systemu. Dzięki temu Twój system rozpozna nowe pakiety z repozytorium NVIDIA. Aby zaktualizować, uruchom:

sudo apt update

Zainstaluj CUDA ze sterownikami NVIDIA

Wyszukaj sterowniki CUDA

Po spełnieniu wymagań wstępnych możesz zainstalować CUDA i najnowsze sterowniki NVIDIA. Zalecamy jednak sprawdzenie dostępnych wersji sterowników za pomocą polecenia APT show przed kontynuowaniem:

apt show cuda-drivers -a

Spowoduje to wyświetlenie listy dostępnych pakietów dla różnych wersji sterowników NVIDIA.

Alternatywnie możesz także sprawdzić dostępność wersji CUDA za pomocą polecenia APT Policy:

sudo apt policy cuda

Kontynuuj instalację sterowników Cuda

To polecenie wyświetli dostępne wersje CUDA. Wybierz wersję, która najlepiej odpowiada Twoim potrzebom. W tym przewodniku zademonstrujemy, jak zainstalować najnowszą dostępną wersję.

Pamiętaj o wymianie 545 z 535,530, 525, 520, 515itp., w zależności od Twojego wyboru.

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

Dokończ instalację i uruchom ponownie

Po zakończeniu instalacji uruchom ponownie system, aby upewnić się, że wszystkie zmiany odniosły skutek:

sudo reboot

Ten krok kończy konfigurację CUDA w systemie Debian, zapewniając efektywne wykorzystanie jego możliwości.

Pierwsze kroki z CUDA

Ocena możliwości procesora graficznego

Przed zanurzeniem się w programowaniu w CUDA niezbędne jest zrozumienie możliwości procesora graficznego. Różne procesory graficzne obsługują różne wersje CUDA, każda z unikalnymi atrybutami, takimi jak liczba rdzeni, rozmiar pamięci i inne. Aby uzyskać szczegółowe informacje na temat procesora graficznego, użyj pliku nvidia-smi Komenda:

nvidia-smi

To polecenie zapewnia wgląd w różne atrybuty procesora graficznego, takie jak jego nazwa, całkowita pamięć i obsługiwana wersja CUDA.

Tworzenie pierwszego programu CUDA

Na początek opracujemy podstawowy program CUDA, skompilujemy go i uruchomimy, aby mieć pewność, że wszystko działa poprawnie. Zacznij od utworzenia nowego pliku z rozszerzeniem .cu rozszerzenie, które jest standardem dla programów CUDA. Możesz do tego użyć dowolnego edytora tekstu:

nano helloworld.cu

Wstaw następujący kod do pliku. Ten prosty program wyświetla komunikat „Hello, World!” komunikat 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;
}

Aby skompilować ten program, użyj nvcc polecenie, które oznacza kompilator NVIDIA CUDA:

nvcc helloworld.cu -o helloworld

Teraz uruchom skompilowany program:

./helloworld

Dane wyjściowe powinny wyświetlić następujące informacje:

Witaj świecie z procesora! Witaj świecie od GPU!

Zaawansowane programowanie CUDA: Mnożenie macierzy

Aby jeszcze bardziej zademonstrować możliwości CUDA, opracujmy program wykonujący mnożenie macierzy przy użyciu CUDA. To pokaże, jak CUDA może skutecznie obsługiwać wysoce równoległe zadania.

Zacznij od utworzenia nowego pliku:

nano matrixmul.cu

Wstaw następujący kod do pliku matrixmul.cu plik. Ten program przeprowadza mnożenie macierzy 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;
    }
} 

Skompiluj program za pomocą pliku nvcc Komenda:

nvcc matrixmul.cu -o matrixmul

Następnie wykonaj skompilowany program:

./matrixmul

Na wyjściu zostanie wyświetlony wynik operacji mnożenia macierzy. Ten przykład ilustruje, jak CUDA może efektywnie obsługiwać zadania równoległe, takie jak mnożenie macierzy, oferując znaczny wzrost wydajności w porównaniu z tradycyjnym wykonaniem procesora.

Wniosek

W tym obszernym przewodniku skrupulatnie zainstalowaliśmy zestaw narzędzi CUDA w systemach Debian 12 Bookworm, Debian 11 Bullseye i Debian 10 Buster. Postępując zgodnie z przedstawionymi krokami, użytkownicy mogą wykorzystać moc obliczeniową procesorów graficznych NVIDIA, odblokowując szereg możliwości w zakresie zadań obliczeniowych o wysokiej wydajności. Zapewnienie zgodności instalacji z konkretną wersją Debiana jest niezbędne do zagwarantowania stabilności i optymalnej wydajności. W miarę rozwoju technologii kluczowe znaczenie ma bycie na bieżąco z najnowszymi wersjami i oficjalną dokumentacją. Oficjalne zasoby i fora NVIDIA są nieocenione dla tych, którzy chcą głębiej zagłębić się w możliwości CUDA lub rozwiązać określone problemy.

Joshua James
Chodź za mną
Najnowsze posty autorstwa Joshua James (widzieć wszystko)

Dodaj komentarz