After getting GRIM up and running, I did a lot of work hooking it up to differerent peripheral devices. For the Novel uses of SANs workshop I wrote a paper that descrives how to build a GRIM communication endpoint for FPGA accelerators, and how users could set up a computational pipeline for the devices with some simple forwarding tables.
This paper explores the view that the SAN network infrastructure can be an active computational entity capable of supporting certain classes of data intensive computations effectively during communication. The performance is achieved via the use of Field Programmable Gate Arrays (FPGAs) in the network interfaces (NIs). This paper describes the programming model and the design of a prototype hardware/software implementation using commercial FPGA devices coupled with Myrinet. An active messages style of programming is used to support application-transparent, dynamic reconfiguration of the FPGA hardware to accommodate different computations over time. Performance evaluation of this implementation quantifies the overheads and sources of performance improvement.