Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

feat: expose CUDA device attributes

Open
#1,430 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Stale
Tech stack
rust
Domain
api, backend

Research direction

The work is already implemented in the linked NVlabs/cutile-rs pull request #255, which the issue says merges cleanly after rebasing; NVIDIA/cuda-rust's AGENTS.md describes how to transplant it. Read the "Transplanting a cutile-rs pull request" section and inspect the replayed changes and their GPU-gated test. Done means the changes are recreated in this repository and the listed formatting, check, and test commands pass.

Written by the indexing model from the issue text.

Description

cutile-rs post-migration-pr

Tracks pull request NVlabs/cutile-rs#255 (https://github.com/NVlabs/cutile-rs/pull/255) by @honeyspoon, opened 2026-09-01: feat: expose CUDA device attributes. The branch was rebased onto cutile-rs main on 2026-10-07 and merges cleanly.

@honeyspoon: that repository has moved here and is being archived, so the pull request is closed there, not rejected. If you want to continue the work, please recreate it against NVIDIA/cuda-rust. AGENTS.md in NVIDIA/cuda-rust has a "Transplanting a cutile-rs pull request" section that lets an agent do the replay (it fetches pull/255/head from NVlabs/cutile-rs, keeps your authorship and sign-off, and maps the moved paths).


Original description:

Why

Device exposes its L2 size, but querying related occupancy, bandwidth, and persisting-cache limits requires direct calls through cuda_core::sys.

What changed

  • Add a non-exhaustive DeviceAttribute enum.
  • Add safe Device::attribute access to integer-valued CUDA device properties.
  • Cover compute capability, clocks, memory bus and cache limits, and per-SM occupancy resources.
  • Route l2_cache_size_bytes through the shared query path.
  • Add a GPU-gated test that queries every exposed attribute and checks the existing L2 helper against the generic result.

This extends the existing Device API only; it does not add context, stream, module, or launch abstractions.

Validation

  • cargo fmt --all -- --check
  • cargo check -p cuda-core --all-targets
  • cargo test -p cuda-core --test device_attributes --no-run
  • cargo test -p cuda-core --doc
  • full workspace Clippy, compile-only, and CPU suites passed before splitting the independent changes
Dominant language
Rust
Stars
3.8k
Forks
325
Avg merge
5d 19h
Merged PRs (30d)
73

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from NVIDIA/cuda-rust

All issues in NVIDIA/cuda-rust

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.