From 6f9a0b215b94751a2a42872be1d5acca28c55e38 Mon Sep 17 00:00:00 2001 From: Anatoly Myachev Date: Tue, 26 Nov 2024 18:42:17 +0000 Subject: [PATCH 01/10] Debug Signed-off-by: Anatoly Myachev --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a1a2c4c117..3919cd6ba1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -64,7 +64,7 @@ if(NOT MSVC) set(CMAKE_C_FLAGS_TRITONBUILDWITHO1 "-O1") set(CMAKE_CXX_FLAGS_TRITONBUILDWITHO1 "-O1") else() - set(CMAKE_CXX_STANDARD 20) + set(CMAKE_CXX_STANDARD 17) set(CMAKE_C_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /RTC1 /bigobj /Zc:preprocessor") set(CMAKE_CXX_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /RTC1 /bigobj /Zc:preprocessor") set(CMAKE_EXE_LINKER_FLAGS_TRITONRELBUILDWITHASSERTS "/debug:fastlink /INCREMENTAL") From 462bbf933e9d6922c441ee94a6ba03a581aed1c0 Mon Sep 17 00:00:00 2001 From: Anatoly Myachev Date: Tue, 26 Nov 2024 18:43:02 +0000 Subject: [PATCH 02/10] revert me Signed-off-by: Anatoly Myachev --- .github/workflows/build-test.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index df88444224..df7174fc4e 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -40,10 +40,6 @@ on: type: boolean default: false - pull_request: - branches: - - main - - release/** push: branches: - main From dd133c37c8d57bd5605d6845a72250eec724b969 Mon Sep 17 00:00:00 2001 From: Anatoly Myachev Date: Tue, 26 Nov 2024 20:03:03 +0000 Subject: [PATCH 03/10] fix Signed-off-by: Anatoly Myachev --- lib/Analysis/Utility.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Analysis/Utility.cpp b/lib/Analysis/Utility.cpp index 7b32b46f89..de00549d90 100644 --- a/lib/Analysis/Utility.cpp +++ b/lib/Analysis/Utility.cpp @@ -917,7 +917,7 @@ class ConstantAnalysis : public DataFlowAnalysis { using DataFlowAnalysis::DataFlowAnalysis; LogicalResult initialize(Operation *top) override { - WalkResult result = top->walk([&](Operation *op) { + WalkResult result = top->walk([&](Operation *op) -> mlir::WalkResult { ProgramPoint programPoint(op); if (failed(visit(&programPoint))) return WalkResult::interrupt(); From ee5829cc5649802bc1a6ea7a3611c7ff91d5de83 Mon Sep 17 00:00:00 2001 From: Anatoly Myachev Date: Tue, 26 Nov 2024 22:26:11 +0100 Subject: [PATCH 04/10] use /Zc:lambda compiler option Signed-off-by: Anatoly Myachev --- CMakeLists.txt | 4 ++-- lib/Analysis/Utility.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3919cd6ba1..41c892360e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,8 +65,8 @@ if(NOT MSVC) set(CMAKE_CXX_FLAGS_TRITONBUILDWITHO1 "-O1") else() set(CMAKE_CXX_STANDARD 17) - set(CMAKE_C_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /RTC1 /bigobj /Zc:preprocessor") - set(CMAKE_CXX_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /RTC1 /bigobj /Zc:preprocessor") + set(CMAKE_C_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /RTC1 /bigobj /Zc:preprocessor /Zc:lambda") + set(CMAKE_CXX_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /RTC1 /bigobj /Zc:preprocessor /Zc:lambda") set(CMAKE_EXE_LINKER_FLAGS_TRITONRELBUILDWITHASSERTS "/debug:fastlink /INCREMENTAL") set(CMAKE_MODULE_LINKER_FLAGS_TRITONRELBUILDWITHASSERTS "/debug:fastlink /INCREMENTAL") set(CMAKE_SHARED_LINKER_FLAGS_TRITONRELBUILDWITHASSERTS "/debug:fastlink /INCREMENTAL") diff --git a/lib/Analysis/Utility.cpp b/lib/Analysis/Utility.cpp index de00549d90..7b32b46f89 100644 --- a/lib/Analysis/Utility.cpp +++ b/lib/Analysis/Utility.cpp @@ -917,7 +917,7 @@ class ConstantAnalysis : public DataFlowAnalysis { using DataFlowAnalysis::DataFlowAnalysis; LogicalResult initialize(Operation *top) override { - WalkResult result = top->walk([&](Operation *op) -> mlir::WalkResult { + WalkResult result = top->walk([&](Operation *op) { ProgramPoint programPoint(op); if (failed(visit(&programPoint))) return WalkResult::interrupt(); From 2c42073b435cfe3cdfe8fb519b4c325166edae5a Mon Sep 17 00:00:00 2001 From: Anatoly Myachev Date: Tue, 26 Nov 2024 22:46:56 +0100 Subject: [PATCH 05/10] use '/permissive-' Signed-off-by: Anatoly Myachev --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 41c892360e..f18ba8c661 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,8 +65,8 @@ if(NOT MSVC) set(CMAKE_CXX_FLAGS_TRITONBUILDWITHO1 "-O1") else() set(CMAKE_CXX_STANDARD 17) - set(CMAKE_C_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /RTC1 /bigobj /Zc:preprocessor /Zc:lambda") - set(CMAKE_CXX_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /RTC1 /bigobj /Zc:preprocessor /Zc:lambda") + set(CMAKE_C_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /RTC1 /bigobj /Zc:preprocessor /permissive-") + set(CMAKE_CXX_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /RTC1 /bigobj /Zc:preprocessor /permissive-") set(CMAKE_EXE_LINKER_FLAGS_TRITONRELBUILDWITHASSERTS "/debug:fastlink /INCREMENTAL") set(CMAKE_MODULE_LINKER_FLAGS_TRITONRELBUILDWITHASSERTS "/debug:fastlink /INCREMENTAL") set(CMAKE_SHARED_LINKER_FLAGS_TRITONRELBUILDWITHASSERTS "/debug:fastlink /INCREMENTAL") From f92a19e1546784df729b117ae022b1d260af9070 Mon Sep 17 00:00:00 2001 From: Anatoly Myachev Date: Tue, 26 Nov 2024 23:04:08 +0100 Subject: [PATCH 06/10] fix: error C7555: use of designated initializers requires at least '/std:c++20' Signed-off-by: Anatoly Myachev --- .../lib/TritonIntelGPUToLLVM/LoadStoreOpToLLVM.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/third_party/intel/lib/TritonIntelGPUToLLVM/LoadStoreOpToLLVM.cpp b/third_party/intel/lib/TritonIntelGPUToLLVM/LoadStoreOpToLLVM.cpp index 6604e2e8db..e28ce547cc 100644 --- a/third_party/intel/lib/TritonIntelGPUToLLVM/LoadStoreOpToLLVM.cpp +++ b/third_party/intel/lib/TritonIntelGPUToLLVM/LoadStoreOpToLLVM.cpp @@ -117,15 +117,8 @@ getValuesFromBlockPointerStruct(Value blockPointerStruct, blockPointerStruct.getLoc(), blockPointerStruct, rewriter); assert(elems.size() == 7 && "unexpected number of values unpacked from a block pointer"); - BlockPointerValues values{ - .base = elems[6], - .baseWidth = elems[3], - .baseHeight = elems[2], - .rowStride = elems[4], - .colStride = elems[5], - .offsetBaseX = elems[1], - .offsetBaseY = elems[0], - }; + BlockPointerValues values{elems[6], elems[3], elems[2], elems[4], + elems[5], elems[1], elems[0]}; return values; } From eb657bc7a4e7e76901b1d90c3beb52f655032ed6 Mon Sep 17 00:00:00 2001 From: Anatoly Myachev Date: Tue, 26 Nov 2024 23:18:17 +0100 Subject: [PATCH 07/10] Revert "revert me" This reverts commit 462bbf933e9d6922c441ee94a6ba03a581aed1c0. --- .github/workflows/build-test.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index df7174fc4e..df88444224 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -40,6 +40,10 @@ on: type: boolean default: false + pull_request: + branches: + - main + - release/** push: branches: - main From 9c5d42a38e162cc01f7bcd508a27f2c517647f8f Mon Sep 17 00:00:00 2001 From: Anatoly Myachev Date: Tue, 26 Nov 2024 23:19:23 +0100 Subject: [PATCH 08/10] cleanup Signed-off-by: Anatoly Myachev --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f18ba8c661..5b9cdd0bda 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,8 @@ endif() include(ExternalProject) +set(CMAKE_CXX_STANDARD 17) + set(CMAKE_INCLUDE_CURRENT_DIR ON) project(triton CXX C) @@ -58,13 +60,11 @@ endif() # Customized release build type with assertions: TritonRelBuildWithAsserts if(NOT MSVC) - set(CMAKE_CXX_STANDARD 17) set(CMAKE_C_FLAGS_TRITONRELBUILDWITHASSERTS "-O2 -g") set(CMAKE_CXX_FLAGS_TRITONRELBUILDWITHASSERTS "-O2 -g") set(CMAKE_C_FLAGS_TRITONBUILDWITHO1 "-O1") set(CMAKE_CXX_FLAGS_TRITONBUILDWITHO1 "-O1") else() - set(CMAKE_CXX_STANDARD 17) set(CMAKE_C_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /RTC1 /bigobj /Zc:preprocessor /permissive-") set(CMAKE_CXX_FLAGS_TRITONRELBUILDWITHASSERTS "/Zi /RTC1 /bigobj /Zc:preprocessor /permissive-") set(CMAKE_EXE_LINKER_FLAGS_TRITONRELBUILDWITHASSERTS "/debug:fastlink /INCREMENTAL") From 5aaf252fc96b5ef106fa21820f40e9d9bf442070 Mon Sep 17 00:00:00 2001 From: Anatoly Myachev Date: Tue, 26 Nov 2024 23:44:49 +0100 Subject: [PATCH 09/10] address review comments Signed-off-by: Anatoly Myachev --- .../intel/lib/TritonIntelGPUToLLVM/LoadStoreOpToLLVM.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/third_party/intel/lib/TritonIntelGPUToLLVM/LoadStoreOpToLLVM.cpp b/third_party/intel/lib/TritonIntelGPUToLLVM/LoadStoreOpToLLVM.cpp index e28ce547cc..42dd88c59d 100644 --- a/third_party/intel/lib/TritonIntelGPUToLLVM/LoadStoreOpToLLVM.cpp +++ b/third_party/intel/lib/TritonIntelGPUToLLVM/LoadStoreOpToLLVM.cpp @@ -117,8 +117,13 @@ getValuesFromBlockPointerStruct(Value blockPointerStruct, blockPointerStruct.getLoc(), blockPointerStruct, rewriter); assert(elems.size() == 7 && "unexpected number of values unpacked from a block pointer"); - BlockPointerValues values{elems[6], elems[3], elems[2], elems[4], - elems[5], elems[1], elems[0]}; + BlockPointerValues values{/*base*/ elems[6], + /*baseWidth*/ elems[3], + /*baseHeight*/ elems[2], + /*rowStride*/ elems[4], + /*colStride*/ elems[5], + /*offsetBaseX*/ elems[1], + /*offsetBaseY*/ elems[0]}; return values; } From 3d8eb786ceb323272582fbb3af46ac996a25eac5 Mon Sep 17 00:00:00 2001 From: Anatoly Myachev Date: Wed, 27 Nov 2024 13:10:50 +0100 Subject: [PATCH 10/10] Apply suggestions from code review Co-authored-by: Victor Perez --- .../lib/TritonIntelGPUToLLVM/LoadStoreOpToLLVM.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/third_party/intel/lib/TritonIntelGPUToLLVM/LoadStoreOpToLLVM.cpp b/third_party/intel/lib/TritonIntelGPUToLLVM/LoadStoreOpToLLVM.cpp index 42dd88c59d..74576da2f2 100644 --- a/third_party/intel/lib/TritonIntelGPUToLLVM/LoadStoreOpToLLVM.cpp +++ b/third_party/intel/lib/TritonIntelGPUToLLVM/LoadStoreOpToLLVM.cpp @@ -117,13 +117,13 @@ getValuesFromBlockPointerStruct(Value blockPointerStruct, blockPointerStruct.getLoc(), blockPointerStruct, rewriter); assert(elems.size() == 7 && "unexpected number of values unpacked from a block pointer"); - BlockPointerValues values{/*base*/ elems[6], - /*baseWidth*/ elems[3], - /*baseHeight*/ elems[2], - /*rowStride*/ elems[4], - /*colStride*/ elems[5], - /*offsetBaseX*/ elems[1], - /*offsetBaseY*/ elems[0]}; + BlockPointerValues values{/*base=*/elems[6], + /*baseWidth=*/elems[3], + /*baseHeight=*/elems[2], + /*rowStride=*/elems[4], + /*colStride=*/elems[5], + /*offsetBaseX=*/elems[1], + /*offsetBaseY=*/elems[0]}; return values; }