Julia meets the Intelligence Processing Unit

07/26/2023, 7:00 PM — 7:30 PM UTC
32-141

Abstract:

In this talk I will detail about the effort to run Julia code on the Intelligence Processing Unit (IPU), a massively parallel accelerator developed by Graphcore and powered by 1472 cores.

Description:

While Julia natively runs only on capable enough CPUs, the GPUCompiler.jl package allows generating code for other devices where Julia itself wouldn't be able to run (for example because of memory constraints or lack of support), thus offloading specific tasks to accelerators or other dedicated hardware.

The Intelligence Processing Unit (IPU) is an accelerator for massively parallel workflows developed by Graphcore and powered by 1472 cores. The IPU is typically employed in machine-learning applications through the optimised libraries developed by Graphcore, but the flexibility of this processor makes it suitable also for many other numerical programs. Julia offers the opportunity to write high-level custom code that can be compiled down to native code for the IPU with GPUCompiler.jl, without having to directly interface to the SDK provided by Graphcore.

In this talk I will detail about the effort, in collaboration with researchers at the Simula Research Laboratory, to use Julia code on the IPU, presenting simple benchmarks and applications involving also DifferentialEquations.jl and Enzyme.jl.

Platinum sponsors

JuliaHub

Gold sponsors

ASML

Silver sponsors

Pumas AIQuEra Computing Inc.Relational AIJeffrey Sarnoff

Bronze sponsors

Jolin.ioBeacon BiosignalsMIT CSAILBoeing

Academic partners

NAWA

Local partners

Postmates

Fiscal Sponsor

NumFOCUS