gpu-optimization

Profile, analyze, and optimize CUDA kernels in LibuIPC using Nsight Compute.

307|59|Updated Jun 2, 2024
One-click install
npx skills add https://github.com/spiriMirror/libuipc --skill gpu-optimization
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gpu-optimization
Source: https://github.com/spiriMirror/libuipc/tree/main/.cursor/skills/gpu-optimization
Command: npx skills add https://github.com/spiriMirror/libuipc --skill gpu-optimization

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

GPU optimization workflow automates profiling, analysis, and optimization of CUDA kernels within LibuIPC to achieve faster simulation times and more efficient GPU usage.

Core Features & Use Cases

  • Profiling and bottleneck identification with Nsight Compute and timer-based reports.
  • Guided optimization workflow across build variants and kernel parameters for both CPU-GPU and GPU-bound stages.
  • Real-world scenarios include large-scale rigid/soft body simulations where reducing kernel duration yields meaningful frame-time improvements.

Quick Start

Run the gpu-optimization workflow to profile and optimize CUDA kernels in libuipc using uipc.profile, uipc.profile.nsight, and Nsight Compute CLI.

Frequently Asked Questions about gpu-optimization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I profile and optimize CUDA kernels in LibuIPC?

Profiling LibuIPC CUDA kernels involves using uipc.profile and Nsight Compute to capture kernel metrics and timer frames. The workflow enforces Release builds for accurate benchmarking and guides optimization based on the generated reports.

What is the best way to benchmark GPU performance for large-scale rigid and soft body simulations?

Benchmarking large-scale rigid and soft body simulations requires enforcing a Release build type to measure accurate kernel duration. The workflow uses timer outputs and Nsight Compute reports to yield meaningful frame-time improvements.

Do I need Nsight Compute to identify bottlenecks in LibuIPC CUDA kernels?

Yes, Nsight Compute is required to identify bottlenecks in LibuIPC CUDA kernels. The workflow relies on Nsight Compute reports and timer frames to guide optimization across CPU-GPU and GPU-bound stages.

Why does my GPU profiling workflow require a Release build type for benchmarking?

A Release build type is required for benchmarking because it removes debug overhead, ensuring timer outputs and kernel metrics reflect real-world GPU performance. This provides accurate data for optimizing CUDA kernels.

Can I use uipc.profile to tune kernel parameters for CPU-GPU bound stages?

Yes, you can use uipc.profile to tune kernel parameters for both CPU-GPU and GPU-bound stages. The guided optimization workflow analyzes kernel metrics across build variants to improve simulation times.

What are the limitations of relying on timer outputs for CUDA kernel optimization?

Relying solely on timer outputs limits optimization to duration analysis without kernel-level execution details. The workflow addresses this by combining timer frames with Nsight Compute reports for comprehensive GPU bottleneck identification.