はじめに
Xilinxのgithub に、「The Nanotube Compiler and Framework」 なるものが公開されました。
上記の README.md には、
Nanotube is a collection of compiler passes, libraries, and an API to facilitate execution of EBPF XDP and similar networking code on an FPGA in a SmartNIC. The compiler takes EBPF XDP C code as input and outputs a packet processing pipeline in HLS C++. This HLS C++ code can then be synthesised using Vitis HLS and placed on an FPGA.
とあります。
EBPF XDP とは?
EBPF XDP を Google 君に聞いてみたら出てきました。
XDPとはeXpress Data Pathの略でLinuxカーネル内で動作するeBPFベースの高性能なパケット処理技術です.
となると、この 「The Nanotube Compiler and Framework」にて、EBPF XDP C を HLS C++ に変換して、Vitis HLSにてFPGAへマッピング。。。
EBPF のサンプルコード
おわりに
なんか、楽しそう。。。
参考記事