Memori Konstan dan Cache-nya
Sebarkan nilai hanya-baca dengan biaya rendah.
Memori Konstan dan Cache-nya adalah pelajaran CUDA Academy gratis di CoddyKit. Ini adalah pelajaran 3 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.
Ruang untuk Nilai Hanya-Baca
Memori konstan adalah wilayah kecil yang dibuat untuk data yang dibaca oleh setiap thread, tetapi tidak pernah ditulis oleh thread mana pun selama kernel berjalan.
Mendeklarasikannya
Anda menandai larik dalam cakupan global dengan kualifikasi __constant__. Larik tersebut berada di luar fungsi mana pun dan terlihat oleh semua kernel Anda.
__constant__ float weights[256];Memang Sangat Kecil
Total memori konstan hanya 64 KB pada GPU umumnya. Memori ini ditujukan untuk koefisien dan parameter, bukan untuk kumpulan data besar.
Mengisinya dari Host
Anda menulis ke memori konstan dari CPU menggunakan cudaMemcpyToSymbol, karena kernel sendiri tidak dapat mengubahnya.
cudaMemcpyToSymbol(weights, h_w,
256 * sizeof(float));Didukung oleh Cache Khusus
Pembacaan melewati cache konstan khusus pada setiap multiprosesor. Nilai yang berada di cache kembali hampir secepat register.
Keunggulan Siaran
Saat seluruh warp membaca alamat yang sama, perangkat keras melakukan satu pengambilan lalu menyiarkannya ke semua 32 thread dalam satu langkah. 📡
Alamat yang Sama Merupakan Kuncinya
Keuntungan ini bergantung pada akses yang seragam. Jika thread dalam sebuah warp membaca alamat konstan yang berbeda, pembacaan tersebut diserialkan dan peningkatan kecepatan pun hilang.
Cara Membacanya Tampak Biasa
Di dalam kernel, Anda membaca memori konstan seperti membaca larik apa pun. Compiler secara diam-diam mengarahkan akses tersebut melalui cache konstan yang cepat.
__global__ void k(float *out, int i) {
out[i] = weights[0] * 2.0f;
}Sangat Cocok untuk Filter
Kernel konvolusi dan tabel pencarian sangat cocok di sini, karena setiap thread berulang kali menggunakan kembali sekumpulan kecil koefisien yang sama.
Atur Sekali, Gunakan Kembali Sering
Biasanya Anda mengunggah ke memori konstan satu kali, lalu menjalankan banyak kernel yang semuanya membaca nilai yang tidak berubah tersebut dengan biaya rendah.
Kapan Tidak Menggunakannya
Jangan gunakan memori konstan jika data Anda besar atau thread membaca alamat yang tersebar. Dalam kasus tersebut, memori global biasa lebih sesuai.
Pemeriksaan Cepat
Kapan memori konstan memberikan peningkatan kecepatan terbesar?
Rangkuman: Kecil, Di-cache, Disiarkan
Anda telah mempelajari bahwa memori konstan adalah ruang kecil hanya-baca yang cache-nya menyiarkan pembacaan seragam ke seluruh warp. Gunakan untuk nilai kecil yang digunakan bersama. ✨
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 “Memori Konstan dan Cache-nya” gratis?
Ya — teks lengkap “Memori Konstan dan Cache-nya” 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 “Memori Konstan dan Cache-nya”?
Sebarkan nilai hanya-baca dengan biaya rendah. 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 3 dari 4.
Berapa lama pelajaran “Memori Konstan dan Cache-nya” 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
- Register dan Memori Lokal
- Pertukaran dalam Memori Global
- Memori Konstan dan Cache-nya
- Model Mental Hierarki