Expected behavior
relax.build(mod, target="cuda") should compile successfully for any valid Relax IR module containing relax.op.nn.conv2d. The compiled module should execute and produce correct convolution results.
Actual behavior
relax.build crashes with an AttributeError during the dlight GPU scheduling pass:
AttributeError: 'FloorDiv' object has no attribute 'value'
Environment
- OS: Linux (x86_64, conda environment)
- GPU: NVIDIA GeForce RTX 3080 Ti (12GB VRAM)
- CUDA driver: 580.76.05
- TVM version: 0.25.0.post1 (installed via pip)
- Target:
cuda (GPU compilation)
- Python: 3.12
Steps to reproduce
from tvm import relax
bb = relax.BlockBuilder()
v = relax.Var("v", relax.TensorStructInfo(
shape=relax.ShapeExpr([1, 1, 3, 10]), dtype="float32"))
w = relax.Var("w", relax.TensorStructInfo(
shape=relax.ShapeExpr([1, 1, 1, 2]), dtype="float32"))
with bb.function("f", [v, w]):
c = bb.emit(relax.op.nn.conv2d(v, w,
strides=[1, 1], padding=[0, 0], dilation=[1, 1], groups=1))
bb.emit_func_output(c)
mod = bb.get()
ex = relax.build(mod, target="cuda")
Triage
- bug
- CUDA
- dlight
- gemv
- conv2d
- needs-triage
- needs-triage
Expected behavior
relax.build(mod, target="cuda")should compile successfully for any valid Relax IR module containingrelax.op.nn.conv2d. The compiled module should execute and produce correct convolution results.Actual behavior
relax.buildcrashes with anAttributeErrorduring the dlight GPU scheduling pass:Environment
cuda(GPU compilation)Steps to reproduce
Triage