Memindahkan Data ke dan dari Perangkat
Kelola transfer memori host-perangkat.
Memindahkan Data ke dan dari Perangkat adalah pelajaran Mojo Academy gratis di CoddyKit. Ini adalah pelajaran 4 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 Mojo Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Mojo Academy mencakup 4 pelajaran total.
Dua Memori Terpisah
CPU dan GPU masing-masing memiliki memori sendiri. GPU tidak dapat membaca array host Anda sampai data tersebut berada di perangkat.
Host dan Perangkat
Sisi CPU disebut host, sedangkan sisi GPU disebut perangkat. Memindahkan data di antara keduanya merupakan bagian inti dari pekerjaan GPU.
Mengalokasikan pada Perangkat
Pertama, sisihkan ruang pada GPU untuk data Anda. Buffer perangkat ini adalah tempat input dan output akan disimpan.
var d_a = ctx.enqueue_create_buffer[DType.float32](n)Menyalin Input
Berikutnya, salin array host Anda ke buffer perangkat tersebut. Pengunggahan ini menyediakan angka yang diperlukan GPU.
ctx.enqueue_copy(d_a, h_a)Menjalankan Kernel
Setelah data berada di perangkat, luncurkan kernel. Kernel membaca dan menulis buffer perangkat, bukan buffer host.
ctx.enqueue_function[kernel](grid_dim=blocks, block_dim=256)Menyalin Kembali Hasil
Output tetap berada di GPU sampai Anda mengambilnya. Pengunduhan menyalin buffer hasil kembali ke memori host.
ctx.enqueue_copy(h_out, d_out)Pekerjaan Diantrekan, Bukan Seketika
Panggilan-panggilan ini diantrekan pada GPU, bukan langsung selesai. Anda harus melakukan synchronize sebelum mempercayai hasilnya di host.
ctx.synchronize()Perjalanan Pulang-Pergi
Siklus lengkapnya adalah pengunggahan, perhitungan, lalu pengunduhan. Bayangkan data melakukan perjalanan pulang-pergi dari host ke perangkat dan kembali lagi.
Transfer Memerlukan Waktu
Penyalinan melalui bus lebih lambat dibandingkan perhitungan. Setiap transfer dapat menghapus keuntungan kecepatan Anda jika dilakukan terlalu sering.
Pertahankan Data di Perangkat
Rangkaikan beberapa kernel pada buffer yang sama sebelum menyalin data kembali. Meminimalkan perjalanan pulang-pergi menjaga keuntungan GPU tetap utuh.
Bebaskan yang Anda Alokasikan
Memori perangkat terbatas, jadi lepaskan buffer yang tidak lagi diperlukan. Aturan kepemilikan Mojo membantu membebaskannya pada waktu yang tepat.
Pemeriksaan Singkat
Anda ingin program GPU benar-benar berjalan lebih cepat dari awal hingga akhir.
Rangkuman
Unggah input ke perangkat, jalankan kernel, lalu unduh hasil dan lakukan synchronize, sembari meminimalkan transfer yang mahal. 🔁
Belajar Mojo 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 “Memindahkan Data ke dan dari Perangkat” gratis?
Ya — teks lengkap “Memindahkan Data ke dan dari Perangkat” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Mojo Academy, upgrade ke CoddyKit PRO. Kursus Mojo Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Memindahkan Data ke dan dari Perangkat”?
Kelola transfer memori host-perangkat. Kamu berlatih Mojo 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 Mojo Academy?
Tidak diperlukan pengalaman sebelumnya. Mojo 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 4 dari 4.
Berapa lama pelajaran “Memindahkan Data ke dan dari Perangkat” 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 Mojo Academy ini?
Ya. Setiap pelajaran Mojo 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
- Mengapa GPU untuk Beban Kerja Kecerdasan Buatan
- Thread, Blok, dan Grid
- Menulis Fungsi Kernel GPU
- Memindahkan Data ke dan dari Perangkat