Skip to content

population.cu takes ~2h to compile from a cold sccache miss (7-arch nvcc build) #1976

Description

@ramakrishnap-nv

Observed in #1969, run 35740440549: cpp/src/mip_heuristics/diversity/population.cu alone took 1h52m47s to compile (14:53:28→16:46:15 UTC) once its sccache key was invalidated by an unrelated header-only change in cpu_routing_problem.hpp. The rest of the 474-target build finished in minutes; this one file was the critical path for the whole job.

Compiled for 7 architectures in one nvcc invocation: sm_75, 80, 86, 90a, 100f, 120a, 120, with --expt-extended-lambda --expt-relaxed-constexpr -O3 -lineinfo.

Worth investigating:

  • Is this file unusually template-heavy for what it does?
  • Could it be split into smaller translation units to compile in parallel instead of one monolithic unit?
  • Does it need all 7 archs, or could some be dropped/deferred?

A single unrelated header touch shouldn't be able to add ~2h to CI turnaround via one file.

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

awaiting responseThis expects a response from maintainer or contributor depending on who requested in last comment.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions