Rust-GPU / Rust-GPU/rust-gpu

Proposal: Transfer/Donation of rocm-rs - Rust Bindings for AMD ROCm

Offen
#511 3 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Rust
Sterne
3.4k
Forks
125
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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:

  1. Better alignment: The project fits naturally within RustGPU's mission of enabling GPU computing in Rust
  2. Active community: Your community has the expertise and resources to maintain and grow the project
  3. Synergies: There's potential for integration with existing RustGPU tooling and workflows
  4. 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

What Would Be Transferred

  1. The complete GitHub repository with all history
  2. Ownership of the rocm-rs crate on crates.io
  3. Related projects if desired:
  4. All documentation and examples
  5. Any associated CI/CD configurations

Technical Details

The project uses:

  • bindgen for 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:

  1. Regular maintenance and updates for new ROCm versions
  2. Expansion of safe wrappers (currently some libraries only have raw bindings)
  3. Community engagement and issue triage
  4. Potential integration with RustGPU's compilation pipeline
  5. Testing infrastructure across different AMD GPU hardware

Next Steps

If you're interested in taking over this project, I'm happy to:

  1. Transfer the GitHub repository to the RustGPU organization
  2. Add RustGPU maintainers to the crates.io crate
  3. Coordinate with related project maintainers (rocm_smi_lib_rs, rocm_kernel_macros authors)
  4. Provide any necessary documentation or context about the codebase
  5. 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!

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Das Issue nennt keine Quelldateien, Tests oder keinen Einstiegspunkt für die Implementierung; beginne mit der Durchsicht des Repositorys und der im Vorschlag beschriebenen Anforderungen für die Übertragung. Als abgeschlossen würde dies eine Einigung über die Übertragung des Repositorys und der Eigentumsrechte auf crates.io sowie die Abstimmung mit den Maintainer:innen des verwandten Projekts erfordern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust
Bereich
tooling
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
20/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.