Skip to content
Skillpedia
Misc51k · #1923

optimize-for-gpu

Speeds up scientific calculations on computers with NVIDIA GPUs. It makes data analysis and image processing tasks faster and more efficient.

What it does

This tool helps speed up computer programs written in Python that use scientific libraries by making them run faster on NVIDIA graphics cards (GPUs). It verifies that the results remain correct and that there's an actual speed improvement.

When to use it

  • ✓When a Python program is slow and you want to make it faster.
  • ✓If you work with large amounts of data, like numbers, tables, or images, and use libraries like NumPy or pandas.
  • ✓If you need to optimize complex calculations in areas like artificial intelligence, image processing, or simulations.

Example of what to ask your AI

“How can I make my Python code using NumPy run faster on an NVIDIA GPU?”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/optimize-for-gpu/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/optimize-for-gpu/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool analyzes your Python code and identifies parts that can be run on the GPU. It uses specific libraries to transfer calculations to the graphics card and then compares the speed and accuracy with the original version.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add K-Dense-AI/scientific-agent-skills --skill optimize-for-gpu

Or download just the file:

curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/optimize-for-gpu/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

GPU Optimization for Python with NVIDIA

Treat GPU acceleration as an evidence-driven optimization, not an automatic rewrite. Preserve the user's numerical and algorithmic contract, measure with representative data, and keep the GPU version only when synchronized end-to-end benchmarks show a useful improvement.

Reviewed against RAPIDS 26.08, CuPy 14.2, Numba-CUDA 0.30.4, and Warp 1.17. The references contain illustrative GPU examples: source/API review is not execution on CUDA hardware. Validate them on the user's target GPU before reporting correctness or speedup. Do not use a moving latest documentation page to infer compatibility with a pinned release.

When This Skill Applies

  • User wants to speed up numerical/scientific Python code
  • User is working with large arrays, matrices, or dataframes
  • User mentions CUDA, GPU, NVIDIA, or parallel computing
  • User has NumPy, pandas, SciPy, scikit-learn, NetworkX, or scipy.sparse.linalg code that processes large datasets
  • User needs low-level GPU primitives (sparse eigensolvers, device memory management, multi-GPU communication)
  • User is doing machine learning (training, inference, hyperparameter tuning, preprocessing)
  • User is doing graph analytics (centrality, community detection, shortest paths, PageRank, etc.)
  • User is doing vector search, nearest neighbor search, similarity search, or building a RAG pipeline
  • User has Faiss, Annoy, ScaNN, or sklearn NearestNeighbors code that could be GPU-accelerated
  • User wants GPU-accelerated interactive dashboards, cross-filtering, or exploratory data analysis on large datasets
  • User is doing geospatial analysis (point-in-polygon, spatial joins, trajectory analysis, distance calculations) with GeoPandas or shapely
  • User is doing image processing, computer vision, or medical imaging (filtering, segmentation, morphology, feature detection) with scikit-image or OpenCV
  • User is working with whole-slide images (WSI), digital pathology, microscopy, or remote sensing imagery
  • User is loading large binary data files into GPU memory (numpy.fromfile → cupy, or Python open() → GPU array)
  • User needs to read files from S3, HTTP, or WebHDFS directly into GPU memory
  • User mentions GPUDirect Storage (GDS) or wants to bypass CPU-memory staging for file IO
  • User is doing physics simulation (particles, cloth, fluids, rigid bodies) or differentiable simulation
  • User needs mesh operations (ray casting, closest-point queries, signed distance fields) or geometry processing on GPU
  • User is doing robotics (kinematics, dynamics, control) with transforms and quaternions
  • User has Python simulation loops that could be JIT-compiled to GPU kernels
  • User mentions NVIDIA Warp or wants differentiable GPU simulation integrated with PyTorch/JAX
  • User is doing simulations, signal processing, financial modeling, bioinformatics, physics, or any compute-intensive work
  • User wants to optimize existing code and GPU acceleration is the right answer

Choose the Smallest Suitable Layer

Prefer a maintained library implementation over a custom kernel:

Existing workload Preferred path Use for
NumPy / SciPy CuPy arrays, sparse matrices, linear algebra, FFTs, signal processing
pandas cudf.pandas, then cuDF accelerator mode first; native API for more control
scikit-learn cuml.accel, then cuML accelerator mode first; native estimators as needed
NetworkX nx-cugraph, then cuGraph backend dispatch first; native graph API at scale
scikit-image cuCIM GPU image processing and whole-slide imaging
Faiss / Annoy / k-NN cuVS exact and approximate vector search
Raw or remote file I/O KvikIO GPU buffers and GPUDirect Storage
Custom array kernels Numba-CUDA-MLIR for new work; Numba-CUDA for existing code explicit SIMT kernels and shared memory
Spatial or differentiable kernels Warp geometry, simulation kernels, robotics, autodiff
High-level physics simulation Newton maintained engine that succeeds the removed warp.sim module
Low-level RAPIDS primitives RAFT (pylibraft) sparse eigensolvers, resources, multi-GPU building blocks

Do not move code out of PyTorch, JAX, TensorFlow, or another GPU-native framework merely to use one of these libraries. First remove CPU round trips and use the framework's compiler, profiler, mixed-precision, and batching facilities.

…

FAQ

Do I need an NVIDIA graphics card?

Yes, this tool is specifically designed for NVIDIA graphics cards and uses technologies like CUDA.

Will this completely change my code?

The goal is to speed up your code without altering the main logic. The tool tries to use libraries that resemble the ones you already use, like CuPy instead of NumPy.

How do I know if it's actually faster?

The tool measures the execution time before and after optimization, using the same data, to ensure the GPU version is demonstrably faster.

Details

Original description by the author

GPU-accelerates scientific Python on NVIDIA hardware and verifies that the result is correct and faster. Use for CUDA/GPU optimization; CPU-bound NumPy, SciPy, pandas, scikit-learn, NetworkX, scikit-image, vector-search, image-processing, graph, simulation, or file-I/O workloads; CuPy, cuDF, cuML, cuGraph, cuVS, cuCIM, KvikIO, Warp, Newton, Numba-CUDA, or RAFT questions; and profiling, memory-tran

repo: K-Dense-AI/scientific-agent-skills

Popularity

GitHub stars
51k
Ranking position
#1923
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills