in build2cmake/src/torch/cuda.rs [215:285]
fn render_deps(env: &Environment, build: &Build, write: &mut impl Write) -> Result<()> {
let mut deps = HashSet::new();
for kernel in build.kernels.values() {
deps.extend(kernel.depends());
}
for dep in deps {
match dep {
Dependencies::Cutlass2_10 => {
env.get_template("cuda/dep-cutlass.cmake")
.wrap_err("Cannot get CUTLASS dependency template")?
.render_to_write(
context! {
version => "2.10.0",
},
&mut *write,
)
.wrap_err("Cannot render CUTLASS dependency template")?;
}
Dependencies::Cutlass3_5 => {
env.get_template("cuda/dep-cutlass.cmake")
.wrap_err("Cannot get CUTLASS dependency template")?
.render_to_write(
context! {
version => "3.5.1",
},
&mut *write,
)
.wrap_err("Cannot render CUTLASS dependency template")?;
}
Dependencies::Cutlass3_6 => {
env.get_template("cuda/dep-cutlass.cmake")
.wrap_err("Cannot get CUTLASS dependency template")?
.render_to_write(
context! {
version => "3.6.0",
},
&mut *write,
)
.wrap_err("Cannot render CUTLASS dependency template")?;
}
Dependencies::Cutlass3_8 => {
env.get_template("cuda/dep-cutlass.cmake")
.wrap_err("Cannot get CUTLASS dependency template")?
.render_to_write(
context! {
version => "3.8.0",
},
&mut *write,
)
.wrap_err("Cannot render CUTLASS dependency template")?;
}
Dependencies::Cutlass3_9 => {
env.get_template("cuda/dep-cutlass.cmake")
.wrap_err("Cannot get CUTLASS dependency template")?
.render_to_write(
context! {
version => "3.9.2",
},
&mut *write,
)
.wrap_err("Cannot render CUTLASS dependency template")?;
}
Dependencies::Torch => (),
};
write.write_all(b"\n")?;
}
Ok(())
}