NVIDIA / NVIDIA/cccl

CCCL Compile Time Benchmarking

Open
#5,823 3 comments 0 reactions 1 assignee Claimed by @griwes View on GitHub
Dominant language
C++
Stars
2.5k
Forks
486
Avg merge
2d 6h
Merged PRs (30d)
295

Description

### Motivation

Compile time is not just a developer experience issue anymore. With the growing use of **JIT compilation**, CCCL header compile time becomes part of the **runtime critical path**. Even with caching, inflated header cost translates to slower startup and degraded user experience.

Many CCCL headers (especially Thrust) predate C++11 and have accumulated cruft over time. We have never done a comprehensive pass at measuring or improving header compile time. This is overdue.

### Goal

This issue tracks the **end-to-end effort** to investigate and optimize CCCL header compile time. It will serve as the **master tracking issue** for measurement, analysis, and follow-up optimizations.

### Approach

Optimization must start with data. We will first establish a baseline using the tools provided in recent CUDA releases:

* `--fdevice-time-trace` (per-TU breakdown of device compile time)
[[Blog post](https://developer.nvidia.com/blog/optimizing-compile-times-for-cuda-c/)](https://developer.nvidia.com/blog/optimizing-compile-times-for-cuda-c/)
* **CUDA Compile Time Advisor** (aggregates multiple reports to identify hotspots, e.g. expensive headers)
[[Docs](https://docs.nvidia.com/cuda/cuda-compile-time-advisor/index.html)](https://docs.nvidia.com/cuda/cuda-compile-time-advisor/index.html)

Related issues:
- https://github.com/NVIDIA/cccl/issues/5721
- https://github.com/NVIDIA/cccl/issues/5720

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.