Altifigence Academy

14 / 20 · Konsep

Bandwidth dan utilisasi berguna

Pisahkan kapasitas MAC puncak dari biaya pengisian, pengurasan, padding, dan memori.

Definisikan interval dan satuan

Kisi N×N mencapai puncak N² MAC per tepi advance. Pengisian dan pengurasan mengurangi utilisasi untuk pekerjaan tunggal. Dalam model tile penuh tanpa penundaan dengan penerusan satu tepi kita, kerja berguna adalah N²K dan slot yang tersedia adalah N²(K+2N−2), sehingga utilisasi interval komputasi adalah K/(K+2N−2).

Untuk N=4, K=16, kisi melakukan 256 MAC dalam dua puluh dua tepi advance. Utilisasinya 256/352=8/11, sekitar 72.73%. Pada asumsi 100MHz, kapasitas puncak adalah 1.6 GMAC/s dan laju keluaran interval komputasi pekerjaan tunggal sekitar 1.164 GMAC/s. Menghitung perkalian dan penjumlahan secara terpisah menggandakan jumlah operasi. Ini merupakan perkiraan pada frekuensi asumsi, bukan hasil sintesis yang diukur.

Hitung lalu lintas pada setiap batas

Injeksi A dan B membutuhkan 2NK nilai: 128 byte untuk operand delapan bit. PE mengonsumsi 512 nilai operand, menunjukkan penggunaan ulang empat kali untuk setiap masukan batas. Interval injeksi yang tumpang tindih dapat membutuhkan delapan byte per tepi, atau 0.8GB/s pada 100MHz. Kebutuhan pasokan puncak berbeda dari kebutuhan rata-rata selama pengisian dan pengurasan.

Asumsikan enam belas hasil menggunakan slot penyimpanan tiga puluh dua bit meskipun lebar akumulator dua puluh bit. Penulisan hasil menambahkan enam puluh empat byte, sehingga lalu lintas eksternal total 192 byte tanpa penggunaan ulang antartile, overhead perintah, atau pemborosan penyelarasan. Intensitas aritmetikanya adalah 256/192=4/3 MAC per byte.

Pada 0.4GB/s, transfer saja membutuhkan sekurang-kurangnya 480ns; komputasi membutuhkan 220ns. Bahkan tumpang tindih sempurna tidak dapat melampaui interval yang lebih panjang, sehingga membatasi laju keluaran sekitar 0.533 GMAC/s. Ini batas atas, bukan kinerja yang dijamin. Tanpa tumpang tindih, pemuatan membutuhkan tiga puluh dua tepi, komputasi dua puluh dua, dan penyimpanan enam belas, sehingga totalnya tujuh puluh tepi dan sekitar 0.366 GMAC/s sebelum inisialisasi atau waktu tunggu lain.

Contoh 3×3 dengan padding pada N=2 memiliki dua puluh tujuh MAC berguna dalam delapan puluh slot PE: utilisasi berguna 33.75%. Menghitung MAC nol padding menghasilkan 60%, pengukuran yang berbeda. Makalah TPU oleh Jouppi dan rekan-rekan adalah acuan penelitian untuk memisahkan kapasitas puncak akselerator dari kinerja beban kerja; contoh numerik kita diturunkan dari jadwal kita sendiri.

Coba sendiri

Untuk tile penuh N=2, K=8, cari jumlah MAC, tepi komputasi, utilisasi, dan byte masukan batas delapan bit.

Baca penjelasan

Ada 32 MAC, sepuluh tepi komputasi, dan empat puluh slot PE, sehingga utilisasi 80%. Masukan batas adalah 2×2×8=32 byte. Utilisasi komputasi mengecualikan pemuatan dan penulisan hasil.

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