vm_spirv_bitonic/
bitonic.rs1use anyhow::Result;
2
3fn main() -> Result<()> {
4 let source = std::fs::read("zusts/gpu/bitonic.zs")?;
5 let kernel = vm_spirv::compile_source_with_workgroup_size(source, "bitonic", "main", [256, 1, 1])?;
6 let bytes = kernel.spirv.words().iter().flat_map(|word| word.to_le_bytes()).collect::<Vec<_>>();
7 std::fs::write("bitonic.spv", bytes)?;
8 std::fs::write("bitonic.spvasm", kernel.spirv.disassemble())?;
9 println!("wrote bitonic.spv ({} words)", kernel.spirv.words().len());
10 Ok(())
11}