Skip to content

Add a Features/Roadmap document #544

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions FEATURES_ROADMAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# 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 | :heavy_check_mark: Great Support | | @jpsamaroo |
| Distributed | :warning: Moderate Support | Thread-safety issues [#101](https://github.com/JuliaLang/Distributed.jl/pull/101) | @jpsamaroo |
| Fault Tolerance | :x: Poor Support | Sometimes unreliable, may fail to recover in trivial cases | @jpsamaroo |
| Checkpointing | :warning: Moderate Support | Inconvenient API | @jpsamaroo |

## DArrays

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

## GPUs

| Feature | Status | Notes | Contact (JuliaLang Slack) |
| ------------- | ------------- | ----- | ------- |
| NVIDIA GPUs | :heavy_check_mark: Great Support | | @jpsamaroo |
| AMD GPUs | :heavy_check_mark: Great Support | | @jpsamaroo |
| Apple GPUs | :warning: Moderate Support | Missing linalg operations | @jpsamaroo or @Rabab53 |
| Intel GPUs | :warning: Moderate Support | Missing linalg operations | @jpsamaroo or @Rabab53 |
| KernelAbstractions Integration | :warning: Moderate Support | Missing synchronization optimizations | @jpsamaroo |


# Dagger's Roadmap

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!

## DArrays

| Feature | Issue/PR # | Help Wanted | Testers Wanted | Details | Contact (JuliaLang Slack) |
| ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
| LU Factorization | None | :warning: WIP, need pivoting impl. | N/A | LU factorization for DArray | @Rabab53 |
| QR Factorization | #529 | :warning: WIP | N/A | QR factorization for DArray | @fda-tome |
| Triangular Solve | None | :warning: WIP | N/A | Triangular solve (`A \ B`) and `ldiv` for DArray | @Rabab53 |
| SVD | None | :heavy_check_mark: | N/A | SVD for DArray | @fda-tome or @Rabab53 |

## Datadeps

| Feature | Issue/PR # | Help Wanted | Testers Wanted | Details | Contact (JuliaLang Slack) |
| ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
| Datadeps Stencil Helper | None | :heavy_check_mark: | N/A | Helper for stencil computations which lowers to Datadeps | @jpsamaroo |
| Datadeps MPI Support | None | :warning: WIP | :heavy_check_mark: | Datadeps support for automatic MPI usage | @fda-tome or @jpsamaroo |
| Datadeps Memory Awareness | None | :heavy_check_mark: | N/A | Datadeps support for memory awareness and OOM avoidance | @fda-tome or @jpsamaroo |

## GPUs

| Feature | Issue/PR # | Help Wanted | Testers Wanted | Details | Contact (JuliaLang Slack) |
| ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
| GPU Stream Scheduler | None | :heavy_check_mark: | N/A | Scheduler for assigning tasks to different streams on the same GPU device | @jpsamaroo |
| KernelAbstractions Backend | None | :heavy_check_mark: | N/A | KA DaggerBackend for SPMD programming | @jpsamaroo |
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,18 @@ more examples in the docs, and more use cases examples are welcome (just file
an issue or PR).

## Contributing Guide

Please see the roadmap for missing features or known bugs:

[Dagger Features and Roadmap](FEATURES_ROADMAP.md)

Other resources:

[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub issues](https://img.shields.io/github/issues/JuliaParallel/Dagger.jl)](https://github.com/JuliaParallel/Dagger.jl/issues)
[![GitHub contributors](https://img.shields.io/github/contributors/JuliaParallel/Dagger.jl)](https://github.com/JuliaParallel/Dagger.jl/graphs/contributors)

Contributions are encouraged.
Contributions are encouraged.

There are several ways to contribute to our project:

Expand All @@ -83,6 +90,7 @@ There are several ways to contribute to our project:
Additional examples and documentation improvements are also very welcome.

## Resources

List of recommended Dagger.jl resources:
- Docs [![][docs-master-img]][docs-master-url]
- Videos
Expand Down