Kompilasi dengan nvcc
Pelajari cara nvcc memisahkan kode host dan perangkat.
Kompilasi dengan nvcc 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.
Berkenalan dengan nvcc
Kompilator CUDA disebut nvcc. Kompilator ini menerima berkas .cu yang berisi campuran kode CPU dan GPU, lalu mengubahnya menjadi satu program yang dapat dijalankan. 🛠️
Dua Jenis Kode
Berkas .cu memuat dua dunia: kode host yang berjalan di CPU dan kode perangkat yang berjalan di GPU. nvcc harus menangani masing-masing dengan cara yang berbeda.
Pemisahan Besar
nvcc secara otomatis memisahkan kode sumber Anda. Kompilator ini menyerahkan bagian host kepada kompilator C++ biasa dan menyimpan bagian perangkat untuk diprosesnya sendiri.
Mengompilasi Kode Perangkat
Untuk sisi GPU, nvcc menghasilkan rakitan khusus yang disebut PTX, lalu mengubahnya menjadi kode mesin yang dapat dijalankan oleh GPU tertentu milik Anda.
Kompilator Host
nvcc tidak mengompilasi kode CPU sendiri. Kompilator ini secara diam-diam memanggil kompilator host sistem Anda, seperti g++ atau clang, untuk menangani C++ biasa.
Perintah Build Pertama Anda
Proses kompilasi terlihat sama seperti pada g++. Arahkan nvcc ke berkas .cu Anda dan beri nama program keluaran dengan opsi -o.
nvcc hello.cu -o helloMenargetkan Arsitektur
Opsi -arch memberi tahu nvcc generasi GPU yang menjadi target build. Menyesuaikannya dengan kartu Anda menghasilkan kode perangkat yang lebih cepat dan sepenuhnya dioptimalkan.
nvcc -arch=sm_80 hello.cu -o helloKapabilitas Komputasi
Angka sm tersebut adalah kapabilitas komputasi, yaitu label untuk kumpulan fitur GPU. sm_80 berarti kartu Ampere; kartu yang lebih lama menggunakan angka yang lebih kecil.
Fatbin untuk Banyak GPU
nvcc dapat mengemas kode untuk beberapa arsitektur ke dalam satu fatbinary, sehingga berkas yang dapat dieksekusi yang sama dapat berjalan dengan baik pada GPU yang berbeda tanpa perlu build ulang.
Opsi Optimisasi yang Umum
Banyak kebiasaan dari g++ tetap berlaku. nvcc menerima tingkat -O dan -g untuk proses debug, lalu meneruskannya ke tahap kompilator yang sesuai.
nvcc -O3 hello.cu -o helloMenautkan Pustaka CUDA
Membutuhkan pustaka yang telah dioptimalkan seperti cuBLAS? Anda dapat menautkannya seperti pada g++, dengan menambahkan nama pustaka menggunakan opsi -l pada perintah nvcc.
nvcc app.cu -lcublas -o appPemeriksaan Singkat
Mari kita periksa cara nvcc membagi pekerjaan.
Rangkuman
Anda telah mempelajari bahwa nvcc memisahkan berkas .cu, mengompilasi kode perangkat menjadi kode mesin GPU, dan menyerahkan kode host kepada g++. Opsi -arch menentukan target kartu Anda. 🎯
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Kompilasi dengan nvcc” gratis?
Ya — teks lengkap “Kompilasi dengan nvcc” 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 “Kompilasi dengan nvcc”?
Pelajari cara nvcc memisahkan kode host dan perangkat. 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 “Kompilasi dengan nvcc” 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
- Versi Pengendali, Runtime, dan Toolkit
- Membaca nvidia-smi seperti Profesional
- Kompilasi dengan nvcc
- Halo GPU: File .cu Pertama Anda