rseng-gpu-computing

Solid

Covers GPU and accelerator programming for research software: choosing a programming model (CUDA, HIP, SYCL, OpenACC, OpenMP offloading), GPU libraries, language bindings such as CuPy, PyCUDA and CUDA.jl, portability layers like Kokkos and Raja, source-to-source translation, kernel profiling and auto-tuning. Use when the user wants to port research code to GPUs, pick between CUDA and portable alternatives, call GPU code from Python or Julia, tune or profile kernels, or mentions HIP, SYCL, OpenACC, Kokkos or Kernel Tuner.

AI & Automation 14 stars 2 forks Updated 4 days ago MIT

Install

View on GitHub

Quality Score: 83/100

Stars 20%
39
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# GPU programming for research software Accelerators dominate modern research computing, but the ecosystem is fragmented: vendor-native models, portability layers and language bindings each trade performance against maintainability. This skill turns that landscape into decision support. ## Choosing a programming model - CUDA: NVIDIA-native; largest ecosystem and learning material; locks the code to one vendor. - HIP: AMD's near-CUDA model; a pragmatic path when AMD hardware is in scope, with source-to-source translation available from CUDA. - SYCL: single-source C++ across vendors; growing research adoption. - OpenACC / OpenMP offloading: directive-based; the gentlest port for existing Fortran/C code, at some control cost. Decide by: target machines (which vendors, for how long), the team's languages, and how much low-level control the kernels genuinely need. Prefer libraries over hand-written kernels wherever an existing GPU library covers the computation. ## Calling GPUs from high-level languages Research code rarely starts in C++: CuPy and PyCUDA (Python) and CUDA.jl (Julia) expose GPU arrays and kernels with far less ceremony. Reach for them before rewriting a pipeline in a systems language, and keep the array-API boundary clean so kernels stay swappable. ## Portability layers Kokkos and Raja abstract over backends for C++ codebases that must outlive any single vendor; they suit infrastructure-tier software with long horizons more than one-off analysis kerne...

Details

Author
fdiblen
Repository
fdiblen/rseng-agent-skills
Created
4 days ago
Last Updated
4 days ago
Language
Python
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Listed

ai-hardware-selection

Selecting accelerators for AI workloads: GPU vs TPU vs NPU vs FPGA vs CPU, and the metrics that actually decide it — memory capacity & bandwidth, TOPS/ FLOPS, interconnect, and cost/Watt. Architect-level hardware-fit reasoning. USE WHEN: choosing AI hardware/accelerators, "which GPU", "TPU vs GPU", "NPU", "FPGA", "HBM/memory bandwidth", "TOPS", "cost per token", VRAM sizing for a model, training vs inference hardware, accelerator interconnect. DO NOT USE FOR: serving software topology (use `inference-serving-topology`); on-device runtimes (use `edge-inference`); generic CPU perf (use systems/hardware-aware-design).

33 Updated today
claude-dev-suite
AI & Automation Solid

rseng-hpc-computing

Covers working effectively on high-performance computing clusters: writing and debugging SLURM job scripts, choosing and requesting resources honestly, running containers with Apptainer, using module systems and EESSI software stacks, MPI basics, checkpointing, and scaling from laptop to cluster reproducibly. Use when the user mentions a cluster, supercomputer, SLURM, sbatch, MPI, Apptainer or Singularity, module load, job arrays or walltime, or when a compute workload has outgrown a single machine. (Larger-than-memory data processing with Dask or Spark is rseng-big-data-processing; measuring scaling before requesting allocations is rseng-performance-profiling.)

14 Updated 4 days ago
fdiblen
AI & Automation Featured

gpu-optimizer

GPU optimization for consumer NVIDIA GPUs (8-24GB VRAM) covering mixed precision, gradient checkpointing, XGBoost GPU, CuPy/cuDF migration, and torch.compile. Triggers on: "optimize GPU training", "speed up CUDA", "reduce OOM", "migrate NumPy to CuPy", "manage GPU memory", "benchmark PyTorch".

316 Updated yesterday
Mathews-Tom