CUDA Academy · Pelajaran

API Fragmen WMMA

Memuat, mma_sync, dan menyimpan fragmen

Pelajaran 3 dari 413 langkah

API Fragmen WMMA 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.

API WMMA

Untuk memprogram Tensor Core secara langsung, Anda menggunakan WMMA, yaitu API perkalian-akumulasi matriks warp dalam ruang nama nvcuda::wmma. 🧩

Seluruh Warp Bekerja Sama

WMMA bekerja pada seluruh warp: semua 32 utas dalam sebuah warp bekerja sama pada satu ubin. Anda berpikir dalam ubin, bukan dalam utas tunggal.

Kenali Fragmen

Fragmen adalah tipe data WMMA yang menyimpan bagian dari ubin matriks milik satu warp. Setiap utas secara internal memiliki beberapa elemennya.

Tiga Peran Fragmen

Anda mendeklarasikan fragmen yang ditandai matrix_a, matrix_b, atau akumulator. Tanda tersebut memberi tahu WMMA bagaimana ubin itu digunakan dalam perkalian-akumulasi.

Bentuk Ubin Bersifat Tetap

Fragmen menggunakan ukuran ubin yang telah ditetapkan, seperti 16 kali 16 kali 16. Anda memilih bentuk yang didukung; perangkat keras hanya menerima kombinasi tersebut.

Langkah 1: Muat

Pertama, Anda memanggil load_matrix_sync untuk mengambil ubin dari memori ke dalam fragmen. Pemuatan ini menyebarkan data ke seluruh warp untuk Anda.

wmma::load_matrix_sync(a_frag, ptr, ldm);

Langkah 2: Kosongkan Akumulator

Sebelum menjumlahkan, Anda mengosongkan ubin hasil dengan fill_fragment. Akumulator yang bersih berarti jumlah Anda dimulai dari nilai yang diketahui.

wmma::fill_fragment(c_frag, 0.0f);

Langkah 3: Perkalian-Akumulasi

Panggilan utamanya adalah mma_sync. Panggilan ini menjalankan D = A kali B ditambah C pada fragmen yang telah dimuat, dengan menggunakan Tensor Core secara langsung.

wmma::mma_sync(c_frag, a_frag, b_frag, c_frag);

Langkah 4: Simpan

Terakhir, store_matrix_sync menulis fragmen akumulator kembali ke memori. Penyimpanan ini mengumpulkan bagian dari setiap utas menjadi satu ubin.

wmma::store_matrix_sync(out, c_frag, ldm, layout);

Sync Berarti Sinkron pada Warp

Akhiran _sync mengingatkan bahwa setiap panggilan WMMA bersifat sinkron pada warp. Semua 32 lajur harus mencapainya bersama-sama, atau perilakunya tidak terdefinisi.

Tata Letak dan Dimensi Utama

Pemuatan dan penyimpanan memerlukan dimensi utama, yaitu stride antarbaris, serta tata letak baris-utama atau kolom-utama untuk membaca memori dengan benar.

Pemeriksaan Singkat

Panggilan WMMA mana yang benar-benar menjalankan perkalian-akumulasi matriks pada Tensor Core?

Ringkasan

Anda telah mengikuti alur WMMA: deklarasikan fragmen, muat ubin, kosongkan akumulator, panggil mma_sync, lalu simpan. Setiap langkah bersifat sinkron pada warp. 🙌

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 “API Fragmen WMMA” gratis?

Ya — teks lengkap “API Fragmen WMMA” 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 “API Fragmen WMMA”?

Memuat, mma_sync, dan menyimpan fragmen 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 “API Fragmen WMMA” 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. Apa yang Dihitung Tensor Core
  2. Presisi Campuran: FP16, BF16, TF32
  3. API Fragmen WMMA
  4. Pertukaran Stabilitas Numerik
← Kembali ke CUDA Academy