Altifigence Academy

19 / 24 · Konsep

Bandwidth dan batas komputasi

Untuk 1152 MAC dan 224 byte, gunakan delapan PE tetapi pertahankan bandwidth 0.5 byte/siklus. Berapa batas bawah dengan tumpang tindih sempurna?

Pasok aritmetika

Jumlah MAC mengukur kerja; bandwidth mengukur seberapa cepat operand dapat mencapai unit komputasi. Empat PE masing-masing satu MAC menawarkan empat MAC per siklus secara ideal. Mengambil dua operand satu byte untuk setiap MAC akan menuntut delapan byte per siklus. Penggunaan ulang menurunkan lalu lintas eksternal, tetapi penyangga lokal tetap membutuhkan port cukup untuk memasok PE. Bandwidth eksternal dan kebutuhan port baca internal merupakan besaran berbeda.

Batas bawah komputasi adalah jumlah MAC dibagi laju MAC tersedia. Batas bawah transfer adalah byte dibagi bandwidth. Dengan tumpang tindih sempurna, waktu total tidak dapat lebih kecil daripada maksimum keduanya. Tanpa tumpang tindih, jumlahkan keduanya. Pengisian awal, burst, penyiapan alamat, bagian akhir, dan penulisan dapat meningkatkan jadwal sebenarnya.

Contoh desain hipotetis

Gunakan N=1, C=2, H=W=6, M=4, dan konvolusi 3×3 valid. Keluaran 4×4 dan kerja 1152 MAC. Misalkan setiap tensor diambil sekali, tanpa pemuatan ulang halo atau pemindahan jumlah parsial ke memori luar. Masukan int8 menggunakan 72 byte, bobot 72, keluaran 64, dan bias 32 bit 16: total 224 byte.

Empat PE memberi batas komputasi 288 siklus. Pada satu byte per siklus, transfer membutuhkan 224 siklus, sehingga batas tumpang tindih sempurna adalah 288. Pada setengah byte per siklus, transfer membutuhkan 448 siklus dan menjadi batas yang lebih besar. Tanpa tumpang tindih pada satu byte per siklus, jumlah sederhananya 512 siklus. Kaitkan asumsi ini dengan setiap angka yang dilaporkan.

Dengan asumsi penggunaan ulang ini, intensitas aritmetika adalah 1152/224≈5.14 MAC per byte. Sebaliknya, mengambil kedua operand untuk setiap MAC menggunakan 2304 byte operand; keluaran dan bias menaikkan total menjadi 2384. Kerja tidak berubah; pergerakan berbeda. Perhitungan ini sengaja mengabaikan cache, kompresi, dan penyelarasan bus serta bukan pengukuran perangkat keras.

Catat ukuran tensor unik, byte baca/tulis sebenarnya, lalu lintas jumlah parsial, operasi PE berguna, dan siklus total. Kelompokkan siklus menganggur berdasarkan kekurangan masukan, pemblokiran keluaran, bagian akhir, dan kendali. Menggandakan PE tidak dapat memangkas waktu menjadi setengah ketika transfer mendominasi. Penggunaan ulang lebih baik mungkin membutuhkan penyimpanan lebih besar, jadi pertimbangkan analisis ini bersama anggaran tile sebelumnya.

Coba sendiri

Untuk 1152 MAC dan 224 byte, gunakan delapan PE tetapi pertahankan bandwidth 0.5 byte/siklus. Berapa batas bawah dengan tumpang tindih sempurna?

Baca penjelasan

Batas komputasi 144 siklus dan batas transfer 448, sehingga maksimum adalah 448. Pasokan operand tetap menjadi batas bawah yang membatasi.

Pilihan berlaku di peramban ini. Ubah kapan saja di bagian bawah halaman.