Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions 01-minimal-gemm/cutedsl_minimal_gemm.py
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ def main() -> None:
make_cute_tensor(c),
make_fake_stream(use_tvm_ffi_env_stream=True),
True,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)
gemm_accum = cute.compile(
minimal_gemm,
Expand All @@ -207,7 +207,7 @@ def main() -> None:
make_cute_tensor(c),
make_fake_stream(use_tvm_ffi_env_stream=True),
False,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)

for exp in exps:
Expand Down
5 changes: 4 additions & 1 deletion 01-minimal-gemm/profile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
# ncu --csv --log-file 01.csv --metrics gpu__time_duration.sum --kernel-name "minimal_gemm" python minimal_gemm.py

# ncu-rep output
ncu -o ncu_prof_1 --import-source 1 --set full --kernel-name "minimal_gemm" -f python minimal_gemm.py
# C++ / reference impl (was the default; commented out):
# ncu -o ncu_prof_1 --import-source 1 --set full --kernel-name "minimal_gemm" -f python minimal_gemm.py
# CuTe DSL impl:
ncu -o ncu_prof_1 --import-source 1 --set full --kernel-name "regex:.*minimal_gemm.*" -f python cutedsl_minimal_gemm.py

# nsys-rep output
# nsys profile --trace=cuda,nvtx,osrt,cudnn,cublas,cublas-verbose,mpi,ucx,oshmem,python-gil,syscall --backtrace=dwarf --output=nsys_prof_1 python minimal_gemm.py
4 changes: 2 additions & 2 deletions 02-mixed-precision-gemm/cutedsl_mixed_precision_gemm.py
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ def compile_for(out_torch_dtype: torch.dtype, out_cutlass_dtype):
out_cutlass_dtype,
True,
is_cvt,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)
gemm_accum = cute.compile(
mixed_precision_gemm,
Expand All @@ -254,7 +254,7 @@ def compile_for(out_torch_dtype: torch.dtype, out_cutlass_dtype):
out_cutlass_dtype,
False,
is_cvt,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)
return gemm_clear, gemm_accum

Expand Down
5 changes: 4 additions & 1 deletion 02-mixed-precision-gemm/profile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
# ncu --csv --log-file 02.csv --metrics gpu__time_duration.sum --kernel-name "mixed_precision_gemm" python mixed_precision_gemm.py

# ncu-rep output
ncu -o ncu_prof_2 --import-source 1 --set full --kernel-name "mixed_precision_gemm" -f python mixed_precision_gemm.py
# C++ / reference impl (was the default; commented out):
# ncu -o ncu_prof_2 --import-source 1 --set full --kernel-name "mixed_precision_gemm" -f python mixed_precision_gemm.py
# CuTe DSL impl:
ncu -o ncu_prof_2 --import-source 1 --set full --kernel-name "regex:.*mixed_precision_gemm.*" -f python cutedsl_mixed_precision_gemm.py

# nsys-rep output
# nsys profile --trace=cuda,nvtx,osrt,cudnn,cublas,cublas-verbose,mpi,ucx,oshmem,python-gil,syscall --backtrace=dwarf --output=nsys_prof_2 python mixed_precision_gemm.py
4 changes: 2 additions & 2 deletions 03-tiled-mma/cutedsl_tiled_mma.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ def main() -> None:
make_fake_stream(use_tvm_ffi_env_stream=True),
cutlass.BFloat16,
True,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)
gemm_accum = cute.compile(
tiled_mma,
Expand All @@ -206,7 +206,7 @@ def main() -> None:
make_fake_stream(use_tvm_ffi_env_stream=True),
cutlass.BFloat16,
False,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)

print(f" M={M}, N={N}, K={K} ".center(PRINT_LENGTH, "-"))
Expand Down
5 changes: 4 additions & 1 deletion 03-tiled-mma/profile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
# ncu --csv --log-file 03.csv --metrics gpu__time_duration.sum --kernel-name "tiled_mma" python tiled_mma.py

# ncu-rep output
ncu -o ncu_prof_3 --import-source 1 --set full --kernel-name "tiled_mma" -f python tiled_mma.py
# C++ / reference impl (was the default; commented out):
# ncu -o ncu_prof_3 --import-source 1 --set full --kernel-name "tiled_mma" -f python tiled_mma.py
# CuTe DSL impl:
ncu -o ncu_prof_3 --import-source 1 --set full --kernel-name "regex:.*tiled_mma.*" -f python cutedsl_tiled_mma.py

# nsys-rep output
# nsys profile --trace=cuda,nvtx,osrt,cudnn,cublas,cublas-verbose,mpi,ucx,oshmem,python-gil,syscall --backtrace=dwarf --output=nsys_prof_3 python tiled_mma.py
4 changes: 2 additions & 2 deletions 04-tiled-copy/cutedsl_tiled_copy.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ def main() -> None:
make_fake_stream(use_tvm_ffi_env_stream=True),
cutlass.BFloat16,
True,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)
gemm_accum = cute.compile(
tiled_copy_gemm,
Expand All @@ -246,7 +246,7 @@ def main() -> None:
make_fake_stream(use_tvm_ffi_env_stream=True),
cutlass.BFloat16,
False,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)

print(f" M={M}, N={N}, K={K} ".center(PRINT_LENGTH, "-"))
Expand Down
5 changes: 4 additions & 1 deletion 04-tiled-copy/profile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
# ncu --csv --log-file tiled_copy.csv --metrics gpu__time_duration.sum --kernel-name "tiled_copy" python tiled_copy.py

# ncu-rep output
ncu -o ncu_prof_4 --import-source 1 --set full --kernel-name "tiled_copy" -f python tiled_copy.py
# C++ / reference impl (was the default; commented out):
# ncu -o ncu_prof_4 --import-source 1 --set full --kernel-name "tiled_copy" -f python tiled_copy.py
# CuTe DSL impl:
ncu -o ncu_prof_4 --import-source 1 --set full --kernel-name "regex:.*tiled_copy.*" -f python cutedsl_tiled_copy.py

# nsys-rep output
# nsys profile --trace=cuda,nvtx,osrt,cudnn,cublas,cublas-verbose,mpi,ucx,oshmem,python-gil,syscall --backtrace=dwarf --output=nsys_prof_4 python tiled_copy.py
4 changes: 2 additions & 2 deletions 05-block-mma/cutedsl_block_mma.py
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ def main() -> None:
make_fake_stream(use_tvm_ffi_env_stream=True),
cutlass.BFloat16,
True,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)
gemm_accum = cute.compile(
block_mma_gemm,
Expand All @@ -243,7 +243,7 @@ def main() -> None:
make_fake_stream(use_tvm_ffi_env_stream=True),
cutlass.BFloat16,
False,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)

print(f" M={M}, N={N}, K={K} ".center(PRINT_LENGTH, "-"))
Expand Down
5 changes: 4 additions & 1 deletion 05-block-mma/profile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
# ncu --csv --log-file block_mma.csv --metrics gpu__time_duration.sum --kernel-name "block_mma" python block_mma.py

# ncu-rep output
ncu -o ncu_prof_5 --import-source 1 --set full --kernel-name "block_mma" -f python block_mma.py
# C++ / reference impl (was the default; commented out):
# ncu -o ncu_prof_5 --import-source 1 --set full --kernel-name "block_mma" -f python block_mma.py
# CuTe DSL impl:
ncu -o ncu_prof_5 --import-source 1 --set full --kernel-name "regex:.*block_mma.*" -f python cutedsl_block_mma.py

# nsys-rep output
# nsys profile --trace=cuda,nvtx,osrt,cudnn,cublas,cublas-verbose,mpi,ucx,oshmem,python-gil,syscall --backtrace=dwarf --output=nsys_prof_5 python block_mma.py
4 changes: 2 additions & 2 deletions 06-block-copy/cutedsl_block_copy.py
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ def main() -> None:
make_fake_stream(use_tvm_ffi_env_stream=True),
cutlass.BFloat16,
True,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)
gemm_accum = cute.compile(
block_copy_gemm,
Expand All @@ -391,7 +391,7 @@ def main() -> None:
make_fake_stream(use_tvm_ffi_env_stream=True),
cutlass.BFloat16,
False,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)

print(f" M={M}, N={N}, K={K} ".center(PRINT_LENGTH, "-"))
Expand Down
5 changes: 4 additions & 1 deletion 06-block-copy/profile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
# ncu --csv --log-file block_copy.csv --metrics gpu__time_duration.sum --kernel-name "block_copy" python block_copy.py

# ncu-rep output
ncu -o ncu_prof_6 --import-source 1 --set full --kernel-name "block_copy" -f python block_copy.py
# C++ / reference impl (was the default; commented out):
# ncu -o ncu_prof_6 --import-source 1 --set full --kernel-name "block_copy" -f python block_copy.py
# CuTe DSL impl:
ncu -o ncu_prof_6 --import-source 1 --set full --kernel-name "regex:.*block_copy.*" -f python cutedsl_block_copy.py

# nsys-rep output
# nsys profile --trace=cuda,nvtx,osrt,cudnn,cublas,cublas-verbose,mpi,ucx,oshmem,python-gil,syscall --backtrace=dwarf --output=nsys_prof_6 python block_copy.py
4 changes: 2 additions & 2 deletions 07-swizzling/cutedsl_swizzling.py
Original file line number Diff line number Diff line change
Expand Up @@ -396,7 +396,7 @@ def _compile_pair(a_template, b_template, c_template, o_template, acc_dtype, out
acc_dtype,
out_dtype,
True,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)
g_accum = cute.compile(
swizzling_gemm,
Expand All @@ -408,7 +408,7 @@ def _compile_pair(a_template, b_template, c_template, o_template, acc_dtype, out
acc_dtype,
out_dtype,
False,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)
return g_clear, g_accum

Expand Down
5 changes: 4 additions & 1 deletion 07-swizzling/profile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
# ncu --csv --log-file swizzling.csv --metrics gpu__time_duration.sum --kernel-name "swizzling" python swizzling.py

# ncu-rep output
ncu -o ncu_prof_7 --import-source 1 --set full --kernel-name "swizzling" -f python swizzling.py
# C++ / reference impl (was the default; commented out):
# ncu -o ncu_prof_7 --import-source 1 --set full --kernel-name "swizzling" -f python swizzling.py
# CuTe DSL impl:
ncu -o ncu_prof_7 --import-source 1 --set full --kernel-name "regex:.*swizzling.*" -f python cutedsl_swizzling.py

# nsys-rep output
# nsys profile --trace=cuda,nvtx,osrt,cudnn,cublas,cublas-verbose,mpi,ucx,oshmem,python-gil,syscall --backtrace=dwarf --output=nsys_prof_7 python swizzling.py
4 changes: 2 additions & 2 deletions 08-dynamic-mma/cutedsl_dynamic_mma.py
Original file line number Diff line number Diff line change
Expand Up @@ -651,7 +651,7 @@ def _compile_pair(a_template, b_template, c_template, o_template, acc_dtype, out
acc_dtype,
out_dtype,
True,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)
g_accum = cute.compile(
dynamic_mma_gemm,
Expand All @@ -663,7 +663,7 @@ def _compile_pair(a_template, b_template, c_template, o_template, acc_dtype, out
acc_dtype,
out_dtype,
False,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)
return g_clear, g_accum

Expand Down
5 changes: 4 additions & 1 deletion 08-dynamic-mma/profile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
# ncu --csv --log-file dynamic_mma.csv --metrics gpu__time_duration.sum --kernel-name "dynamic_mma" python dynamic_mma.py

# ncu-rep output
ncu -o ncu_prof_8 --import-source 1 --set full --kernel-name "dynamic_mma" -f python dynamic_mma.py
# C++ / reference impl (was the default; commented out):
# ncu -o ncu_prof_8 --import-source 1 --set full --kernel-name "dynamic_mma" -f python dynamic_mma.py
# CuTe DSL impl:
ncu -o ncu_prof_8 --import-source 1 --set full --kernel-name "regex:.*dynamic_mma.*" -f python cutedsl_dynamic_mma.py

# nsys-rep output
# nsys profile --trace=cuda,nvtx,osrt,cudnn,cublas,cublas-verbose,mpi,ucx,oshmem,python-gil,syscall --backtrace=dwarf --output=nsys_prof_8 python dynamic_mma.py
4 changes: 2 additions & 2 deletions 09-pipelining/cutedsl_pipelining.py
Original file line number Diff line number Diff line change
Expand Up @@ -839,7 +839,7 @@ def _compile_pair(a_template, b_template, c_template, o_template, acc_dtype, out
acc_dtype,
out_dtype,
True,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)
g_accum = cute.compile(
pipelining_gemm,
Expand All @@ -851,7 +851,7 @@ def _compile_pair(a_template, b_template, c_template, o_template, acc_dtype, out
acc_dtype,
out_dtype,
False,
options="--enable-tvm-ffi",
options="--enable-tvm-ffi --generate-line-info",
)
return g_clear, g_accum

Expand Down
Loading
Loading