Skip to content

Commit 6b4bc60

Browse files
authored
Speedup unittests linking (#4178)
Comparison of the sizes of build artifacts: Old: ```bash ls build/cmake.linux-x86_64-cpython-3.10/unittest/Dialect/TritonGPU/ -lh total 2.5G drwxr-sr-x 6 jovyan users 4.0K May 11 14:36 CMakeFiles -rw-r--r-- 1 jovyan users 2.9K May 12 18:43 CTestTestfile.cmake -rwxr-xr-x 1 jovyan users 638M May 12 18:45 Dialect -rw-r--r-- 1 jovyan users 349 May 12 18:43 'Dialect[1]_include.cmake' -rw-r--r-- 1 jovyan users 17K May 12 18:45 'Dialect[1]_tests.cmake' -rwxr-xr-x 1 jovyan users 637M May 12 18:45 DumpLayoutTest -rw-r--r-- 1 jovyan users 377 May 12 18:43 'DumpLayoutTest[1]_include.cmake' -rw-r--r-- 1 jovyan users 2.1K May 12 18:45 'DumpLayoutTest[1]_tests.cmake' -rwxr-xr-x 1 jovyan users 639M May 12 18:45 LinearLayoutConversions -rw-r--r-- 1 jovyan users 413 May 12 18:43 'LinearLayoutConversions[1]_include.cmake' -rw-r--r-- 1 jovyan users 57K May 12 18:45 'LinearLayoutConversions[1]_tests.cmake' -rwxr-xr-x 1 jovyan users 637M May 12 18:45 TestSwizzling -rw-r--r-- 1 jovyan users 373 May 12 18:43 'TestSwizzling[1]_include.cmake' -rw-r--r-- 1 jovyan users 8.3K May 12 18:45 'TestSwizzling[1]_tests.cmake' -rw-r--r-- 1 jovyan users 1.6K May 12 18:43 cmake_install.cmake ``` New: ```bash ls build/cmake.linux-x86_64-cpython-3.10/unittest/Dialect/TritonGPU/ -lh total 1.1G drwxr-sr-x 6 jovyan users 4.0K May 11 14:36 CMakeFiles -rw-r--r-- 1 jovyan users 2.9K May 12 18:28 CTestTestfile.cmake -rwxr-xr-x 1 jovyan users 272M May 12 18:28 Dialect -rw-r--r-- 1 jovyan users 349 May 12 18:28 'Dialect[1]_include.cmake' -rw-r--r-- 1 jovyan users 17K May 12 18:28 'Dialect[1]_tests.cmake' -rwxr-xr-x 1 jovyan users 271M May 12 18:28 DumpLayoutTest -rw-r--r-- 1 jovyan users 377 May 12 18:28 'DumpLayoutTest[1]_include.cmake' -rw-r--r-- 1 jovyan users 2.1K May 12 18:28 'DumpLayoutTest[1]_tests.cmake' -rwxr-xr-x 1 jovyan users 272M May 12 18:28 LinearLayoutConversions -rw-r--r-- 1 jovyan users 413 May 12 18:28 'LinearLayoutConversions[1]_include.cmake' -rw-r--r-- 1 jovyan users 57K May 12 18:28 'LinearLayoutConversions[1]_tests.cmake' -rwxr-xr-x 1 jovyan users 271M May 12 18:28 TestSwizzling -rw-r--r-- 1 jovyan users 373 May 12 18:28 'TestSwizzling[1]_include.cmake' -rw-r--r-- 1 jovyan users 8.3K May 12 18:28 'TestSwizzling[1]_tests.cmake' -rw-r--r-- 1 jovyan users 1.6K May 12 18:28 cmake_install.cmake ``` Part of #3521 Signed-off-by: Anatoly Myachev <[email protected]>
1 parent 534f4e8 commit 6b4bc60

File tree

9 files changed

+74
-36
lines changed

9 files changed

+74
-36
lines changed

cmake/AddTritonUnitTest.cmake

-7
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,6 @@ function(add_triton_ut)
99
set(multiValueArgs SRCS LIBS DEFS)
1010
cmake_parse_arguments(_ "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
1111

12-
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
13-
get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS)
14-
get_property(triton_libs GLOBAL PROPERTY TRITON_LIBS)
15-
1612
add_test(NAME ${__NAME}
1713
COMMAND ${__NAME})
1814
add_executable(
@@ -22,9 +18,6 @@ function(add_triton_ut)
2218
${__NAME}
2319
PRIVATE
2420
GTest::gtest_main
25-
${triton_libs}
26-
${dialect_libs}
27-
${conversion_libs}
2821
gmock
2922
${__LIBS})
3023

Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
1-
add_triton_ut(NAME TestOptimizeLDS
2-
SRCS OptimizeLDSTest.cpp
3-
LIBS
4-
TritonAnalysis
5-
TritonIR
6-
TritonGPUIR)
1+
add_triton_ut(
2+
NAME TestOptimizeLDS
3+
SRCS OptimizeLDSTest.cpp
4+
LIBS
5+
TritonAnalysis
6+
TritonIR
7+
TritonGPUIR
8+
TritonAMDGPUToLLVM
9+
MLIRUBToLLVM
10+
TritonAMDUtils
11+
TritonAMDAnalysis
12+
TritonAMDGPUTransforms
13+
TritonAMDGPUDialectToLLVM
14+
)
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
add_triton_ut(
2-
NAME TestXeAsmFormat
3-
SRCS XeAsmFormatTest.cpp
4-
LIBS TritonGPUToLLVM TritonIntelGPUToLLVM
2+
NAME TestXeAsmFormat
3+
SRCS XeAsmFormatTest.cpp
4+
LIBS
5+
TritonGPUToLLVM
6+
TritonIntelGPUToLLVM
7+
MLIRUBToLLVM
58
)
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
add_triton_ut(
2-
NAME DPAStoLinearLayout
3-
SRCS DPAStoLinearLayoutTest.cpp
4-
LIBS TritonIntelGPUIR
2+
NAME DPAStoLinearLayout
3+
SRCS DPAStoLinearLayoutTest.cpp
4+
LIBS
5+
TritonIntelGPUIR
6+
TritonGPUTransforms
7+
TritonIntelAnalysis
8+
TritonIntelGPUTransforms
9+
TritonNvidiaGPUTransforms
510
)
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
add_triton_ut(
2-
NAME TestPtxAsmFormat
3-
SRCS PTXAsmFormatTest.cpp
4-
LIBS TritonGPUToLLVM TritonNVIDIAGPUToLLVM
2+
NAME TestPtxAsmFormat
3+
SRCS PTXAsmFormatTest.cpp
4+
LIBS
5+
TritonGPUToLLVM
6+
TritonNVIDIAGPUToLLVM
7+
NVGPUIR MLIRUBToLLVM
58
)

unittest/Analysis/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,8 @@ add_triton_ut(
55
TritonAnalysis
66
TritonIR
77
TritonGPUIR
8+
TritonGPUTransforms
9+
TritonIntelAnalysis
10+
TritonIntelGPUTransforms
11+
TritonNvidiaGPUTransforms
812
)
+32-12
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,41 @@
11
add_triton_ut(
2-
NAME TestSwizzling
3-
SRCS SwizzleTest.cpp
4-
LIBS TritonGPUIR TritonNvidiaGPUIR
2+
NAME TestSwizzling
3+
SRCS SwizzleTest.cpp
4+
LIBS
5+
TritonGPUIR
6+
TritonGPUTransforms
7+
TritonIntelAnalysis
8+
TritonIntelGPUTransforms
9+
TritonNvidiaGPUTransforms
510
)
611
add_triton_ut(
7-
NAME Dialect
8-
SRCS DialectTest.cpp
9-
LIBS TritonGPUIR
12+
NAME Dialect
13+
SRCS DialectTest.cpp
14+
LIBS
15+
TritonGPUIR
16+
TritonGPUTransforms
17+
TritonIntelAnalysis
18+
TritonIntelGPUTransforms
19+
TritonNvidiaGPUTransforms
1020
)
1121
add_triton_ut(
12-
NAME LinearLayoutConversions
13-
SRCS LinearLayoutConversionsTest.cpp
14-
LIBS TritonGPUIR
22+
NAME LinearLayoutConversions
23+
SRCS LinearLayoutConversionsTest.cpp
24+
LIBS
25+
TritonGPUIR
26+
TritonGPUTransforms
27+
TritonIntelAnalysis
28+
TritonIntelGPUTransforms
29+
TritonNvidiaGPUTransforms
1530
)
1631

1732
add_triton_ut(
18-
NAME DumpLayoutTest
19-
SRCS DumpLayoutTest.cpp
20-
LIBS TritonGPUIR
33+
NAME DumpLayoutTest
34+
SRCS DumpLayoutTest.cpp
35+
LIBS
36+
TritonGPUIR
37+
TritonGPUTransforms
38+
TritonIntelAnalysis
39+
TritonIntelGPUTransforms
40+
TritonNvidiaGPUTransforms
2141
)

unittest/Dialect/TritonGPU/DialectTest.cpp

-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
#include <algorithm>
22
#include <gmock/gmock.h>
33
#include <gtest/gtest.h>
4-
#include <random>
54

65
#include "mlir/AsmParser/AsmParser.h"
7-
#include "triton/Dialect/Triton/IR/Utility.h"
86
#include "triton/Dialect/TritonGPU/IR/Dialect.h"
97
#include "triton/Tools/LayoutUtils.h"
108
#include "triton/Tools/StrUtil.h"

unittest/Dialect/TritonGPU/SwizzleTest.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
using namespace mlir;
66
using mlir::triton::gpu::SwizzledSharedEncodingAttr;
77

8+
namespace {
9+
810
struct swizzleParams {
911
int vec;
1012
int perPhase;
@@ -58,6 +60,8 @@ INSTANTIATE_TEST_SUITE_P(TestDotOperands, SwizzleDotOperandTestFixture,
5860
ParamT{{16, 16}, 0, 16, {8, 4, 2}},
5961
ParamT{{16, 16}, 1, 16, {8, 4, 2}}));
6062

63+
} // anonymous namespace
64+
6165
int main(int argc, char *argv[]) {
6266
llvm::sys::PrintStackTraceOnErrorSignal(argv[0]);
6367
testing::InitGoogleTest(&argc, argv);

0 commit comments

Comments
 (0)