0Pricing
CUDA Academy · Pelajaran

threadIdx, blockIdx, blockDim

Variabel bawaan untuk menentukan lokasi sebuah thread.

threadIdx, blockIdx, blockDim 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.

Di Mana Posisi Saya?

Setiap utas menjalankan kode yang sama, jadi masing-masing perlu bertanya: bagian data mana yang menjadi milik saya? CUDA menjawabnya dengan variabel bawaan. 📍

Berkenalan dengan threadIdx

Di dalam kernel, threadIdx memberi tahu utas posisinya di dalam bloknya sendiri. Utas pertama dalam sebuah blok memiliki threadIdx.x yang sama dengan 0.

int t = threadIdx.x;

Berkenalan dengan blockIdx

Variabel blockIdx memberi tahu utas di blok mana utas tersebut berada dalam kisi. Penomoran blok juga dimulai dari 0.

int b = blockIdx.x;

Berkenalan dengan blockDim

Anda juga mendapatkan blockDim, yaitu jumlah utas per blok. Jika Anda menjalankan 256 utas, blockDim.x bernilai 256 untuk setiap utas.

int width = blockDim.x;

Semuanya Otomatis

Anda tidak pernah menetapkan variabel ini sendiri. CUDA mengisinya untuk setiap utas saat kernel diluncurkan.

Kolom .x, .y, dan .z

Masing-masing memiliki kolom x, y, dan z untuk peluncuran 1D, 2D, atau 3D. Untuk larik sederhana, biasanya Anda hanya menggunakan kolom x.

Menggabungkannya

Jika digunakan sendiri, threadIdx akan berulang di setiap blok. Untuk mendapatkan posisi unik, Anda harus menggabungkan blockIdx dan blockDim dengan threadIdx.

Panduan Singkat

Dengan blockDim bernilai 4, utas 2 di blok 0 adalah elemen 2, tetapi utas 2 di blok 1 adalah elemen 6. Blok menggeser titik awal.

Pembantu Hanya-Baca

Fungsi bawaan ini hanya dapat dibaca di dalam kernel. Perlakukan semuanya sebagai koordinat tepercaya yang menjelaskan posisi tepat utas Anda.

Juga Ada gridDim

Ada satu komponen lain: gridDim menyimpan jumlah total blok dalam kisi. Ini berguna saat Anda melakukan perulangan pada data yang jumlahnya lebih banyak daripada jumlah utas.

int blocks = gridDim.x;

Mengapa Ini Penting

Ketiga variabel ini merupakan bahan dasar untuk menghitung indeks global, yaitu cara setiap utas mendapatkan elemennya sendiri.

Pemeriksaan Cepat

Pilih variabel yang menjalankan tugas tersebut.

Ringkasan: Menemukan Posisi Utas

Anda telah berkenalan dengan komponen bawaan: threadIdx untuk posisi dalam blok, blockIdx untuk blok, dan blockDim untuk ukuran blok. Jika digabungkan, semuanya menentukan posisi sebuah utas. ✅

Pertanyaan yang Sering Diajukan

Apakah pelajaran “threadIdx, blockIdx, blockDim” gratis?

Ya — teks lengkap “threadIdx, blockIdx, blockDim” 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 “threadIdx, blockIdx, blockDim”?

Variabel bawaan untuk menentukan lokasi sebuah thread. 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 “threadIdx, blockIdx, blockDim” 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. Hierarki Thread
  2. threadIdx, blockIdx, blockDim
  3. Mengapa Blok Ada
  4. Memilih Jumlah Thread per Blok
← Kembali ke CUDA Academy