summaryrefslogtreecommitdiff
path: root/sci-libs/rocBLAS/files/rocBLAS-5.0.2-respect-makeopts.patch
blob: 649a9810664601e6b7599fd706ea823b2716e856 (plain)
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
66
67
68
69
70
71
72
73
Only retain CMakeLists patch. We don't need install.sh, rmake.py
Suggested-By: Alessandro Barbieri <lssndrbarbieri@gmail.com>
================================================================
From 0ffee0626bf987bae6b81183a5c61569a489537a Mon Sep 17 00:00:00 2001
From: Torre Zuk <42548444+TorreZuk@users.noreply.github.com>
Date: Thu, 4 Nov 2021 09:21:37 -0600
Subject: [PATCH] Swdev 309014 add jobs arg (#953)

* adds -j --jobs argment passing of cpu_threads for build
---
 CMakeLists.txt             |  1 +
 install.sh                 | 16 ++++++++++++----
 library/src/CMakeLists.txt | 34 +++++++++++++++++++++++++---------
 rmake.py                   | 29 ++++++++++++++++++-----------
 4 files changed, 56 insertions(+), 24 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 69cf8d586..40d88ea0a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -244,6 +244,7 @@ if(NOT SKIP_LIBRARY)
     set( Tensile_CODE_OBJECT_VERSION "V2" CACHE STRING "Tensile code_object_version")
     set( Tensile_COMPILER "hipcc" CACHE STRING "Tensile compiler")
     set( Tensile_LIBRARY_FORMAT "msgpack" CACHE STRING "Tensile library format")
+    set( Tensile_CPU_THREADS "" CACHE STRING "Number of threads for Tensile parallel build")
 
     option( Tensile_MERGE_FILES "Tensile to merge kernels and solutions files?" ON )
     option( Tensile_SHORT_FILENAMES "Tensile to use short file names? Use if compiler complains they're too long." OFF )
diff --git a/library/src/CMakeLists.txt b/library/src/CMakeLists.txt
index 4f5e4572d..dedfe9794 100755
--- a/library/src/CMakeLists.txt
+++ b/library/src/CMakeLists.txt
@@ -58,15 +58,31 @@ if( BUILD_WITH_TENSILE )
 
   # Add a build target for Tensile kernel library
   # Runtime language is HIP by default
-  TensileCreateLibraryFiles(
-    "${CMAKE_CURRENT_SOURCE_DIR}/blas3/Tensile/Logic/${Tensile_LOGIC}"
-    "${PROJECT_BINARY_DIR}/Tensile"
-    ARCHITECTURE        ${Tensile_ARCHITECTURE}
-    CODE_OBJECT_VERSION ${Tensile_CODE_OBJECT_VERSION}
-    COMPILER            ${Tensile_COMPILER}
-    LIBRARY_FORMAT      ${Tensile_LIBRARY_FORMAT}
-    ${Tensile_Options}
-  )
+  # warning our Tensile_ variables may shadow variable in TensileCreateLibraryFiles
+  # thus bypassing the function argument parameter system (mainly the options list) and CPU_THREADS
+  if(Tensile_CPU_THREADS MATCHES "^[0-9]+$")
+    # only including threads argument if number
+    TensileCreateLibraryFiles(
+      "${CMAKE_CURRENT_SOURCE_DIR}/blas3/Tensile/Logic/${Tensile_LOGIC}"
+      "${PROJECT_BINARY_DIR}/Tensile"
+      ARCHITECTURE        ${Tensile_ARCHITECTURE}
+      CODE_OBJECT_VERSION ${Tensile_CODE_OBJECT_VERSION}
+      COMPILER            ${Tensile_COMPILER}
+      LIBRARY_FORMAT      ${Tensile_LIBRARY_FORMAT}
+      CPU_THREADS         ${Tensile_CPU_THREADS}
+      ${Tensile_Options}
+    )
+  else()
+    TensileCreateLibraryFiles(
+      "${CMAKE_CURRENT_SOURCE_DIR}/blas3/Tensile/Logic/${Tensile_LOGIC}"
+      "${PROJECT_BINARY_DIR}/Tensile"
+      ARCHITECTURE        ${Tensile_ARCHITECTURE}
+      CODE_OBJECT_VERSION ${Tensile_CODE_OBJECT_VERSION}
+      COMPILER            ${Tensile_COMPILER}
+      LIBRARY_FORMAT      ${Tensile_LIBRARY_FORMAT}
+      ${Tensile_Options}
+    )
+  endif()
 
   # Create a unique name for TensileHost compiled for rocBLAS
   set_target_properties( TensileHost PROPERTIES OUTPUT_NAME rocblas-tensile CXX_EXTENSIONS NO )