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.