mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-11 17:00:18 +00:00
change the build thread usage in CI (#787)
This commit is contained in:
28
Jenkinsfile
vendored
28
Jenkinsfile
vendored
@@ -11,6 +11,20 @@ def show_node_info() {
|
||||
"""
|
||||
}
|
||||
|
||||
def nthreads() {
|
||||
def nproc = sh(returnStdout: true, script: 'nproc')
|
||||
echo "Number of cores: ${nproc}"
|
||||
def n = nproc.toInteger()
|
||||
if (n > 32){
|
||||
n /= 2
|
||||
}
|
||||
if (n > 64){
|
||||
n = 64
|
||||
}
|
||||
echo "Number of threads used for building: ${n}"
|
||||
return n
|
||||
}
|
||||
|
||||
def runShell(String command){
|
||||
def responseCode = sh returnStatus: true, script: "${command} > tmp.txt"
|
||||
def output = readFile(file: "tmp.txt")
|
||||
@@ -219,7 +233,8 @@ def cmake_build(Map conf=[:]){
|
||||
"""
|
||||
def setup_cmd = conf.get("setup_cmd", "${cmake_envs} cmake ${setup_args} .. ")
|
||||
// reduce parallelism when compiling, clang uses too much memory
|
||||
def build_cmd = conf.get("build_cmd", "${build_envs} dumb-init make -j\$(( \$(nproc) / 2 )) ${config_targets}")
|
||||
def nt = nthreads()
|
||||
def build_cmd = conf.get("build_cmd", "${build_envs} dumb-init make -j${nt} ${config_targets}")
|
||||
def execute_cmd = conf.get("execute_cmd", "")
|
||||
|
||||
def cmd = conf.get("cmd", """
|
||||
@@ -461,7 +476,7 @@ def Build_CK(Map conf=[:]){
|
||||
else{
|
||||
echo "GPU is OK"
|
||||
}
|
||||
if ( runShell('grep -n "gfx1030" clinfo.log') ){
|
||||
if ( runShell('grep -n "gfx1030" clinfo.log') || runShell('grep -n "gfx1101" clinfo.log') ){
|
||||
navi_node = 1
|
||||
}
|
||||
}
|
||||
@@ -482,7 +497,7 @@ def Build_CK(Map conf=[:]){
|
||||
else{
|
||||
echo "GPU is OK"
|
||||
}
|
||||
if ( runShell('grep -n "gfx1030" clinfo.log') ){
|
||||
if ( runShell('grep -n "gfx1030" clinfo.log') || runShell('grep -n "gfx1101" clinfo.log') ){
|
||||
navi_node = 1
|
||||
}
|
||||
}
|
||||
@@ -493,8 +508,9 @@ def Build_CK(Map conf=[:]){
|
||||
{
|
||||
cmake_build(conf)
|
||||
dir("build"){
|
||||
//run tests and examples
|
||||
sh 'make -j\$(( \$(nproc) / 2 )) check'
|
||||
//run tests and examples
|
||||
def nt = nthreads()
|
||||
sh 'make -j${nt} check'
|
||||
if (navi_node == 0 ){
|
||||
//we only need the ckProfiler to run the performance tests, so we pack and stash it
|
||||
//do not stash profiler on Navi nodes
|
||||
@@ -717,7 +733,7 @@ pipeline {
|
||||
Build_CK_and_Reboot(setup_args: setup_args, config_targets: "install", no_reboot:true, build_type: 'Release', execute_cmd: execute_args, prefixpath: '/usr/local')
|
||||
}
|
||||
}
|
||||
stage("Build CK and run Tests on Navi")
|
||||
stage("Build CK and run Tests on Navi21")
|
||||
{
|
||||
when {
|
||||
beforeAgent true
|
||||
|
||||
Reference in New Issue
Block a user