Skip to content

Latest commit

 

History

History
82 lines (64 loc) · 5.83 KB

FEATURES_ROADMAP.md

File metadata and controls

82 lines (64 loc) · 5.83 KB

Dagger's Supported Features

This is the list of features that Dagger currently supports, as well as their status. If you find a bug in any of the "Great Support" features, please open an issue - for "Moderate Support" or "Poor Support", pull requests are always welcome!

Core

Feature Status Notes Contact (JuliaLang Slack)
Multithreading ✔️ Great Support @jpsamaroo
Distributed ⚠️ Moderate Support Thread-safety issues #101 @jpsamaroo
Fault Tolerance ❌ Poor Support Sometimes unreliable, may fail to recover in trivial cases @jpsamaroo
Checkpointing ⚠️ Moderate Support Inconvenient API @jpsamaroo

DArrays

Feature Status Notes Contact (JuliaLang Slack)
Broadcast ✔️ Great Support @jpsamaroo
Map/Reduce ✔️ Great Support @jpsamaroo
Indexing/Slicing ❌ Poor Support Incorrect/broken slicing, poor performance @jpsamaroo
Matmul ⚠️ Moderate Support Some incorrect boundschecks (for syrk) @Rabab53
Cholesky ⚠️ Moderate Support Missing repartitioning support @Rabab53
Sparse Arrays ❌ Poor Support Needs more supported operations and tests @jpsamaroo

GPUs

Feature Status Notes Contact (JuliaLang Slack)
NVIDIA GPUs ✔️ Great Support @jpsamaroo
AMD GPUs ✔️ Great Support @jpsamaroo
Apple GPUs ⚠️ Moderate Support Missing linalg operations @jpsamaroo or @Rabab53
Intel GPUs ⚠️ Moderate Support Missing linalg operations @jpsamaroo or @Rabab53
KernelAbstractions Integration ⚠️ Moderate Support Missing synchronization optimizations @jpsamaroo

Dagger's Roadmap and Todo List

This is the list of features and improvements that are planned for Dagger. Please consider contributing an improvement if you feel able to do so!

Interfaces

Feature Issue/PR # Help Wanted Testers Wanted Details Contact (JuliaLang Slack)
DGraphs #448 ✔️ ✔️ Graphs.jl interface for Dagger-distributed graphs @jpsamaroo or @pszufe
Streaming Tasks #463 ✔️ ✔️ Streaming task interface for Dagger @jpsamaroo, @JamesWrigley, or @Davide Ferretti
SPMD None ✔️ ✔️ SPMD interface (like MPI) @jpsamaroo
KernelAbstractions Backend None ✔️ N/A KA DaggerBackend for SPMD programming @jpsamaroo
Einsum None ✔️ N/A Einsum-notation operator for DArray @jpsamaroo

DArrays

Feature Issue/PR # Help Wanted Testers Wanted Details Contact (JuliaLang Slack)
Matmul (Sparse) #507 (jps/matmul-gpu-fixes) ✔️ ✔️ Switch from raw BLAS calls to generic_matmatmul! @jpsamaroo or @Rabab53
Matmul (GPU) #543 (jps/matmul-gpu-fixes) ✔️ ✔️ Implement GPU CI for matmul, fix any broken implementation details @jpsamaroo or @Rabab53
LU Factorization rabab/lu ✔️ Need pivoting impl. N/A LU factorization for DArray @Rabab53
QR Factorization #529 ⚠️ WIP N/A QR factorization for DArray @fda-tome
Triangular Solve triangularsolve ✔️ Need wire-up of LinearAlgebra API N/A Triangular solve (A \ B) and ldiv for DArray @Rabab53
SVD None ✔️ N/A SVD for DArray @fda-tome or @Rabab53

Datadeps

Feature Issue/PR # Help Wanted Testers Wanted Details Contact (JuliaLang Slack)
Stencil Helper None ✔️ N/A Helper for stencil computations which lowers to Datadeps @jpsamaroo
MPI Support None ⚠️ WIP ✔️ Datadeps support for automatic MPI usage @fda-tome or @jpsamaroo
Memory Awareness None ✔️ N/A Datadeps support for memory awareness and OOM avoidance @fda-tome or @jpsamaroo
Mixed-Precision Support None ✔️ N/A Datadeps support for automatic precision modification @Rabab53 or @jpsamaroo

GPUs

Feature Issue/PR # Help Wanted Testers Wanted Details Contact (JuliaLang Slack)
Extensive GPU CI None ✔️ N/A More extensive CI for GPU integrations @jpsamaroo
GPU Stream Scheduler None ✔️ N/A Scheduler for assigning tasks to different streams on the same GPU device @jpsamaroo
KA Single-CPU Backend None ✔️ N/A New KernelAbstractions backend for single-threaded CPU execution (helpful for performance of KA kernels in Dagger tasks @jpsamaroo
GraphCore IPU Support None ✔️ N/A IPUToolkit support in Dagger @jpsamaroo or @giordano
Consuming DaggerGPU None ✔️ N/A Move DaggerGPU code and extensions into Dagger @jpsamaroo