Skip to content

SCALE on AMD is missing CUDA Graphs conditional nodes #56

Description

@diskdog

SCALE 1.7.1 and the 2026.07.02 nightly, AMD target (gfx1100), compile-only. NVIDIA target and nvcc 13.1 are fine.

CUDA 12.4 conditional graph nodes are not declared on the AMD target, while the target advertises CUDA 12.9, so version-guarded users enable them.

Missing: cudaGraphConditionalHandle, cudaGraphConditionalHandleCreate, cudaGraphCondAssignDefault, cudaGraphCondTypeIf, and the conditional member of cudaGraphNodeParams. (The cudaGraphNodeTypeConditional enumerator itself is present in hostapi.h; the handle type, its creator, the cond-type enum and the params member are what is absent.)

repro.cu:

#include <cuda_runtime.h>
int main() {
  cudaGraph_t g;
  cudaGraphCreate(&g, 0);
  cudaGraphConditionalHandle h;
  cudaGraphConditionalHandleCreate(&h, g, 1, cudaGraphCondAssignDefault);
  cudaGraphNodeParams p{};
  p.type = cudaGraphNodeTypeConditional;
  p.conditional.handle = h;
  p.conditional.type = cudaGraphCondTypeIf;
  p.conditional.size = 1;
  return 0;
}
nvcc -std=c++17 -c repro.cu                          ok
targets/gfx1100/bin/nvcc -std=c++17 -c repro.cu      error: unknown type name 'cudaGraphConditionalHandle'
llvm/bin/nvcc -arch=sm_75 -std=c++17 -c repro.cu     ok (NVIDIA target has it)

Both SCALE versions fail identically (longstanding, not a regression).

Found building pytorch v2.12.1: fails CUDAGraph.cpp and CUDAGraph.cu (error: 'struct cudaGraphNodeParams' has no member named 'conditional').

Metadata

Metadata

Assignees

No one assigned

    Labels

    Missing APIA CUDA API we haven't implemented yet.VerifiedInternal QA verifies the bug reproduces on the current dev build.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions