1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
From 25b1621549f9b120462988913e657684645be79d Mon Sep 17 00:00:00 2001
From: Lee Ringham <lringham@amd.com>
Date: Tue, 2 Nov 2021 14:43:07 -0600
Subject: [PATCH] Added better control of parallelism to control memory usage
---
Tensile/Source/TensileCreateLibrary.cmake | 7 +++++--
Tensile/cmake/TensileConfig.cmake | 5 +++++
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/Tensile/Source/TensileCreateLibrary.cmake b/Tensile/Source/TensileCreateLibrary.cmake
index 1dbacf41df..996f365bcf 100644
--- a/Tensile/Source/TensileCreateLibrary.cmake
+++ b/Tensile/Source/TensileCreateLibrary.cmake
@@ -33,7 +33,8 @@ function(TensileCreateLibraryCmake
Tensile_LIBRARY_FORMAT
Tensile_MERGE_FILES
Tensile_SHORT_FILE_NAMES
- Tensile_LIBRARY_PRINT_DEBUG )
+ Tensile_LIBRARY_PRINT_DEBUG
+ Tensile_CPU_THREADS )
# make Tensile_PACKAGE_LIBRARY and optional parameter
# to avoid breaking applications which us this
@@ -51,6 +52,7 @@ function(TensileCreateLibraryCmake
message(STATUS "Tensile_COMPILER from TensileCreateLibraryCmake : ${Tensile_COMPILER}")
message(STATUS "Tensile_ARCHITECTURE from TensileCreateLibraryCmake : ${Tensile_ARCHITECTURE}")
message(STATUS "Tensile_LIBRARY_FORMAT from TensileCreateLibraryCmake : ${Tensile_LIBRARY_FORMAT}")
+ message(STATUS "Tensile_CPU_THREADS from TensileCreateLibraryCmake : ${Tensile_CPU_THREADS}")
#execute_process(COMMAND chmod 755 ${Tensile_ROOT}/bin/TensileCreateLibrary)
#execute_process(COMMAND chmod 755 ${Tensile_ROOT}/bin/Tensile)
@@ -89,7 +91,8 @@ function(TensileCreateLibraryCmake
set(Tensile_CREATE_COMMAND ${Tensile_CREATE_COMMAND} "--code-object-version=${Tensile_CODE_OBJECT_VERSION}")
set(Tensile_CREATE_COMMAND ${Tensile_CREATE_COMMAND} "--cxx-compiler=${Tensile_COMPILER}")
set(Tensile_CREATE_COMMAND ${Tensile_CREATE_COMMAND} "--library-format=${Tensile_LIBRARY_FORMAT}")
-
+ set(Tensile_CREATE_COMMAND ${Tensile_CREATE_COMMAND} "--jobs=${Tensile_CPU_THREADS}")
+
# TensileLibraryWriter positional arguments
set(Tensile_CREATE_COMMAND ${Tensile_CREATE_COMMAND}
${Tensile_LOGIC_PATH}
diff --git a/Tensile/cmake/TensileConfig.cmake b/Tensile/cmake/TensileConfig.cmake
index 0ac8517c2c..fa8cb96305 100644
--- a/Tensile/cmake/TensileConfig.cmake
+++ b/Tensile/cmake/TensileConfig.cmake
@@ -112,6 +112,7 @@ function(TensileCreateLibraryFiles
LIBRARY_FORMAT
TENSILE_ROOT
VAR_PREFIX
+ CPU_THREADS
)
# Multi value settings
@@ -184,6 +185,10 @@ function(TensileCreateLibraryFiles
set(Options ${Options} "--cmake-cxx-compiler=${Tensile_COMPILER_PATH}")
endif()
+ if(Tensile_CPU_THREADS)
+ set(Options ${Options} "--jobs=${Tensile_CPU_THREADS}")
+ endif()
+
if(Tensile_LIBRARY_FORMAT)
set(Options ${Options} "--library-format=${Tensile_LIBRARY_FORMAT}")
if(Tensile_LIBRARY_FORMAT MATCHES "yaml")
|