Buat dan Gunakan Aliran
Kirim antrean kerja yang independen.
Buat dan Gunakan Aliran adalah pelajaran CUDA Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.
Antrean Kerja yang Tidak Saling Bergantung
Stream selain stream bawaan adalah antrean kerja milik Anda sendiri. Dua stream berjalan secara independen, sehingga GPU dapat memproses keduanya sekaligus. 🧵
Penangan Stream
Stream berada dalam penangan cudaStream_t. Anda membuatnya sekali, meneruskannya ke pemanggilan, lalu menghancurkannya setelah selesai digunakan.
cudaStream_t stream;Membuat Stream
Panggil cudaStreamCreate untuk membuat stream baru. Fungsi ini mengalokasikan antrean yang digunakan driver untuk menjadwalkan pekerjaan stream tersebut.
cudaStreamCreate(&stream);Meluncurkan Kernel dalam Stream
Konfigurasi peluncuran kernel memiliki argumen keempat: ukuran memori bersama, lalu stream. Teruskan stream Anda untuk memasukkan kernel ke antrean stream tersebut.
kernel<<<grid, block, 0, stream>>>(d_data);Dua Stream, Dua Tugas
Tempatkan satu pekerjaan di streamA dan pekerjaan lain di streamB. Karena tidak ada ketergantungan di antara keduanya, GPU bebas menjalankan keduanya secara bersamaan.
kA<<<g, b, 0, streamA>>>(a);
kB<<<g, b, 0, streamB>>>(d);Asinkron secara Alami
Pemanggilan stream bersifat asinkron: host langsung kembali dan melanjutkan pekerjaan. GPU memproses antrean sesuai waktunya sendiri.
Menunggu Satu Stream
Gunakan cudaStreamSynchronize untuk memblokir host hingga stream tersebut selesai, bukan menunggu seluruh perangkat.
cudaStreamSynchronize(stream);Memeriksa Tanpa Memblokir
Ingin melihat statusnya? cudaStreamQuery mengembalikan cudaSuccess jika stream sudah selesai dan cudaErrorNotReady jika masih sibuk, tanpa menghentikan pekerjaan Anda.
cudaStreamQuery(stream);Membersihkan
Saat stream tidak lagi diperlukan, lepaskan dengan cudaStreamDestroy. Pekerjaan yang masih tertunda tetap selesai sebelum penangan dibebaskan.
cudaStreamDestroy(stream);Stream Non-Pemblokiran
Buat stream dengan bendera cudaStreamNonBlocking agar stream tersebut tidak tersinkronisasi secara implisit dengan stream bawaan lama.
cudaStreamCreateWithFlags(&s, cudaStreamNonBlocking);Lebih Banyak Stream, Lebih Banyak Tumpang Tindih
Menyebarkan bagian-bagian yang tidak saling bergantung ke beberapa stream memungkinkan penjadwal terus memasok pekerjaan ke mesin. Setelah beberapa stream, manfaatnya menurun karena perangkat keras sudah penuh.
Pemeriksaan Singkat
Bagaimana cara memasukkan kernel ke stream tertentu?
Ringkasan
Sekarang Anda dapat membuat stream, meluncurkan kernel di dalamnya, menyinkronkan atau memeriksanya, lalu menghancurkannya. Stream yang independen membuka konkurensi nyata. ✨
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Buat dan Gunakan Aliran” gratis?
Ya — teks lengkap “Buat dan Gunakan Aliran” 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 “Buat dan Gunakan Aliran”?
Kirim antrean kerja yang independen. 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 2 dari 4.
Berapa lama pelajaran “Buat dan Gunakan Aliran” 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
- Jebakan Aliran Bawaan
- Buat dan Gunakan Aliran
- Peristiwa untuk Pengukuran Waktu dan Sinkronisasi
- Tumpangtindihkan Penyalinan dan Penghitungan