udf-optimize-cudf

Optimize cuDF RapidsUDF implementations for GPU performance with profiling and benchmarking.

993|294|Updated May 14, 2020
One-click install
npx skills add https://github.com/NVIDIA/cudf-spark --skill udf-optimize-cudf
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: udf-optimize-cudf
Source: https://github.com/NVIDIA/cudf-spark/tree/main/skills/udf-optimize-cudf
Command: npx skills add https://github.com/NVIDIA/cudf-spark --skill udf-optimize-cudf

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps improve the GPU performance of cuDF RapidsUDF implementations without sacrificing correctness, replacing guesswork with a disciplined optimization workflow.

Core Features & Use Cases

  • Profiling-Driven Optimization: Uses nsys profiling and kernel statistics to identify bottlenecks before making changes.
  • Iterative Benchmarking Loop: Applies one targeted change at a time, then validates it with unit tests and microbenchmarks.
  • Safety and Regression Control: Keeps backup checkpoints, restores failed attempts, and maintains a log of what helped or hurt performance.
  • Use Case: A Spark engineer can use this Skill to tune a slow custom UDF, compare benchmark results across iterations, and converge on a faster GPU implementation.

Quick Start

Ask the assistant to optimize a specific RapidsUDF class by profiling it, testing it, benchmarking it, and keeping only changes that improve GPU performance.

Frequently Asked Questions about udf-optimize-cudf

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

FAQPage Schema
How do I optimize a slow Spark UDF for better GPU performance?

Optimize a slow Spark UDF for GPU performance by using nsys profiling to identify bottlenecks, applying one targeted change at a time, and validating it with unit tests and microbenchmarks. This iterative tuning ensures speed improvements without sacrificing correctness.

What is the best way to profile cuDF UDFs to find bottlenecks?

Profile cuDF UDFs by using nsys profiling and kernel statistics to identify bottlenecks before making changes. This profiling-driven approach replaces guesswork with targeted tuning of your RapidsUDF implementations.

How can I prevent regressions while tuning cuDF code?

Prevent regressions while tuning cuDF code by keeping backup checkpoints, restoring failed attempts, and maintaining a log of what helped or hurt performance. Validate every change with unit tests to preserve behavior while improving speed.

Does iterative GPU optimization work without unit tests and benchmark comparisons?

Iterative GPU optimization requires unit tests and benchmark comparisons to ensure correctness. By applying one targeted change at a time and validating it with microbenchmarks, you can safely converge on a faster cuDF implementation.

When should I use microbenchmarking for Spark UDF optimization?

Use microbenchmarking for Spark UDF optimization after applying a targeted change to compare benchmark results across iterations. This disciplined workflow helps you keep only changes that improve GPU performance while restoring failed attempts.