Skip to content

Commit 846164c

Browse files
author
Kent Knox
committed
Merge branch 'develop'
2 parents e4cb0a5 + fe767b4 commit 846164c

37 files changed

+5598
-4807
lines changed

CMakeLists.txt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ option( BUILD_WITH_TENSILE "Building rocBLAS with Tensile or not" ON)
4343
# which benchmark solution schedule
4444
set( Tensile_ROOT "" CACHE STRING "Local path of Tensile.")
4545
if ( BUILD_WITH_TENSILE )
46-
set( Tensile_LOGIC "FijiROCm14" CACHE STRING "Tensile to use which logic?")
46+
set( Tensile_LOGIC "FijiROCm15" CACHE STRING "Tensile to use which logic?")
4747
set_property( CACHE Tensile_LOGIC PROPERTY STRINGS
48-
FijiROCm14
48+
FijiROCm15
4949
)
5050
option( Tensile_MERGE_FILES "Tensile to merge kernels and solutions files?" OFF)
5151
option( Tensile_SHORT_FILENAMES "Tensile to use short file names? Use if compiler complains they're too long." OFF)
@@ -149,6 +149,7 @@ if( BUILD_LIBRARY )
149149
-DCMAKE_MODULE_PATH=${LIBRARY_MODULE_PATH}
150150
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
151151
-DCMAKE_CXX_COMPILER=${DEVICE_CXX_COMPILER}
152+
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
152153
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
153154
-DBUILD_WITH_TENSILE=${BUILD_WITH_TENSILE}
154155
-DTensile_LOGIC=${Tensile_LOGIC}
@@ -157,6 +158,11 @@ if( BUILD_LIBRARY )
157158
-DTensile_PRINT_DEBUG=${Tensile_PRINT_DEBUG}
158159
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
159160
)
161+
162+
if( DEFINED CPACK_PACKAGING_INSTALL_PREFIX )
163+
list( APPEND LIBRARY_CMAKE_ARGS -DCPACK_PACKAGING_INSTALL_PREFIX=${CPACK_PACKAGING_INSTALL_PREFIX} )
164+
endif()
165+
160166
if (Tensile_FOUND)
161167
set( LIBRARY_CMAKE_ARGS ${LIBRARY_CMAKE_ARGS} -DTensile_FOUND=${Tensile_FOUND})
162168
else()
@@ -195,6 +201,7 @@ if( BUILD_CLIENTS )
195201
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
196202
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
197203
-DDEVICE_CXX_COMPILER=${DEVICE_CXX_COMPILER}
204+
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
198205
-DCMAKE_PREFIX_PATH=${CLIENT_PREFIX_PATH}
199206
-DCMAKE_MODULE_PATH=${CLIENT_MODULE_PATH}
200207
-DBUILD_CLIENTS_SAMPLES=${BUILD_CLIENTS_SAMPLES}

Jenkinsfile

Lines changed: 18 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,19 @@ properties([buildDiscarder(logRotator(
66
artifactNumToKeepStr: '',
77
daysToKeepStr: '',
88
numToKeepStr: '10')),
9-
disableConcurrentBuilds()])
9+
disableConcurrentBuilds(),
10+
[$class: 'CopyArtifactPermissionProperty', projectNames: '*']
11+
])
1012

11-
def build_type="Debug"
12-
def build_type_postfix="-d"
13+
// def build_type="Debug"
14+
// def build_type_postfix="-d"
15+
def build_type="Release"
16+
def build_type_postfix=""
1317

1418
// Currently, YADP (yet-another-docker-plugin v0.1.0-rc30) does not load balance between clouds with the same label
1519
// They recommend to use docker swarm, but not yet work with docker 1.12 'swarm mode'
1620
// Manually load balance by picking a particular machine
17-
node('rocm-1.3 && hawaii')
21+
node('rocm-1.5 && fiji')
1822
{
1923
def node_list = env.NODE_LABELS.tokenize()
2024
// sh "echo node_list: ${node_list}"
@@ -67,40 +71,25 @@ node('rocm-1.3 && hawaii')
6771
stage("configure clang release") {
6872
sh """#!/usr/bin/env bash
6973
sudo apt-get update
70-
sudo apt-get install python-yaml
71-
cmake -DCMAKE_BUILD_TYPE=${build_type} -DCMAKE_PREFIX_PATH=/opt/boost/clang -DBUILD_LIBRARY=ON -DBUILD_WITH_TENSILE=ON \
72-
-DBUILD_CLIENTS=ON -DBUILD_CLIENTS_SAMPLES=ON -DBUILD_CLIENTS_TESTS=ON ${scm_dir}
74+
sudo DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y rpm
75+
cmake -DCMAKE_BUILD_TYPE=${build_type} -DCMAKE_PREFIX_PATH=/opt/boost/clang-3.8 -DBUILD_SHARED_LIBS=ON -DBUILD_LIBRARY=ON -DBUILD_WITH_TENSILE=ON \
76+
-DBUILD_CLIENTS=ON -DBUILD_CLIENTS_SAMPLES=ON -DBUILD_CLIENTS_TESTS=ON -DCPACK_PACKAGING_INSTALL_PREFIX=/opt/rocm/rocblas ${scm_dir}
7377
"""
7478
}
7579

7680
stage("Build")
7781
{
78-
if (env.NODE_LABELS ==~ /.*fiji.*/)
79-
{
80-
sh 'echo Target Fiji ISA'
81-
withEnv(['HCC_AMDGPU_TARGET=AMD:AMDGPU:8:0:3'])
82-
{
83-
sh '''#!/usr/bin/env bash
84-
make -j 8
85-
'''
86-
}
87-
}
88-
else if (env.NODE_LABELS ==~ /.*hawaii.*/)
89-
{
90-
sh 'echo Target Hawaii ISA'
91-
withEnv(['HCC_AMDGPU_TARGET=AMD:AMDGPU:7:0:1'])
92-
{
93-
sh '''#!/usr/bin/env bash
94-
make -j 8
95-
'''
96-
}
97-
}
82+
sh '''#!/usr/bin/env bash
83+
make -j $(nproc)
84+
'''
9885
}
9986

10087
stage("Package Debian") {
10188
sh 'cd library-build; make package'
102-
archive includes: 'library-build/*.deb'
103-
}
89+
archiveArtifacts artifacts: 'library-build/*.deb', fingerprint: true
90+
archiveArtifacts artifacts: 'library-build/*.rpm', fingerprint: true
91+
sh "sudo dpkg -c library-build/*.deb"
92+
}
10493

10594
// Cap the maximum amount of testing to be a few hours; assume failure if the time limit is hit
10695
timeout(time: 1, unit: 'HOURS')

clients/CMakeLists.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ set( rocblas_clients_dependencies )
1818

1919
# If the user does not explicitely specify BOOST_ROOT, build our
2020
# own on the fly
21-
#if( BUILD_CLIENTS_BENCHMARKS )
22-
# if( NOT DEFINED BOOST_ROOT )
23-
# include( external-boost )
24-
# list( APPEND rocblas_clients_dependencies boost )
25-
# endif( )
26-
#endif()
21+
if( BUILD_CLIENTS_BENCHMARKS )
22+
if( NOT DEFINED BOOST_ROOT )
23+
include( external-boost )
24+
list( APPEND rocblas_clients_dependencies boost )
25+
endif( )
26+
endif()
2727

2828
if( BUILD_CLIENTS_TESTS )
2929
if( NOT DEFINED GTEST_ROOT )
Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11

2-
Instruction to run the script to collect performance data
2+
Instruction to run the python script to collect performance data
33

4-
1) copy client.exe (Windows, client on Linux) to this folder
4+
1) copy client.exe (Windows, client on Linux) to this folder
5+
For example, "cp ../client ./" on linux
56

67
2) "python measurePerformance.py --help" to see how to run the command line mode
78
For example, "python measurePerformance.py -s 64-5760:64 -f gemm -r s --transa none --transb transpose > sgemm.txt"
89
will collect performance of sgemm NT of square matrices [64:5760] with step 64.
910
All the output will be dumped into sgemm.txt
1011

11-
3) Open the sgemm.txt and use "grep" to fetch the performance line. You can extract the Gflop/s number from the performance line
12+
3) Plot the figure by refactoring with plotPerformance.py provided.
13+
"python plotPerformance.py" by default
14+
will read step (2) output sgemm.txt and plot a performance figure in sgemm.pdf
1215

1316
4) You can ingore the other automatic generated .txt files and folders during the run.

0 commit comments

Comments
 (0)