Menghitung dan Memilih Perangkat
cudaSetDevice dan konteks per-GPU
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. ✨
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
- Menghitung dan Memilih Perangkat
- Mempartisi Pekerjaan di Seluruh GPU
- Akses Memori Peer-to-Peer
- Multi-GPU dengan NCCL