Corundum – open-source FPGA-based NIC and platform for in-network compute
github.comAlex Forencich has been live streaming rebuilding Corundum starting a few weeks ago: https://www.youtube.com/@AlexForencich/streams
As I understand it Taxi is where new development is happening: https://github.com/fpganinja/taxi
This is correct, and the result of those streams has been released as corundum-proto here: https://github.com/fpganinja/taxi/tree/master/src/cndm_proto . Note that this simplified design is intended for educational purposes only, the "production" variants will be much more capable (corundum-micro, corundum-lite, and corundum-ng).
A very cool project but I find it hard to use as a hobby considering how expensive the hardware is. All I really need is to play around with FPGA-based UDP filtering.
I'm using some very cheap (~$200) ex-Alibaba FPGA boards for the initial development of the next-generation version. They have 8 lanes of PCIe gen 3 and two SFP28 capable of operation at 25 Gbps. Honestly that's pretty hard to beat. Support for other boards will be added in the near future. The new library will also include a new IP stack called Zircon, which supports UDP, among other things.
These things are probably the best bang for your buck right now.
That's why I was happy to see Kria on the supported hardware list: it's a SoM priced for mortals. I'm not going to run out and kit every one of my personal networked boxes with these, but at least it makes playing with one reasonable to consider.
I need to check, but you might be able to get as low as 500 or 1000 eur, expecially if you can give up the pci express and use the arm cpu in a zynq fpga as "host" instead of a x86 server.
The hardware is pretty expensive, but you can either get used Alveo's on eBay in under two grand, or any other supported custom builds with less bandwidth for half that. But 100G is worth it, honestly.
Do you have personal experience with the project? If I buy the hardware today, how easy is it to get going? Do you have to work directly with the Corundum library to add functionality?
The ex-Alibaba KU3P boards are available for under $200, although you do need a separate JTAG cable with flying leads to load designs on them. I recommend starting with that. I'm building the next-generation version of Corundum on those boards, at least initially. I will certainly be adding support for Alveos and such in the near future. As far as adding functionality, it depends on what you want to do, but in general you should expect to have to do a fair amount of tinkering with the design.
The best-in-class NIC reference design, so long as you don't need to go higher than 100G. My dream has been to implement PagedAttention over RoCE entirely in hardware, and even though Corundum will not get us there, it's been otherwise instrumental to that end.
The plan for corundum-ng is to support 400G, but it will be a while before this is available.
wow, say more..