benchmark-kernel

Benchmark FlashInfer GPU kernels with CUPTI timing and output median throughput metrics.

Updated Feb 10, 2026
One-click install
npx skills add https://github.com/jwu1980-test/flashinfer --skill benchmark-kernel-jwu1980-test
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: benchmark-kernel
Source: https://github.com/jwu1980-test/flashinfer/tree/main/.claude/skills/benchmark-kernel
Command: npx skills add https://github.com/jwu1980-test/flashinfer --skill benchmark-kernel-jwu1980-test

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Benchmark GPU kernel performance for FlashInfer by employing CUPTI timing to capture accurate execution times, enabling reliable comparisons across backends and configurations.

Core Features & Use Cases

  • CUPTI-based hardware-level timing for precise kernel time across attention, GEMM, and MoE workloads.
  • Supports multiple backends (FlashAttention2/3, cuDNN, CUTLASS, TensorRT-LLM) for comparative profiling.
  • Use cases include performance profiling, regression checks, and generating reproducible benchmark reports.

Quick Start

Run the provided benchmarking script with CUPTI enabled to collect timing data across backends and kernels.

Frequently Asked Questions about benchmark-kernel

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

FAQPage Schema
How do I benchmark FlashInfer GPU kernels with precise CUPTI timing?

To benchmark FlashInfer kernels with CUPTI timing, run the provided benchmarking script to collect hardware-level execution data across attention, GEMM, and MoE workloads. The script outputs median times, standard deviation, and throughput metrics.

Can I compare performance across FlashAttention2/3, cuDNN, and CUTLASS backends?

Yes, you can compare performance across multiple backends including FlashAttention2/3, cuDNN, CUTLASS, and TensorRT-LLM. The benchmarking process captures hardware-level timing to generate reproducible comparative profiling reports.

What CUDA toolkit version is required for FlashInfer kernel benchmarking?

FlashInfer kernel benchmarking requires a CUPTI-enabled CUDA toolkit and cupti-python version 13.0 or higher. You must have these installed on a CUDA-capable GPU system to capture accurate execution times.

What metrics are reported when profiling FlashInfer attention and GEMM workloads?

Profiling FlashInfer attention and GEMM workloads reports median execution times, standard deviation, and throughput metrics. These measurements provide reliable performance comparisons across different backends and configurations.

Why use CUPTI timing for GPU kernel benchmarking instead of software-level timers?

CUPTI timing provides hardware-level measurements for GPU kernel benchmarking, ensuring precise execution time capture. This avoids software timer overhead and enables reliable regression checks and reproducible benchmark reports across configurations.

Does kernel benchmarking support MoE workloads alongside attention and GEMM?

Yes, kernel benchmarking supports MoE workloads alongside attention and GEMM operations. It captures precise CUPTI timing across all these workload types to enable comprehensive performance profiling and regression checks.