1. FISH: Linux system calls for FPGA accelerators
- Author
-
Kevin Nam, Blair Fort, and Stephen J. Brown
- Subjects
010302 applied physics ,Computer science ,business.industry ,Interface (computing) ,Linux kernel ,02 engineering and technology ,epoll ,computer.software_genre ,01 natural sciences ,020202 computer hardware & architecture ,Software ,System call ,Embedded system ,0103 physical sciences ,0202 electrical engineering, electronic engineering, information engineering ,Operating system ,Central processing unit ,Field-programmable gate array ,business ,computer ,Host (network) - Abstract
This, paper presents the FISH (FPGA-Initiated Software-Handled) framework which allows FPGA accelerators to make system calls to the Linux operating system in CPU-FPGA systems. A special FISH Linux kernel module running on the CPU provides a system call interface for FPGA accelerators, much like the ABI which exists for software programs. We provide a proof-of-concept implementation of this framework running on the Intel Cyclone V SoC device, and show that an FPGA accelerator can seamlessly make system calls as if it were the host program. We see the FISH framework being especially useful for high-level synthesis (HLS) by making it possible to synthesize software code that contains system calls.
- Published
- 2017