CFU Playground: Kerangka Sumber Terbuka Full-Stack untuk Akselerasi TinyML di FPGA
Ingin prosesor ML yang lebih cepat? Lakukan sendiri!
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.
Daftar Isi
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.
Pachyderm sedang merekrut Pemimpin DevRel untuk… Ingin menjadi bagian dari sekelompok orang yang bersemangat yang menjalankan misi untuk membuat ilmu data dapat dijelaskan, dapat diulang, dan terukur? Bergabunglah dengan “The Pach”! Lihat Posisi Terbuka Mengapa Bekerja…
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…
CPU AMD Ryzen 7000 series Zen 4 yang baru dirilis… Baru-baru ini, AMD telah secara resmi mengumumkan peluncuran seri CPU Desktop AMD Ryzen 7000 yang barudidukung oleh arsitektur mikro Zen 4 terbaru dari AMD, didukung oleh node proses N5 5nm…
Rahasia Xiaomi Mi T : Tips & Cara Memmaksimalkan Ponsel Anda ## Tips dan Trik Xiaomi 13T: Memaksimalkan Ponsel Anda dengan Fitur-fitur Canggih Xiaomi 13T hadir dengan berbagai fitur canggih yang dapat memudahkan dan mempercepat berbagai aktivitas Anda. Namun, tidak semua…
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…
Apple Diam-diam Menyertakan Fitur Luar Biasa di… IPhone 13 Pro memiliki beberapa fitur hebat yang sulit untuk dilewatkan. Sistem kamera, yang secara harfiah lebih besar dari sebelumnya, adalah salah satu contoh nyata. Tidak hanya lensa dan sensor…
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…
Fondasi untuk proyek pertama Anda Sebuah komputer kecil namun kuat, Raspberry Pi telah menarik minat para pecinta dan penggemar teknologi di seluruh dunia. Ini memberikan metode luar biasa untuk menjelajahi dunia gadget dan proyek DIY,…
Microsoft menawarkan perbaikan beta untuk masalah… Pada hari Jumat, Microsoft mulai menguji perbaikan untuk menghilangkan masalah latensi cache yang telah mengganggu PC yang ditenagai oleh prosesor AMD Ryzen yang menjalankan Windows 11. Namun, tambalan, bagian dari…
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…
Intel Core i9-12900K vs AMD Ryzen 9 5900X Beranda BeritaKomputasi ) (Kredit gambar: Masa Depan) Sejak prosesor AMD Ryzen pertama memasuki pasar pada tahun 2017, Intel agak bersikap defensif. Itu terjebak pada proses 14nm begitu lama, dan sementara…
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…
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…
4 Hal Paling Penting yang Dapat Anda Kerjakan Tahun Ini Saya baru-baru ini berbicara dengan seorang pemilik bisnis, yang tampaknya bangga dengan daftar tugas yang panjang. Setelah sedikit dorongan, saya mengetahui bahwa mereka mengira daftar tugas yang lengkap adalah tanda…
Kit pembuatan PC NZXT menghilangkan rasa takut dan… Jika Anda ingin mencoba membuat PC, tetapi terintimidasi oleh banyaknya pilihan suku cadang dan potensi sakit kepala kompatibilitasnya, pembuat perangkat keras PC NZXT ada di sini untuk membantu. Perusahaan sekarang…
Mengapa penawaran khusus harus menjadi bagian dari… Dalam lanskap periklanan digital yang ramai, kesuksesan bermuara pada hasil yang terbukti. Pemasar semakin berusaha untuk menyebarkan wawasan unik dan berbeda untuk membeli secara lebih efektif, sementara agensi, pemain teknologi…
FTC menggugat untuk menghentikan pembelian Nvidia Arm Berdebat bahwa inovasi dan persaingan akan dirugikan, Komisi Perdagangan Federal pada hari Kamis menggugat untuk membatalkan rencana pembelian Arm oleh raksasa grafis Nvidia. Badan federal yang dibebankan dengan penegakan anti-trust…
Bagaimana Kubernetes dengan cepat menjadi sistem… 19 Desember 2021 10:20 Kredit Gambar: BlackJack3D/Getty Mendengar dari CIO, CTO, dan eksekutif tingkat C dan senior lainnya tentang data dan strategi AI di Future of Work Summit 12 Januari…
Intel secara resmi dalam bisnis penambangan bitcoin sekarang Intel telah mengumumkan rencananya untuk sepenuhnya merangkul teknologi blockchain dan akhirnya memasuki ruang penambangan bitcoin dengan chip baru yang akan tersedia akhir tahun ini.Dalam posting blog baru, chip tersebut raksasa…
Mana yang lebih baik untuk bermain game Ada persaingan sengit antara gamer Android dan iPhone untuk memperebutkan gelar perangkat gaming terbaik. Namun, tidak ada sistem operasi yang secara inheren lebih unggul atau berperingkat lebih tinggi dari yang…
Facebook menanam ide metaverse tetapi Apple… Pengguna media sosial dan dunia bisnis sekarang memiliki gambaran umum tentang apa itu metaverse, berkat penyemaian istilah selama setahun oleh CEO Meta Mark Zuckerberg pada panggilan investor dan selanjutnya mengubah…
Laptop terbaik untuk mengedit video Gordon Mah Ung / IDG Pengeditan video adalah salah satu tugas paling berat yang dapat Anda lakukan di PC, jadi saat Anda berbelanja laptop untuk mengedit video, Anda saya ingin…
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…
Rahasia Xiaomi Mi T : Tips & Cara Memmaksimalkan Ponsel Anda ## Tips dan Trik Xiaomi 13T: Memaksimalkan Ponsel Anda dengan Fitur-fitur Canggih Xiaomi 13T hadir dengan berbagai fitur canggih yang dapat memudahkan dan mempercepat berbagai aktivitas Anda. Namun, tidak semua…
Di mana membeli CPU 'Alder Lake' generasi… Gordon Mah Ung Pengecer mulai mengungkapkan harga jalanan dan ketersediaan untuk prosesor Intel Core "Alder Lake" generasi ke-12 yang baru, dan meskipun tidak aneh, mereka 'tidak terlalu cantik baik. CPU…
Opera menjadi crypto penuh dengan Proyek Peramban Crypto Opera Software melanjutkan trennya dalam membangun browser khusus dengan The Crypto Browser Project, browser Web3 khusus yang dioptimalkan untuk penggunaan blockchain dan cryptocurrency, bersama dengan browser khusus miliknya sendiri. wallet.…
Bagaimana membuat AI lebih ramah lingkungan dan… Wirth Research, sebuah perusahaan teknik yang mengkhususkan diri dalam dinamika fluida komputasi, menjadi semakin peduli dengan kelestarian lingkungan. Awalnya berfokus pada desain mobil balap, memungkinkan klien untuk mengganti angin yang…
GPD Pocket 3: Keajaiban Teknologi Kecil dengan… GPD Pocket 3: Keajaiban Teknologi Kecil dengan Performa Maksimal Salam, Sobat Sekitar! Apakah kamu pernah mendengar tentang GPD Pocket 3? Sebuah perangkat revolusioner yang menyatukan kekuatan teknologi dengan ukuran yang…
Cara Membangun Program Peningkatan Keterampilan yang Sukses Upskilling adalah investasi jangka panjang dalam menambah pengetahuan, keterampilan, dan kompetensi yang membantu karyawan memajukan karir mereka. Ketika karyawan ditawarkan dan didorong untuk memanfaatkan peluang peningkatan keterampilan untuk pertumbuhan pribadi…
Duolingo Dinilai $ 4 Miliar. Begini Cara Menjadi… Aplikasi pendidikan terbaik tidak terasa seperti aplikasi pendidikan sama sekali.Itu menurut Luis von Ahn, salah satu pendiri dan CEO aplikasi pembelajaran bahasa Duolingo. Pengguna belajar bahasa melalui berbagai permainan dan…