-
Notifications
You must be signed in to change notification settings - Fork 89
Description
Proposal: Project Transfer - rocm-rs
Hi RustGPU team,
I'm the maintainer of rocm-rs, a project that provides safe Rust bindings and wrappers for AMD's ROCm (Radeon Open Compute) libraries. I'm reaching out because I believe this project would be a great fit for the RustGPU ecosystem and would benefit from being under your stewardship.
Why I'm Proposing This Transfer
I can no longer actively maintain this project due to time constraints and other commitments. Rather than let it stagnate, I believe rocm-rs would thrive under the RustGPU organization where:
- Better alignment: The project fits naturally within RustGPU's mission of enabling GPU computing in Rust
- Active community: Your community has the expertise and resources to maintain and grow the project
- Synergies: There's potential for integration with existing RustGPU tooling and workflows
- Sustainability: The project would have long-term support and development
About rocm-rs
rocm-rs provides comprehensive Rust bindings for AMD ROCm libraries, enabling Rust developers to leverage AMD GPUs for high-performance computing.
Current Features
- ✅ HIP - Heterogeneous-Compute Interface for Portability (raw bindings + safe wrappers)
- ✅ rocFFT - Fast Fourier Transform library (raw bindings + safe wrappers)
- ✅ rocBLAS - Basic Linear Algebra Subprograms (raw bindings + safe wrappers)
- ✅ MIOpen - Deep learning primitives (raw bindings + safe wrappers)
- ✅ rocRAND - Random number generation (raw bindings + safe wrappers)
- ✅ rocSOLVER - Linear system solvers (raw bindings + safe wrappers)
- ✅ rocSPARSE - Sparse linear algebra (raw bindings only)
- ✅ ROCArray - GPU array struct with Vec-like API
- ✅ rocmsmi - System management interface integration
- ✅ rocm_kernel_macros - Macros for writing GPU kernels in Rust
Key Highlights
- Safe Rust wrappers with proper error handling
- Support for writing GPU kernels directly in Rust using macros
- Active usage on crates.io (version 0.5.0, with over 4.2k downloads)
- MIT licensed
- Comprehensive examples and documentation
- Supports ROCm 6.3+
Repository Stats
- Repository: https://github.com/RustNSparks/rocm-rs
- Crates.io: https://crates.io/crates/rocm-rs
- License: MIT
- Current Version: 0.5.0
What Would Be Transferred
- The complete GitHub repository with all history
- Ownership of the
rocm-rscrate on crates.io - Related projects if desired:
- rocm_smi_lib_rs (if that maintainer agrees)
- rocm_kernel_macros
- All documentation and examples
- Any associated CI/CD configurations
Technical Details
The project uses:
bindgenfor automatic FFI binding generation- Build scripts that detect ROCm installation
- Comprehensive examples (including kernel writing in Rust)
- Feature flags for optional components
What the Project Needs
To continue thriving, rocm-rs would benefit from:
- Regular maintenance and updates for new ROCm versions
- Expansion of safe wrappers (currently some libraries only have raw bindings)
- Community engagement and issue triage
- Potential integration with RustGPU's compilation pipeline
- Testing infrastructure across different AMD GPU hardware
Next Steps
If you're interested in taking over this project, I'm happy to:
- Transfer the GitHub repository to the RustGPU organization
- Add RustGPU maintainers to the crates.io crate
- Coordinate with related project maintainers (rocm_smi_lib_rs, rocm_kernel_macros authors)
- Provide any necessary documentation or context about the codebase
- Help with the transition period
Questions?
I'm happy to answer any questions about the codebase, architecture decisions, or anything else that would help you evaluate this proposal.
Thank you for considering this, and thank you for all the amazing work you do for GPU computing in Rust!