From 3e8b548681dae1bd82c2f4b73b3ae26c5107dfec Mon Sep 17 00:00:00 2001 From: JRPAN <25518778+JRPan@users.noreply.github.com> Date: Mon, 26 Jan 2026 16:03:27 -0500 Subject: [PATCH 1/4] Update Makefile and setup_environment for enhanced Cutlass support and CUDA architecture compatibility --- src/Makefile | 10 ++++++---- src/setup_environment | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Makefile b/src/Makefile index 1191d61a5..15d822a01 100644 --- a/src/Makefile +++ b/src/Makefile @@ -430,15 +430,17 @@ clean_accelwattch_ubench: cutlass: mkdir -p $(BINDIR)/$(BINSUBDIR)/ - echo $(BINDIR) git submodule init && git submodule update - $(SETENV) mkdir -p cuda/cutlass-bench/build && cd cuda/cutlass-bench/build && cmake .. -DUSE_GPGPUSIM=1 -DCUTLASS_NVCC_ARCHS=80 -DCMAKE_CUDA_ARCHITECTURES=80 -DCMAKE_CUDA_COMPILER=$(CUDA_INSTALL_PATH)/bin/nvcc && $(MAKE) cutlass_profiler && $(MAKE) cutlass_examples - echo $(BINDIR) - cp cuda/cutlass-bench/build/tools/profiler/cutlass_profiler $(BINDIR)/$(BINSUBDIR)/cutlass_profiler + mkdir -p cuda/cutlass-bench/build + $(SETENV) cmake -S cuda/cutlass-bench -B cuda/cutlass-bench/build -DCUTLASS_NVCC_ARCHS="80;90;90a" -DCMAKE_CUDA_ARCHITECTURES="80;90;90a" -DCMAKE_CUDA_COMPILER=$(CUDA_INSTALL_PATH)/bin/nvcc +# add any other cutlass examples you want to build here + $(SETENV) $(MAKE) -C cuda/cutlass-bench/build/ 00_basic_gemm 48_hopper_warp_specialized_gemm 52_hopper_gather_scatter_fusion 57_hopper_grouped_gemm + find cuda/cutlass-bench/build/examples -type f -executable -exec sh -c 'cp "$$1" "$(BINDIR)/$(BINSUBDIR)/cutlass_$$(basename "$$1")"' sh {} \; + cutlass_examples_turing: mkdir -p $(BINDIR)/$(BINSUBDIR)/ git submodule init && git submodule update diff --git a/src/setup_environment b/src/setup_environment index 2e0a5894e..d8b0caff5 100755 --- a/src/setup_environment +++ b/src/setup_environment @@ -97,6 +97,7 @@ if [ $CUDA_VERSION_MAJOR -eq 12 ]; then export CUDA_CPPFLAGS="$CUDA_CPPFLAGS -gencode=arch=compute_86,code=compute_86" if [ $CUDA_VERSION_MINOR -ge 8 ]; then export CUDA_CPPFLAGS="$CUDA_CPPFLAGS -gencode=arch=compute_90,code=compute_90" + export CUDA_CPPFLAGS="$CUDA_CPPFLAGS -gencode=arch=compute_90a,code=compute_90a" export CUDA_CPPFLAGS="$CUDA_CPPFLAGS -gencode=arch=compute_100,code=compute_100" fi export CUDA_CPPFLAGS="$CUDA_CPPFLAGS -std=c++17" From c629fdcccf512ec5148693f06b9529c2e874c0fc Mon Sep 17 00:00:00 2001 From: JRPAN <25518778+JRPan@users.noreply.github.com> Date: Mon, 26 Jan 2026 16:06:19 -0500 Subject: [PATCH 2/4] Enhance Cutlass build process in Makefile with submodule initialization and CUDA architecture settings --- src/Makefile | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Makefile b/src/Makefile index 15d822a01..34b877afa 100644 --- a/src/Makefile +++ b/src/Makefile @@ -429,6 +429,14 @@ clean_accelwattch_ubench: # cp cuda/cudnn/mnist/mnistCUDNN $(BINDIR)/$(BINSUBDIR)/ cutlass: + mkdir -p $(BINDIR)/$(BINSUBDIR)/ + git submodule init && git submodule update + mkdir -p cuda/cutlass/build + $(SETENV) cmake -S cuda/cutlass -B cuda/cutlass/build -DCUTLASS_NVCC_ARCHS="80;90;90a" -DCMAKE_CUDA_ARCHITECTURES="80;90;90a" -DCMAKE_CUDA_COMPILER=$(CUDA_INSTALL_PATH)/bin/nvcc + $(SETENV) $(MAKE) -C cuda/cutlass-bench/build/ cutlass_examples cutlass_profiler + find cuda/cutlass-bench/build/examples -type f -executable -exec sh -c 'cp "$$1" "$(BINDIR)/$(BINSUBDIR)/cutlass_$$(basename "$$1")"' sh {} \; + +cutlass_mini: mkdir -p $(BINDIR)/$(BINSUBDIR)/ git submodule init && git submodule update mkdir -p cuda/cutlass-bench/build @@ -441,6 +449,8 @@ cutlass: + + cutlass_examples_turing: mkdir -p $(BINDIR)/$(BINSUBDIR)/ git submodule init && git submodule update From 6867e16eed8e25afec313e81e5db820629b8d3e0 Mon Sep 17 00:00:00 2001 From: JRPAN <25518778+JRPan@users.noreply.github.com> Date: Mon, 26 Jan 2026 16:07:37 -0500 Subject: [PATCH 3/4] Update Makefile to include cutlass_mini in CI targets --- src/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index 34b877afa..20a8fe621 100644 --- a/src/Makefile +++ b/src/Makefile @@ -12,7 +12,7 @@ else all: pannotia rodinia_2.0-ft proxy-apps microbench rodinia-3.1 ispass-2009 polybench parboil shoc custom_apps endif endif -ci: rodinia_2.0-ft rodinia-3.1 GPU_Microbenchmark cutlass cuda_samples +ci: rodinia_2.0-ft rodinia-3.1 GPU_Microbenchmark cutlass_mini cuda_samples accelwattch: accelwattch_validation accelwattch_hw_power accelwattch_ubench accelwattch_validation: rodinia-3.1_accelwattch_validation parboil_accelwattch_validation cutlass cuda_samples-11.0_accelwattch_validation accelwattch_hw_power: rodinia-3.1_hw_power parboil_hw_power cuda_samples-11.0_hw_power From 9219d7493a67fb20802d623e5ec93c9444bcb280 Mon Sep 17 00:00:00 2001 From: JRPAN <25518778+JRPan@users.noreply.github.com> Date: Mon, 26 Jan 2026 16:14:55 -0500 Subject: [PATCH 4/4] Update Makefile to change cutlass build directory and adjust submodule initialization --- src/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index 20a8fe621..9c93508e4 100644 --- a/src/Makefile +++ b/src/Makefile @@ -432,7 +432,7 @@ cutlass: mkdir -p $(BINDIR)/$(BINSUBDIR)/ git submodule init && git submodule update mkdir -p cuda/cutlass/build - $(SETENV) cmake -S cuda/cutlass -B cuda/cutlass/build -DCUTLASS_NVCC_ARCHS="80;90;90a" -DCMAKE_CUDA_ARCHITECTURES="80;90;90a" -DCMAKE_CUDA_COMPILER=$(CUDA_INSTALL_PATH)/bin/nvcc + $(SETENV) cmake -S cuda/cutlass-bench -B cuda/cutlass-bench/build -DCUTLASS_NVCC_ARCHS="80;90;90a" -DCMAKE_CUDA_ARCHITECTURES="80;90;90a" -DCMAKE_CUDA_COMPILER=$(CUDA_INSTALL_PATH)/bin/nvcc $(SETENV) $(MAKE) -C cuda/cutlass-bench/build/ cutlass_examples cutlass_profiler find cuda/cutlass-bench/build/examples -type f -executable -exec sh -c 'cp "$$1" "$(BINDIR)/$(BINSUBDIR)/cutlass_$$(basename "$$1")"' sh {} \;