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!
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
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
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!
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
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
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
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