Mojo Academy · Pelajaran

Memilih Lebar SIMD

Sesuaikan lebar dengan lajur perangkat keras Anda.

Pelajaran 3 dari 413 langkah

Memilih Lebar SIMD adalah pelajaran Mojo 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 Mojo Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Mojo Academy mencakup 4 pelajaran total.

Lebar Menentukan Throughput

Lebar SIMD adalah jumlah lajur yang diproses per instruksi. Memilihnya dengan tepat adalah kunci kinerja nyata.

Perangkat Keras Memiliki Lajur Tetap

CPU Anda memiliki register vektor berukuran tetap. Lebar SIMD yang baik sesuai dengan lajur yang dapat dijalankan perangkat keras sekaligus.

Terlalu Sempit Membuang Daya

Lebar 1 sama sekali mengabaikan unit vektor CPU. Sebagian besar throughput cip dibiarkan menganggur.

var slow = SIMD[DType.float32, 1](2.0)

Terlalu Lebar Menyebabkan Limpahan

Jika lebar lebih besar daripada yang didukung perangkat keras, Mojo membaginya menjadi potongan-potongan kecil. Ini tetap berjalan, tetapi menambah beban.

Biarkan Mojo Memberi Tahu Anda

Mojo dapat melaporkan lebar ideal untuk suatu tipe pada mesin ini melalui simdwidthof, sehingga Anda tidak perlu menebak.

from sys import simdwidthof
alias w = simdwidthof[DType.float32]()

Gunakan sebagai Parameter

Karena simdwidthof diketahui saat kompilasi, Anda dapat langsung memasukkannya ke dalam tipe SIMD sebagai lebarnya.

alias Vec = SIMD[DType.float32, simdwidthof[DType.float32]()]

Lebar Bergantung pada DType

Elemen yang lebih kecil memungkinkan lebih banyak lajur dalam register yang sama. Jadi, float32 biasanya memperoleh lebar asli yang lebih besar daripada float64.

Portabel sejak Awal

Menggunakan simdwidthof membuat kode Anda otomatis menyesuaikan diri dengan setiap mesin. Sumber yang sama tetap cepat dan portabel.

Kelipatan Lebar Itu Mudah

Data yang jumlahnya merupakan kelipatan tepat dari vektor lebar Anda dapat divektorisasi dengan rapi, tanpa lajur tersisa yang harus ditangani sebagai sisa.

Perhatikan Sisa Data

Saat suatu jumlah bukan kelipatan lebar, beberapa elemen ekor akan tersisa. Selesaikan elemen-elemen tersebut dengan langkah skalar kecil.

Mulai dengan Lebar Asli

Nilai awal yang aman adalah simdwidthof untuk DType Anda. Lakukan pengukuran nanti, tetapi lebar asli hampir selalu merupakan awal yang baik.

Pemeriksaan Singkat

Anda menginginkan lebar SIMD yang sesuai dengan lajur float32 CPU ini tanpa menebak secara hardcode. Apa yang dapat membantu?

Rangkuman

Sesuaikan lebar SIMD dengan perangkat keras: simdwidthof memberikan jumlah lane asli per DType, dan ekor skalar menangani elemen yang tersisa. 🎯

Gratis untuk memulai

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 “Memilih Lebar SIMD” gratis?

Ya — teks lengkap “Memilih Lebar SIMD” 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 “Memilih Lebar SIMD”?

Sesuaikan lebar dengan lajur perangkat keras Anda. 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 3 dari 4.

Berapa lama pelajaran “Memilih Lebar SIMD” 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

  1. Mengenal Tipe SIMD
  2. Matematika SIMD per Elemen
  3. Memilih Lebar SIMD
  4. Vektorisasi Perulangan
← Kembali ke Mojo Academy