Overview
Explore the IBM Liquid Metal project and its approach to heterogeneous computing in this GOTO 2012 conference talk. Delve into the challenges of programming for diverse hardware architectures, including multicores, GPUs, and FPGAs. Learn about the Lime programming language, designed to unify parallel programming paradigms and make heterogeneous systems accessible to mainstream programmers. Discover how the Liquid Metal toolchain compiles Lime applications for various platforms, managing scheduling, communication, and task migration. Gain insights into the advantages of FPGAs, the development experience, and the implementation of the Line Virtual Machine. Examine performance comparisons using an NBody calculation example and understand the potential impact of this technology on future chip designs and software engineering practices.
Syllabus
Intro
Why use GPUs and FPGAs
Advantages of FPGAs
Challenges of heterogeneous programming
Programming FPGAs
Making FPGAs more accessible
Liquid Metal philosophy
Development experience
Java Code
Highlevel abstraction
The tool chain
Debugging
Running Code
Synthesis
Implementation
Line Virtual Machine
NBody Calculation
Performance
FPGA
Summary
Taught by
GOTO Conferences