CUDA Academy · Pelajaran

Mengapa Blok Wujud

Kebebasan, penjadualan dan kebolehskalaan.

Pelajaran 3 daripada 413 langkah

Mengapa Blok Wujud ialah pelajaran CUDA Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran CUDA Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus CUDA Academy merangkumi sejumlah 4 pelajaran.

Mengapa Bukan Utas Sahaja?

Anda mungkin tertanya-tanya mengapa CUDA bersusah payah mengumpulkan utas ke dalam blocks. Jawapannya berkaitan penjadualan dan penskalaan. 🤔

Blok ialah Unit Penjadualan

GPU memberikan keseluruhan blocks kepada pemproses berbilang penstriman. Blok ialah bahagian kerja yang dijadualkan oleh perkakasan sebagai satu unit.

Kebebasan melalui Reka Bentuk

Blok mesti berjalan secara bebas, dalam apa-apa urutan, tanpa komunikasi yang dijamin. Peraturan inilah yang menjadikan kernel mudah alih merentas GPU.

Penskalaan Tanpa Usaha Tambahan

GPU kecil menjalankan beberapa blok pada satu-satu masa; GPU besar menjalankan banyak blok. Kebebasan ini membolehkan kod yang sama diskalakan tanpa anda mengubah satu baris pun.

Kerjasama dalam Satu Blok

Utas dalam blok yang sama berkongsi memori pantas pada cip dan boleh menyegerakkan pelaksanaan. Kerjasama rapat ini hanya dapat dilakukan kerana semuanya kekal bersama.

Sempadan Penyegerakan

Penghalang seperti __syncthreads hanya berfungsi dalam satu block. Tiada cara terbina dalam untuk menyegerakkan seluruh grid di pertengahan pelaksanaan kernel.

__syncthreads();

Mengapa Tiada Penyegerakan Global?

Jika blok boleh menunggu antara satu sama lain, GPU mungkin tersekat apabila tidak dapat memuatkan kesemuanya serentak. Mengekalkan blok sebagai bebas mengelakkan keadaan itu.

Blok Menyembunyikan Kependaman

Apabila satu blok tersekat menunggu memori, penjadual menggantikannya dengan blok lain yang sedia dijalankan. Banyak blocks memastikan teras terus sibuk.

Sumber Diperuntukkan Mengikut Blok

Daftar dan memori dikongsi diperuntukkan bagi setiap block. Blok yang lebih kecil membolehkan lebih banyak blok dimuatkan pada pemproses berbilang pada masa yang sama.

Banyak Blok Mendatangkan Faedah

Pelancaran yang baik menggunakan jauh lebih banyak blok berbanding bilangan pemproses berbilang GPU. blocks tambahan memberikan ruang kepada penjadual untuk mengimbangi kerja.

Pertukaran Utama

Jadi, blok menukar kerjasama global dengan penskalaan yang besar. Anda melepaskan penyegerakan merentas blok dan memperoleh kod yang berjalan pada mana-mana GPU.

Semakan Pantas

Fikirkan manfaat yang diberikan oleh kebebasan blok kepada anda.

Imbas Kembali: Tujuan Blok

Anda telah melihat sebab blocks wujud: blok ialah unit bebas yang boleh dijadualkan dan memberikan kebolehskalaan, manakala utas di dalamnya bekerjasama rapat. 🚀

Percuma untuk bermula

Pelajari C++ dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Mengapa Blok Wujud” percuma?

Ya — teks penuh “Mengapa Blok Wujud” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus CUDA Academy, tingkat taraf kepada CoddyKit PRO. Kursus CUDA Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Mengapa Blok Wujud”?

Kebebasan, penjadualan dan kebolehskalaan. Anda berlatih CUDA Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan CUDA Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran CUDA Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Mengapa Blok Wujud” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran CUDA Academy ini?

Ya. Setiap pelajaran CUDA Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Hierarki Urutan
  2. threadIdx, blockIdx, blockDim
  3. Mengapa Blok Wujud
  4. Pilih Bilangan Urutan Setiap Blok
← Kembali ke CUDA Academy