CFU Playground: Kerangka Sumber Terbuka Full-Stack untuk Akselerasi TinyML di FPGA
Ingin prosesor ML yang lebih cepat? Lakukan sendiri!
Table of Contents
Proyek ini menyediakan kerangka kerja yang dapat digunakan oleh seorang insinyur, magang, atau siswa untuk merancang dan mengevaluasi peningkatan ke FPGA- berbasis prosesor “lunak”, khusus untuk meningkatkan kinerja tugas pembelajaran mesin (ML). Tujuannya adalah untuk mengabstraksikan sebagian besar detail infrastruktur sehingga pengguna dapat mempercepat dengan cepat dan hanya fokus pada penambahan instruksi prosesor baru, mengeksploitasinya dalam komputasi, dan mengukur hasilnya.
Proyek ini memungkinkan iterasi cepat pada peningkatan prosesor — beberapa iterasi per hari.
Begini cara kerjanya:
Pilih model TensorFlow Lite; model deteksi orang terkuantisasi disediakan, atau bawa sendiri.
Jalankan inferensi pada papan Arty FPGA untuk mendapatkan jumlah siklus per lapisan.
Pilih operator TFLite untuk mempercepat, dan gali kode itu.
Desain baru instruksi yang dapat menggantikan beberapa operasi dasar.
Membangun unit fungsi kustom (sejumlah kecil perangkat keras) yang menjalankan instruksi baru .
Modifikasi kernel perpustakaan TFLite/Micro untuk menggunakan instruksi baru, yang tersedia sebagai intrinsik dengan sintaks panggilan fungsi.
Buat ulang Soc FPGA, kompilasi ulang perpustakaan TFLM, dan jalankan kembali untuk mengukur peningkatan.
Fokus di sini adalah performa, bukan demo. Input ke inferensi ML dikalengkan/dipalsukan, dan satu-satunya output adalah jumlah siklus. Perbaikan yang dibuat di sini dapat diekspor ke demo yang sebenarnya, tetapi saat ini tidak ada jalur yang disiapkan untuk melakukannya.
Dengan pengecualian Vivado, semua yang digunakan oleh proyek ini adalah open source.
Penafian: Ini bukan proyek Google yang didukung secara resmi. Dukungan dan/atau rilis baru mungkin terbatas.
Ini adalah prototipe awal kerangka kerja eksplorasi ML; mengharapkan kurangnya dokumentasi dan kerusakan sesekali. Jika Anda ingin berkolaborasi dalam membangun kerangka kerja ini, hubungi tcal@google.com! Lihat “Pedoman kontribusi” di bawah.
Perangkat keras/OS yang diperlukan
Salah satu papan yang didukung oleh Papan LiteX. Sebagian besar target Papan LiteX harus berfungsi. Itu telah diuji pada Arty A7-35T/100T, iCEBreaker, Fomu, OrangeCrab
, ULX3S
, dan Nexys Video
boards.
Satu-satunya OS host yang didukung adalah Linux (Debian / Ubuntu).
Anda tidak memerlukan papan apa pun jika ingin menjalankan simulasi Renode atau Verilator.
Perangkat lunak yang diasumsikan
FPGA Toolchain: itu tergantung pada papan yang dipilih. Jika Anda sudah memasang rantai alat untuk papan Anda, Anda dapat menggunakannya.
Untuk papan dengan bagian Xilinx XC7, Anda dapat menggunakan Vivado, yang harus diinstal secara manual (ini panduan kami), atau rantai alat SymbiFlow open-source, yang dapat dengan mudah diinstal menggunakan Conda (lihat Panduan Pemasangan).
Untuk papan dengan Lattice iCE40, ECP5, atau Nexus FPGA, Anda dapat menginstal seperangkat alat sumber terbuka yang sesuai baik melalui Conda (lihat Panduan Penyiapan) atau sendiri dengan membangun dari sumber. Atau, Anda dapat menggunakan toolchain Lattice (Radiant/Diamond).
Jika Anda ingin mencoba berbagai hal menggunakan simulasi Renode, maka Anda tidak memerlukan board atau toolchain. Anda juga dapat melakukan simulasi akurat siklus tingkat Verilog dengan Verilator, tetapi ini jauh lebih lambat. Renode diinstal oleh skrip setup.
Paket lain yang diperlukan akan diperiksa dan, jika pada sistem berbasis Debian, otomatis diinstal oleh skrip setup di bawah.
Mempersiapkan
Klon repo ini, cd ke dalamnya, lalu jalankan:
Gunakan dengan papan
Papan default adalah Arty. Jika Anda ingin menggunakan papan yang berbeda, Anda harus menentukan target, misalnya TARGET=digilent_nexys_video
.
Bangun SoC dan muat bitstream ke Arty:
CD proj/proj_template buat prog
Ini membangun SoC dengan CFU default dari proj/proj_template. Nanti Anda akan menyalin ini dan memodifikasinya untuk membuat proyek Anda sendiri.
Buat program RISC-V dan jalankan di SoC yang baru saja Anda muat ke Arty:
Gunakan tanpa papan
Jika Anda tidak memiliki papan yang didukung oleh Papan LiteX, Anda dapat menggunakan Renode atau Verilator untuk mensimulasikannya.
Untuk menggunakan Renode untuk mengeksekusi pada simulator pada mesin host (tidak diperlukan papan Vivado atau Arty), jalankan:
Untuk menggunakan Verilator untuk mengeksekusi pada simulator tingkat RTL yang akurat siklus ( tidak diperlukan papan Vivado atau Arty), jalankan:
Bendera make paling berguna
Pilihan
Penjelasan
Contoh
Bawaan
PERON
Pilih platform SoC yang Anda inginkan untuk membangun: hps atau sim atau umum_soc
membuat bitstream PLATFORM=hps
common_soc
TARGET
Pilih salah satu dari banyak target dari repositori LiteX Boards, common_soc akan mengambil BaseSoC dari yang ditentukan target.py
buat bitstream TARGET=nexys_video_board
digilent_arty
USE_VIVADO
Gunakan rantai alat Vivado
buat bitstream USE_VIVADO=1
0
USE_SYMBIFLOW
Gunakan rantai alat Symbiflow
buat bitstream USE_SYMBIFLOW=1
0
UART_SPEED
Pilih baudrate UART
membuat bitstream UART_SPEED=115200
3686400
ABAIKAN_TIMING
Abaikan waktu kendala (hanya untuk Vivado)
buat bitstream USE_VIVADO=1 IGNORE_TIMING=1
0
LiteX: Kerangka kerja sumber terbuka untuk merakit SoC (CPU + periferal)
VexRiscv: RISC sumber terbuka- V soft CPU yang dioptimalkan untuk FPGA
nMigen: Python toolbox untuk membangun perangkat keras digital
Berlisensi di bawah lisensi Apache-2.0
Lihat file LISENSI.
Pedoman kontribusi
Jika Anda ingin berkontribusi di CFU Playground, pastikan untuk membaca panduan kontribusi. Proyek ini mematuhi kode etik Google. Dengan berpartisipasi, Anda diharapkan untuk menjunjung tinggi kode ini.
Proyek Antarmuka VGA Mikrokontroler KecilVGA.com: Proyek Mikrokontroler VGA Tertarik dengan solusi VGA yang mudah digunakan untuk aplikasi tertanam? Klik disini! Microchip PIC 16F84 Output VGA Output mode Teks VGA Atmel AVR Output VGA grafis…
Bias dalam AI menyebar dan saatnya untuk memperbaiki masalah Apakah Anda melewatkan sesi dari Future of Work Summit? Kunjungi perpustakaan sesuai permintaan Future of Work Summit kami untuk streaming. Artikel ini disumbangkan oleh Loren Goodman, salah satu pendiri dan…
Spesifikasi CPU Intel Alder Lake Non-K dikonfirmasi… Singkatnya: Intel diharapkan untuk mengungkapkan versi non-K dari Alder Lake (Core 12-gen) di CES pada hari Selasa, tetapi Asus dan Colorful telah mengkonfirmasi beberapa spesifikasi mereka terlebih dahulu. Beberapa model…
Acara Apple untuk iPhone SE 5G dan iPad Air bocor… Pembicaraan tentang 5G yang menyebar lebih jauh melalui jangkauan Apple terus berlanjut, dan sekarang kita mungkin memiliki tanggal untuk peluncuran perangkat keras besar pertama perusahaan tahun ini. Menurut Mark Gurman…
Bagaimana Membangun Ketangkasan Digital Menjadi… Saat kita bergerak ke fase pandemi berikutnya, lebih dari 90% organisasi menengah berencana untuk bermigrasi ke struktur kerja hibrida untuk setidaknya beberapa karyawan mereka. Lingkungan kerja hybrid menekankan pentingnya investasi…
Menguak Jejak Masa Lalu Indonesia: Emodul Sejarah… Belajar Sejarah Indonesia Kelas 12 dengan Emodul Interaktif dan Menyenangkan Apakah Anda merasa kesulitan mempelajari sejarah Indonesia kelas 12? Apakah Anda merasa materi yang diajarkan terlalu berat dan sulit dipahami?…
Desktop XPS baru Dell adalah pembangkit tenaga… Sesuatu yang dinanti-nantikan: Setelah berbulan-bulan antisipasi, Intel hari ini mengungkapkan CPU Alder Lake generasi ke-12. Ditetapkan untuk diluncurkan minggu depan, OEM telah mulai mengumumkan PC yang akan menggabungkan prosesor, dengan…
3 Dampak AI di Industri Terjemahan Mesin Pendapat yang dikemukakan oleh kontributor Entrepreneur adalah milik mereka sendiri. Anda sedang membaca Entrepreneur United States, sebuah waralaba internasional dari Entrepreneur Media. Sepanjang sejarah, komunikasi telah menjadi komponen penting dari…
Azulle Ally – PC Mini Android 10 untuk aplikasi bisnis Di era digital saat ini, semakin banyak bisnis di seluruh dunia yang menggunakan aplikasi bisnis yang berjalan khusus di Android untuk menjalankan operasionalnya dengan lancar. Di zaman di mana pengiriman…
AMD: tambalan datang untuk masalah kinerja Windows 11 Sejak pembaruan Windows 11 mulai diluncurkan awal minggu ini, beberapa orang telah mengomentari dampak kinerja dengan konfigurasi perangkat keras / perangkat lunak tertentu. AMD telah mengkonfirmasi masalah yang hadir dengan…
Dramawan vs Selene Proses pengujian yang efektif adalah faktor terpenting untuk kinerja aplikasi yang sukses. Setiap bug yang lolos pengujian akan mengurangi kualitas layanan aplikasi. Untuk mengatasinya, satu-satunya cara yang mungkin adalah memiliki…
Apa itu layanan desktop dan bagaimana cara kerjanya? Desktop sebagai layanan (DaaS) adalah model untuk mengirimkan data melalui Internet. Ini adalah cara untuk menyerahkan pengelolaan dan penyimpanan data kepada pihak ketiga. Dengan DaaS, perusahaan dapat fokus pada kompetensi…
Finlandia pindah ke industri komputasi kuantum Kementerian Ekonomi Finlandia baru-baru ini mendanai proyek inovasi untuk Pusat Penelitian Teknis VTT Finlandia untuk membangun komputer kuantum. VTT meminta IQM, sebuah startup lokal, untuk membantu proyek tersebut, yang dimulai…
Penerapan Model Pembelajaran Project Based Learning… Oleh: Solekhah ABSTRAK. Penerapan Model Pembelajaran Project Based Learning untuk Meningkatkan Motivasi Belajar Siswa pada Pembelajaran Sejarah pada Kelas X TBSM-1 di SMK Muhammadiyah Tahun 2023-2024. Pembelajaran sejarah di SMK…
Mengukur kualitas manajemen proyek konstruksi Kualitas manajemen proyek menentukan seberapa baik proyek dikelola dan seberapa sukses proyek itu nantinya.Tapi bagaimana Anda mengukur kualitas manajemen proyek? Sebenarnya, apa itu manajemen proyek konstruksi? Manajemen proyek konstruksi berarti…
Instrumen V Collection Arturia sekarang memiliki… Sekarang jauh lebih mudah menggunakan softsynths Arturia di MacBook baru Anda. Arturia telah merilis pembaruan V Collection 8.2 gratis yang menambahkan dukungan asli ke suite (saat ini didiskon) untuk Mac…
Fraugster bekerja sama dengan Elvah untuk mengatasi… Pekan lalu, penyedia intelijen pembayaran Fraugster mengumumkan bahwa mereka telah menjalin kemitraan dengan perusahaan e-mobilitas Elvah untuk menciptakan layanan perlindungan pembayaran terkelola baru. Di masa depan, Elvah akan menawarkan perlindungan…
Teknologi berbasis ML adalah terobosan berikutnya… 29 November 2021 16:40 Kredit Gambar: kentoh/Shutterstock Mendengar dari CIO, CTO, dan eksekutif tingkat C dan senior lainnya tentang data dan strategi AI di Future of Work Summit 12 Januari…
Alat Baru Mengukur Green IT, Keberhasilan Keberlanjutan Seiring perusahaan berusaha untuk membawa keberlanjutan ke tingkat berikutnya dan mendapatkan gambaran yang lebih lengkap tentang emisi gas rumah kaca mereka, ada kebutuhan yang semakin besar untuk mengukur hasil dan…
Mac Studio Apple Adalah Desktop yang Lebih Perkasa… Dari iPhone SE dan iPad Air baru hingga chipset M1 Ultra yang kuat, acara perangkat keras musim semi Apple menghadirkan versi terbaru dari gadget dan prosesor yang ada. Tetapi perusahaan…
Hubungan FSF dengan firmware berbahaya bagi pengguna… FSF memiliki hubungan yang tidak menguntungkan dengan firmware, menghasilkan kebijakan yang masuk akal di akhir 1980-an, tetapi secara aktif merugikan pengguna saat ini, dengan merekomendasikan peralatan usang, yang membutuhkan peningkatan…
Memanfaatkan SIMD: Memisahkan File CSV pada 3Gb/S Masalah ¶ Saat berurusan dengan file besar, misalnya file yang tidak muat di RAM, membagi file menjadi beberapa bagian adalah suatu keharusan. Beberapa format data seperti NDJSON dapat dipisah secara…
Pengusaha perangkat lunak manajemen bisnis harus… Akan selalu ada beberapa hal yang terjadi, terlepas dari ukuran organisasi Anda. Mengelola terlalu banyak hal secara bersamaan tanpa membuat kesalahan tidak mungkin dilakukan. Jika Anda ingin memperbaiki semuanya, masuk…
Apple memperkenalkan SoC komputer M1 Pro dan M1 Max 5nm Pada acara Unleashed di Cupertino pada hari Senin, SoC komputer baru Apple yang sangat dinanti diperkenalkan. Dibangun pada proses 5nm canggih dan menampilkan hingga 57 miliar transistor, chip baru, Apple…
3 Kesalahan Terbesar yang Dilakukan Perusahaan Saat… Menurut Hosting Tribunal, 94% perusahaan memiliki kehadiran cloud, tetapi hanya 20% yang telah mengalami transformasi cloud. Sebagian, itu karena transformasi cloud adalah inisiatif yang mahal bagi perusahaan, menghasilkan jutaan dolar…
Strategi Kode Rendah Pratt & Whitney untuk Menghemat… Produsen mesin kedirgantaraan Pratt & Whitney memperluas penggunaan sumber daya berkode rendah untuk merampingkan proses operasional tertentu dan membuat penggunaan memori institusional veterannya secara lebih efisien. Dengan hampir satu abad…
Mempercepat Kemajuan dalam Keberlanjutan dengan XaaS Ketika para pemimpin industri mulai menghargai urgensi perubahan iklim dan peran penting yang mereka mainkan dalam menguranginya, mereka mencari cara untuk menggunakan sumber daya dan energi secara lebih efisien. Tekanan…
Merangkul janji masa depan komputasi di mana-mana Internet dan perangkat pintar ada di mana-mana, yang berarti komputasi juga harus ada di mana-mana. Dan di sinilah edge computing berperan, karena seiring perusahaan mengejar pengambilan keputusan yang lebih cepat…
Intel memahkotai kepala PC baru Intel Intel telah menunjuk Michelle Johnston Holthaus, wakil presiden eksekutif saat ini dari Grup Penjualan, Pemasaran, dan Komunikasinya, sebagai kepala baru Grup Komputasi Klien ( CCG), yang mencakup jajaran prosesor…
Survei Steam terbaru menunjukkan keuntungan di… Singkatnya: Ini adalah awal bulan baru, dan itu berarti Survei Uap yang diperbarui. November melihat AMD melanjutkan tren perlahan-lahan memotong keunggulan prosesor Intel. Dan sementara jumlah orang yang membeli kartu…