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.