Intro to Field-Programmable Gate Arrays (FPGAs)

Nov 10, 2021, 2:30 pm4:00 pm
Remote Workshop on Zoom
Event Description

While the Field Programmable Gate Array (FPGA) is very flexible, using it has historically required deep FPGA expertise and special programming skills in hardware description languages (e.g. VHDL/Verilog). Nowadays, FPGAs have become more accessible as support for this hardware has become available in higher-level languages.

Princeton has made a modest investment in FPGAs from Intel for use by its computational researchers, in part because Intel has invested effort into making FPGAs usable with higher-level languages like OpenCL, C++, and most recently Data Parallel C++ through the oneAPI programming model.

This workshop provides a "big picture" primer on Princeton’s FPGA hardware and some of its research use-cases, followed by a tour of some of the FPGA-related software development and software engineering tools available on della-fpga (Princeton’s FPGA nodes). The live demo and hands-on examples will allow attendees to gain some familiarity of programming FPGAs with OpenCL on della-fpga. 

Workshop format: Lecture, demonstration, and some simple hands-on exercises

Target audience: While not a replacement for either CPUs or GPUS, FPGAs can be a powerful addition to a heterogenous compute tool belt that can help augment code performance, and participants will walk away with knowledge of what FPGAs could do for them and with resources for learning more about this exciting hardware.

Knowledge prerequisites: Basic Linux, experience with C/C++, and basic familiarity with the Princeton research computing clusters.  Prior experience with parallel programming on CPUs and/or GPUs is helpful but not strictly required.

Hardware/software prerequisites: Participants in any PICSciE virtual workshop need a Princeton Zoom account. For those that will be participating you will need an account on Della.  If you already have an account on Della there is no set-up, if you don't have account we will create a temporary account for you to use.   If you are not able to log into Della that is fine as well, as you could just follow along with the instructor without the hands-on component.

Learning objectives: Attendees will get a better understanding of the research use-cases for FPGAs and gain exposure to different tools used to program them.