Ringkasan Penting
BittWare telah mengembangkan solusi board akselerasi berbasis FPGA yang menampilkan Intel FPGA selama lebih dari dua dekade. Dalam migrasi terbaru mereka ke Intel Agilex® 7 FPGA terbaru, BittWare tertarik untuk memberikan dukungan bagi oneAPI pada solusi FPGA mereka. Untuk melakukannya, BittWare beralih ke Open FPGA Stack (OFS) dan Paket Dukungan Akselerator oneAPI sumber terbuka yang disediakannya untuk memungkinkan kompilasi kernel aplikasi desain tingkat tinggi (HLD) pada platform berbasis Intel Agilex FPGA mereka.
Latar belakang dan Tantangan
Intel memperkenalkan rangkaian produk Intel Agilex 7 pada tahun 2019. Sejak itu, rangkaian produk Intel Agilex telah berkembang untuk menyertakan beberapa FPGA dan densitas logika berdaya rendah hingga tinggi pada berbagai aplikasi. Seri Intel Agilex 7 FPGA adalah rangkaian Intel Agilex FPGA yang orisinil dan berperforma tinggi. Seri FPGA terdiri dari FPGA dengan performa tertinggi di industri, menghadirkan performa fabrik per watt sekitar 2X lebih baik1 dibandingkan FPGA generasi terbaru dari pesaing. Intel Agilex FPGA yang baru lebih kuat, menarik lebih sedikit daya, dan menyertakan fitur I/O seperti PCIe* 4.0 dan 5.0, yang menargetkan berbagai aplikasi yang menuntut bandwidth, komputasi, dan memori yang besar.
Peningkatan performa ini memberi nilai yang lebih baik bagi pelanggan BittWare, baik performa per watt yang lebih tinggi untuk perangkat edge maupun densitas komputasi untuk pusat data. Untuk aplikasi komputasi performa tinggi (HPC), FPGA menghadirkan penyesuaian aplikasi yang lebih pas antara beban kerja dengan silikon daripada akselerator serba guna. Intel dan BittWare berkolaborasi untuk memporting beban kerja HPC dari Barcelona Supercomputing Center ke kartu IA-840f menggunakan oneAPI, sehingga mencapai percepatan 233X. Proyek ini ditampilkan dalam webinar on-demand Komputasi Performa Tinggi BittWare dengan Intel Agilex FPGA Generasi Berikutnya.
BittWare juga menawarkan sumber daya untuk alat pemrograman tingkat tinggi, seperti laporan resmi dengan kode sampel yang dapat diunduh. Sumber daya ini menunjukkan bagaimana alat tingkat tinggi mempercepat proses pengembangan sekaligus memanfaatkan performa Intel Agilex 7 FPGA yang tinggi.
Alat seperti oneAPI menyediakan bahasa pemrograman paralel yang memungkinkan abstraksi pengembangan FPGA untuk memperbaiki waktu ramp-up dan debug. Sebanding dengan CUDA* pada NVIDIA, atau ROCm* pada AMD, oneAPI menyediakan bahasa pemrograman paralel, Data Parallel C++ (DPC++), yang mengimplementasikan SYCL. Namun, distribusi oneAPI oleh Intel memberikan solusi untuk sebuah lingkungan pemrograman terpadu, perangkat, dan pustaka yang tidak hanya untuk GPU tetapi juga CPU, FPGA, dan VPU seperti prosesor AI Gaudi/Gaudi2.
Dengan memanfaatkan oneAPI, developer yang kurang terbiasa dengan pemrograman FPGA dapat memperoleh manfaat dari arsitektur unik yang fleksibel dan dapat diprogram ulang untuk FPGA sekaligus menggunakan bahasa desain yang sudah dikenal, seperti C/C++, dan lingkungan pengembangan, seperti Visual Studio atau Eclipse. Dengan menggunakan alur desain tingkat tinggi melalui oneAPI, juga meningkatkan portabilitas beban kerja lintas arsitektur, khususnya CPU, GPU, FPGA, dan vendor board.
BittWare, yang perusahaan induknya adalah Molex, adalah mitra Intel yang telah lama merancang dan memproduksi produk akselerasi perangkat keras FPGA kelas perusahaan untuk memungkinkan pelanggan menerapkan solusi mereka lebih cepat dengan risiko yang lebih rendah. Sebagai pemimpin pasar dalam industri akselerasi FPGA selama 20 tahun, BittWare telah bermigrasi dari Intel Stratix® dan Intel Arria® FPGA yang paling awal ke rangkaian produk Intel Agilex terbaru. Ketika menangani rilis terbaru board Intel Agilex FPGA seri “IA”, mereka berusaha memanfaatkan infrastruktur OFS untuk memungkinkan alur pengembangan oneAPI pada platform mereka.
Solusi
Untuk memastikan board mereka memungkinkan alur pengembangan oneAPI, BittWare memanfaatkan sumber daya dan infrastruktur pengembangan FPGA sumber terbuka terbaru -- OFS. OFS adalah infrastruktur perangkat keras dan perangkat lunak lengkap pertama yang sepenuhnya bersumber terbuka dan terdiri dari kode perangkat keras yang dapat dikomposisikan dan kode kernel yang di-up-stream ke kernel.org untuk memungkinkan komunitas developer FPGA yang kolaboratif.
Infrastruktur OFS ini terdiri dari Manajer Antarmuka FPGA (FIM), yang biasa disebut ‘shell’, dan wilayah Accelerator Functional Unit (AFU), yang merupakan wilayah yang ditunjuk untuk pengembangan beban kerja. Dengan menggunakan OFS, developer board dapat memanfaatkan infrastruktur sumber terbuka untuk dengan cepat mengembangkan FIM yang disesuaikan dan dikustom untuk board mereka berdasarkan aplikasi atau industri target. Selain itu, OFS juga menyertakan kerangka kerja perangkat lunak sumber terbuka di mana developer dapat memanfaatkan driver kernel yang di-up-stream dan bersumber terbuka untuk mengakselerasi integrasi ke dalam kerangka kerja umum. Infrastruktur OFS menjawab permintaan board dan beban kerja akselerasi FPGA dengan memberikan metodologi yang kuat untuk sistem akselerasi FPGA yang berkembang pesat. Infrastruktur perangkat keras dan perangkat lunak OFS yang disediakan dapat dimanfaatkan sebagaimana adanya atau disesuaikan dengan cepat untuk memenuhi kebutuhan pasar yang baru dan dinamis.
OneAPI base toolkit yang disediakan Intel mencakup compiler dan lingkungan runtime. Compiler mengubah kernel SYCL, atau kode aplikasi FPGA, menjadi sirkuit perangkat keras. Sirkuit perangkat keras ini memerlukan logika tambahan untuk berkomunikasi dengan periferal board FPGA dan runtime. OFS memberikan logika tambahan ini dalam ASP oneAPI. oneAPI ASP disertakan dalam repositori GitHub OFS sumber terbuka dan diperlukan untuk mengkompilasi dan menjalankan kernel aplikasi HLD pada platform yang didukung OFS. Dokumentasi teknis yang sesuai juga disediakan dan mencakup panduan mulai cepat untuk menyiapkan Intel oneAPI base toolkit pada platform OFS.
Dengan menggunakan repositori dan dokumentasi OFS sumber terbuka yang disediakan, BittWare dapat mengimplementasikan alur desain oneAPI (non-RTL) pada perangkat Intel Agilex mereka dengan sedikit modifikasi tambahan.
Hasil
BittWare adalah yang pertama memasarkan dengan Intel Agilex FPGA Seri F. Tabel di bawah ini menggambarkan dua board yang dikembangkan menggunakan infrastruktur OFS dan ASP oneAPI.
|
|
Memberi pelanggan kami akses ke silikon yang canggih dengan alur pengembangan yang mudah adalah formula kemenangan, terutama karena rangkaian Intel® Agilex™ FPGA generasi terbaru ini memiliki peningkatan performa yang signifikan. Kerja sama kami dengan oneAPI telah membuktikan nilainya bagi berbagai pengguna untuk masuk ke pasar dengan lebih cepat sekaligus mempertahankan performa yang tinggi.
Cara Memulai dengan Akselerasi FPGA Menggunakan OFS
Developer FPGA dapat memilih board yang mendukung OFS dari BittWare IA-420f atau IA-840f dan menggunakan dokumentasi dan kode sumber sumber-terbuka untuk mulai membangun beban kerja kustom mereka.
Tabel berikut menguraikan cara developer dapat memulai pengembangan beban kerja berbasis FPGA menggunakan board akselerasi BittWare.
Manfaatkan akselerasi FPGA untuk beban kerja Anda |
|
---|---|
Langkah 1: Pilih board |
Board yang mendukung OFS dari BittWare, IA-420f, dan IA-840f. |
Langkah 2: Evaluasi sumber daya sumber terbuka OFS |
BittWare akan menyediakan versi dokumentasi teknis OFS yang sesuai. |
Langkah 3: Akses kode perangkat keras dan perangkat lunak sumber terbuka |
BittWare akan menyediakan kode perangkat lunak dan perangkat keras OFS yang sesuai. Ini adalah distribusi spesifik kode dasar OFS milik BittWare (disediakan oleh Intel). |
Langkah 4: Kembangkan beban kerja menggunakan RTL atau C/C++ (menggunakan oneAPI) |
Ikuti alur OFS RTL OR OFS memungkinkan kompilasi kernel oneAPI. Manfaatkan alur pengembangan oneAPI dan bangun beban kerja FPGA dalam C/C++. |