PAW-ATM Panel
Julian Samaroo (MIT JuliaLab)
Who am I?
I am a Research Software Engineer at MIT's JuliaLab. I work 95% on the Julia language, with a focus on developing libraries for distributed, multi-threaded, and GPU paradigms. I built and maintain Julia's AMDGPU support, and currently focus on developing the Dagger.jl HPC library.
And yes, that is my Golden Retriever in the picture :)

My MPI+X Alternative:
- Pure-Julia task parallelism library
- Unified task API supports multiple high-level APIs (arrays, tables, graphs, streaming, data dependencies)
- Supports multi-threading, multi-node, multi-GPU out of the box
- Machine learning-based scheduler optimizes computational DAGs based on learned task behavior
- Advanced data dependency system automatically parallelizes operations on overlapping data regions (like OpenMP's "task depend" on steroids)

Applications of Dagger.jl
- Quantum Tensor Network Contraction (BSC)
- HEP Streaming Framework (CERN)
- Reinsurance Pricing Engine (Ark)
- ...and more
Advantages
- Removes cognitive burden of manual task scheduling and data transfers
- No/minimal code changes to support different accelerators
- Scales automatically to available hardware
- Variety of built-in parallelized operations
- Multiple APIs for different problems
Known Issues
- Relatively high per-task overhead
-
Missing optimizations for NUMA, optimal scheduling, many small tasks, etc.
-
High memory allocations (count and size)
-
Missing extensive (necessary) docs for new users
- Bus factor == 1 (approximately)
PAW-ATM Panel
By Julian Samaroo
PAW-ATM Panel
- 99