CUDA Academy · Pelajaran

Kualifikasi Fungsi __global__

Tandai sebuah fungsi sebagai kernel GPU.

Pelajaran 1 dari 413 langkah

Kualifikasi Fungsi __global__ 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.

Dua Dunia, Dua Kompilator

Berkas CUDA Anda memuat kode CPU dan GPU. Sebuah kata kunci kecil memberi tahu kompilator di sisi mana sebuah fungsi berada. Kata kunci itu adalah penentu fungsi. ⚡

Berkenalan dengan __global__

Penentu __global__ menandai sebuah fungsi sebagai kernel GPU: kode yang diluncurkan CPU, tetapi sebenarnya dijalankan GPU pada banyak utas.

__global__ void myKernel() {
    // runs on the GPU
}

Dipanggil di Sini, Dijalankan di Sana

Fungsi __global__ adalah satu-satunya jenis fungsi yang dapat dipanggil oleh host tetapi dijalankan oleh perangkat. Fungsi ini menjadi jembatan antara dua dunia Anda.

Selalu Mengembalikan void

Kernel harus mengembalikan void. Kernel tidak dapat mengirimkan nilai kembali ke CPU, sehingga hasil dikirim keluar melalui memori.

__global__ void addOne(int* data) {
    data[0] += 1;
}

Peluncuran Bersifat Asinkron

Saat Anda meluncurkan kernel __global__, CPU tidak menunggu. Pemanggilan tersebut segera mengembalikan kendali sementara GPU bekerja di latar belakang. 🚀

Banyak Utas, Satu Fungsi

Satu definisi __global__ berjalan pada ribuan utas sekaligus. Anda menulis isi fungsi satu kali; GPU menggandakan pekerjaan tersebut di seluruh inti.

Sintaks Peluncuran

Pemanggilan kernel memerlukan kurung sudut tiga khusus untuk menentukan jumlah utas yang berjalan. Tanda kurung biasa saja tidak cukup.

myKernel<<<1, 256>>>();

Parameter berdasarkan Nilai

Argumen kernel disalin ke perangkat. Teruskan penunjuk perangkat untuk larik, karena penunjuk host tidak bermakna di GPU.

Berbeda dari __device__

Jangan sampai tertukar: __global__ adalah titik masuk yang dapat diluncurkan, sedangkan fungsi __device__ adalah pembantu yang hanya dapat dipanggil dari kode GPU.

Tanpa Rekursi di Titik Masuk

Kernel __global__ tidak dapat memanggil dirinya sendiri secara langsung seperti fungsi host. Rekursi klasik sebaiknya digunakan pada fungsi pembantu perangkat.

Mengapa Ini Penting

Menguasai __global__ membuka jalan menuju semua hal berikutnya: setiap kernel yang Anda tulis, luncurkan, dan optimalkan dimulai dari kata kunci kecil ini.

Pemeriksaan Singkat

Mari kita periksa pemahaman Anda tentang penentu __global__.

Rangkuman

Anda telah mempelajari bahwa __global__ menandai kernel GPU: dipanggil oleh host, dijalankan oleh perangkat, mengembalikan void, dan diluncurkan dengan kurung sudut tiga. 🎉

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 “Kualifikasi Fungsi __global__” gratis?

Ya — teks lengkap “Kualifikasi Fungsi __global__” 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 “Kualifikasi Fungsi __global__”?

Tandai sebuah fungsi sebagai kernel 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 “Kualifikasi Fungsi __global__” 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. Kualifikasi Fungsi __global__
  2. Fungsi __device__ dan __host__
  3. Ruang Alamat Terpisah
  4. Siklus Hidup Program CUDA
← Kembali ke CUDA Academy