CUDA Academy · Pelajaran

Menghitung dan Memilih Perangkat

cudaSetDevice dan konteks per-GPU

Pelajaran 1 dari 413 langkah

Menghitung dan Memilih Perangkat adalah pelajaran CUDA Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar CUDA Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus CUDA Academy mencakup 4 pelajaran total.

Lebih dari Satu GPU

Satu mesin dapat menampung beberapa GPU. Untuk menggunakan semuanya, program Anda terlebih dahulu perlu menemukan berapa banyak perangkat yang tersedia sebelum mengirim pekerjaan apa pun.

Menghitung Perangkat

Satu pemanggilan memberi tahu Anda berapa banyak GPU yang dapat dilihat waktu jalan. cudaGetDeviceCount menuliskan jumlah tersebut ke dalam int yang Anda berikan.

int count;
cudaGetDeviceCount(&count);

Perangkat Memiliki Nomor

Setiap GPU mendapat id bilangan bulat dari 0 hingga jumlah dikurangi satu. id perangkat tersebut digunakan untuk menunjuk satu kartu tertentu kepada waktu jalan.

Memilih Perangkat Aktif

Anda memilih GPU yang menjadi sasaran pemanggilan berikutnya dengan cudaSetDevice. Setelah itu, alokasi dan peluncuran diarahkan ke kartu tersebut.

cudaSetDevice(1);

Ada Perangkat Saat Ini

Pada setiap saat, tepat satu GPU menjadi perangkat saat ini untuk utas pemanggil. Setiap cudaMalloc atau peluncuran kernel diarahkan ke perangkat yang sedang aktif.

Memeriksa Perangkat

Sebelum mempercayai sebuah GPU, Anda dapat membaca spesifikasinya. cudaGetDeviceProperties mengisi struct dengan nama, ukuran memori, dan kemampuan komputasi.

cudaDeviceProp prop;
cudaGetDeviceProperties(&prop, 0);

Membaca Properti

Struct properti berisi banyak informasi. Kolom seperti name dan totalGlobalMem membantu Anda memilih kartu terbaik atau melewati kartu yang terlalu kecil.

Setiap Perangkat Memiliki Memorinya Sendiri

Penunjuk dari cudaMalloc menjadi milik GPU yang sedang aktif saat itu. Menggunakannya ketika perangkat lain sedang aktif merupakan kesalahan yang dapat segera terjadi.

Konteks per Perangkat

Di balik setiap GPU terdapat konteks yang menyimpan alokasi dan alirannya. Mengganti perangkat saat ini berarti berpindah ke konteks perangkat tersebut.

Melakukan Perulangan pada Semua GPU

Pola yang umum adalah perulangan yang memanggil cudaSetDevice untuk setiap id, lalu melakukan penyiapan pada kartu tersebut. Inilah cara menyebarkan pekerjaan ke setiap perangkat.

for (int d = 0; d < count; d++) {
  cudaSetDevice(d);
}

Pulihkan Sebelum Keluar

Jika pembantu mengubah perangkat saat ini, kembalikan perangkat tersebut setelah selesai. Membiarkan perangkat saat ini berubah dapat mengejutkan bagian kode Anda yang lain.

Pemeriksaan Cepat

Ingat pemanggilan yang memilih GPU untuk alokasi dan peluncuran berikutnya.

Ringkasan

Anda menghitung GPU, memilih salah satunya dengan cudaSetDevice, lalu memeriksanya menggunakan properti. Setiap perangkat memiliki memori dan konteksnya sendiri. Berikutnya: membagi pekerjaan di antara perangkat-perangkat tersebut. ✨

Gratis untuk memulai

Belajar C++ dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menghitung dan Memilih Perangkat” gratis?

Ya — teks lengkap “Menghitung dan Memilih Perangkat” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus CUDA Academy, upgrade ke CoddyKit PRO. Kursus CUDA Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menghitung dan Memilih Perangkat”?

cudaSetDevice dan konteks per-GPU Kamu berlatih CUDA Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai CUDA Academy?

Tidak diperlukan pengalaman sebelumnya. CUDA Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Menghitung dan Memilih Perangkat” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran CUDA Academy ini?

Ya. Setiap pelajaran CUDA Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Menghitung dan Memilih Perangkat
  2. Mempartisi Pekerjaan di Seluruh GPU
  3. Akses Memori Peer-to-Peer
  4. Multi-GPU dengan NCCL
← Kembali ke CUDA Academy