289 lines
14 KiB
Groovy
289 lines
14 KiB
Groovy
pipeline {
|
|
agent { label 'sv-pdp-7' }
|
|
environment {
|
|
build_dir = "builds/change-${GERRIT_CHANGE_NUMBER}-${GERRIT_PATCHSET_NUMBER}"
|
|
|
|
MPI_HOME="/home/resperf/mpich/install"
|
|
UCX_HOME="/home/resperf/ucx/install"
|
|
|
|
PATH="$MPI_HOME/bin:$UCX_HOME/bin:$PATH"
|
|
LD_LIBRARY_PATH="$MPI_HOME/lib:$UCX_HOME/lib:$LD_LIBRARY_PATH"
|
|
PKG_CONFIG_PATH="$MPI_HOME/lib/pkgconfig:$UCX_HOME/lib/pkgconfig"
|
|
|
|
CMAKE_PREFIX_PATH="/opt/rocm/lib/cmake"
|
|
|
|
UCX_WARN_UNUSED_ENV_VARS="n"
|
|
HSA_FORCE_FINE_GRAIN_PCIE=1
|
|
UCX_TLS="rc"
|
|
ROC_SHMEM_USE_SQ_GPU_MEM=0
|
|
ROC_SHMEM_USE_CQ_GPU_MEM=0
|
|
ROC_SHMEM_NUM_BLOCKS=128
|
|
}
|
|
stages {
|
|
stage('Synchronize Source Code') {
|
|
steps {
|
|
checkout changelog: false, poll: false, scm: [$class: 'GitSCM', branches: [[name: 'FETCH_HEAD']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'CloneOption', depth: 0, noTags: false, reference: '', shallow: false]], submoduleCfg: [], userRemoteConfigs: [[name: 'origin', refspec: '${GERRIT_REFSPEC}', url: 'ssh://gerritgit/rsch/ec/shmem']]]
|
|
}
|
|
}
|
|
stage('Env Variables') {
|
|
steps {
|
|
sh 'printenv'
|
|
}
|
|
}
|
|
stage('Make Build Directory') {
|
|
steps {
|
|
dir("library") {
|
|
sh "mkdir -p ${build_dir}"
|
|
}
|
|
}
|
|
}
|
|
stage('Build Source Code') {
|
|
|
|
failFast true
|
|
|
|
parallel {
|
|
stage('RC_SINGLE') {
|
|
steps {
|
|
//===================== LIBRARY =======================
|
|
dir("library/${build_dir}/RC_SINGLE") {
|
|
sh 'mkdir -p install'
|
|
sh '../../../build_configs/rc_single install'
|
|
}
|
|
//===================== CLIENT ========================
|
|
dir("clients/functional_tests/${build_dir}/RC_SINGLE") {
|
|
sh '../../../build_configs/release ${WORKSPACE}/library/${build_dir}/RC_SINGLE/install'
|
|
}
|
|
dir("clients/sos_tests/${build_dir}/RC_SINGLE") {
|
|
sh '../../../build_configs/release ${WORKSPACE}/library/${build_dir}/RC_SINGLE/install'
|
|
}
|
|
//===================== SPTS ==========================
|
|
//dir("internal/clients/spts/${build_dir}/RC_SINGLE") {
|
|
// sh '../../../build_configs/analyze_single_rocshmem ${WORKSPACE}/library/${build_dir}/RC_SINGLE/install'
|
|
//}
|
|
}
|
|
}
|
|
|
|
stage('RC_MULTI_WF_COAL') {
|
|
steps {
|
|
//===================== LIBRARY =======================
|
|
dir("library/${build_dir}/RC_MULTI_WF_COAL") {
|
|
sh 'mkdir -p install'
|
|
sh '../../../build_configs/rc_multi_wf_coal install'
|
|
}
|
|
//===================== CLIENT ========================
|
|
dir("clients/functional_tests/${build_dir}/RC_MULTI_WF_COAL") {
|
|
sh '../../../build_configs/release ${WORKSPACE}/library/${build_dir}/RC_MULTI_WF_COAL/install'
|
|
}
|
|
dir("clients/sos_tests/${build_dir}/RC_MULTI_WF_COAL") {
|
|
sh '../../../build_configs/release ${WORKSPACE}/library/${build_dir}/RC_MULTI_WF_COAL/install'
|
|
}
|
|
//===================== SPTS ==========================
|
|
//dir("internal/clients/spts/${build_dir}/RC_MULTI_WF_COAL") {
|
|
// sh '../../../build_configs/analyze_single_rocshmem ${WORKSPACE}/library/${build_dir}/RC_MULTI_WF_COAL/install'
|
|
//}
|
|
}
|
|
}
|
|
|
|
stage('RC_MULTI') {
|
|
steps {
|
|
//===================== LIBRARY =======================
|
|
dir("library/${build_dir}/RC_MULTI") {
|
|
sh 'mkdir -p install'
|
|
sh '../../../build_configs/rc_multi install'
|
|
}
|
|
//===================== CLIENT ========================
|
|
dir("clients/functional_tests/${build_dir}/RC_MULTI") {
|
|
sh '../../../build_configs/release ${WORKSPACE}/library/${build_dir}/RC_MULTI/install'
|
|
}
|
|
dir("clients/sos_tests/${build_dir}/RC_MULTI") {
|
|
sh '../../../build_configs/release ${WORKSPACE}/library/${build_dir}/RC_MULTI/install'
|
|
}
|
|
//===================== SPTS ==========================
|
|
//dir("internal/clients/spts/${build_dir}/RC_MULTI") {
|
|
// sh '../../../build_configs/analyze_single_rocshmem ${WORKSPACE}/library/${build_dir}/RC_MULTI/install'
|
|
//}
|
|
}
|
|
}
|
|
|
|
stage('DC_SINGLE') {
|
|
steps {
|
|
//===================== LIBRARY =======================
|
|
dir("library/${build_dir}/DC_SINGLE") {
|
|
sh 'mkdir -p install'
|
|
sh '../../../build_configs/dc_single install'
|
|
}
|
|
//===================== CLIENT ========================
|
|
dir("clients/functional_tests/${build_dir}/DC_SINGLE") {
|
|
sh '../../../build_configs/release ${WORKSPACE}/library/${build_dir}/DC_SINGLE/install'
|
|
}
|
|
dir("clients/sos_tests/${build_dir}/DC_SINGLE") {
|
|
sh '../../../build_configs/release ${WORKSPACE}/library/${build_dir}/DC_SINGLE/install'
|
|
}
|
|
//===================== SPTS ==========================
|
|
//dir("internal/clients/spts/${build_dir}/DC_SINGLE") {
|
|
// sh '../../../build_configs/analyze_single_rocshmem ${WORKSPACE}/library/${build_dir}/DC_SINGLE/install'
|
|
//}
|
|
}
|
|
}
|
|
|
|
stage('DC_MULTI') {
|
|
steps {
|
|
//===================== LIBRARY =======================
|
|
dir("library/${build_dir}/DC_MULTI") {
|
|
sh 'mkdir -p install'
|
|
sh '../../../build_configs/dc_multi install'
|
|
}
|
|
//===================== CLIENT ========================
|
|
dir("clients/functional_tests/${build_dir}/DC_MULTI") {
|
|
sh '../../../build_configs/release ${WORKSPACE}/library/${build_dir}/DC_MULTI/install'
|
|
}
|
|
dir("clients/sos_tests/${build_dir}/DC_MULTI") {
|
|
sh '../../../build_configs/release ${WORKSPACE}/library/${build_dir}/DC_MULTI/install'
|
|
}
|
|
//===================== SPTS ==========================
|
|
//dir("internal/clients/spts/${build_dir}/DC_MULTI") {
|
|
// sh '../../../build_configs/analyze_single_rocshmem ${WORKSPACE}/library/${build_dir}/DC_MULTI/install'
|
|
//}
|
|
}
|
|
}
|
|
|
|
stage('RO_NET') {
|
|
steps {
|
|
//===================== LIBRARY =======================
|
|
dir("library/${build_dir}/RO_NET") {
|
|
sh 'mkdir -p install'
|
|
sh '../../../build_configs/ro_net install'
|
|
}
|
|
//===================== CLIENT ========================
|
|
dir("clients/functional_tests/${build_dir}/RO_NET") {
|
|
sh '../../../build_configs/release ${WORKSPACE}/library/${build_dir}/RO_NET/install'
|
|
}
|
|
dir("clients/sos_tests/${build_dir}/RO_NET") {
|
|
sh '../../../build_configs/release ${WORKSPACE}/library/${build_dir}/RO_NET/install'
|
|
}
|
|
//===================== SPTS ==========================
|
|
//dir("internal/clients/spts/${build_dir}/RO_NET") {
|
|
// sh '../../../build_configs/analyze_single_rocshmem ${WORKSPACE}/library/${build_dir}/RO_NET/install'
|
|
//}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stage('Run Tests') {
|
|
stages {
|
|
stage('RC_SINGLE') {
|
|
steps {
|
|
dir("clients/functional_tests") {
|
|
sh './driver.sh ${build_dir}/RC_SINGLE/rocshmem_example_driver single_thread ${build_dir}/RC_SINGLE'
|
|
}
|
|
dir("clients/sos_tests") {
|
|
sh './driver.sh ${build_dir}/RC_SINGLE short ${build_dir}/RC_SINGLE'
|
|
}
|
|
//dir("internal/clients/spts") {
|
|
// sh './driver.sh ${build_dir}/RC_SINGLE/spts single_thread ${build_dir}/RC_SINGLE'
|
|
//}
|
|
}
|
|
}
|
|
|
|
stage('RC_MULTI_WF_COAL') {
|
|
steps {
|
|
dir("clients/functional_tests") {
|
|
sh './driver.sh ${build_dir}/RC_MULTI_WF_COAL/rocshmem_example_driver multi_thread ${build_dir}/RC_MULTI_WF_COAL'
|
|
}
|
|
dir("clients/sos_tests") {
|
|
sh './driver.sh ${build_dir}/RC_MULTI_WF_COAL short ${build_dir}/RC_MULTI_WF_COAL'
|
|
}
|
|
//dir("internal/clients/spts") {
|
|
// sh './driver.sh ${build_dir}/RC_MULTI_WF_COAL/spts multi_thread ${build_dir}/RC_MULTI_WF_COAL'
|
|
//}
|
|
}
|
|
}
|
|
|
|
stage('RC_MULTI') {
|
|
steps {
|
|
dir("clients/functional_tests") {
|
|
sh './driver.sh ${build_dir}/RC_MULTI/rocshmem_example_driver multi_thread ${build_dir}/RC_MULTI'
|
|
}
|
|
dir("clients/sos_tests") {
|
|
sh './driver.sh ${build_dir}/RC_MULTI short ${build_dir}/RC_MULTI'
|
|
}
|
|
//dir("internal/clients/spts") {
|
|
// sh './driver.sh ${build_dir}/RC_MULTI/spts multi_thread ${build_dir}/RC_MULTI'
|
|
//}
|
|
}
|
|
}
|
|
|
|
stage('DC_SINGLE') {
|
|
steps {
|
|
dir("clients/functional_tests") {
|
|
sh './driver.sh ${build_dir}/DC_SINGLE/rocshmem_example_driver single_thread ${build_dir}/DC_SINGLE'
|
|
}
|
|
dir("clients/sos_tests") {
|
|
sh './driver.sh ${build_dir}/DC_SINGLE short ${build_dir}/DC_SINGLE'
|
|
}
|
|
//dir("internal/clients/spts") {
|
|
// sh './driver.sh ${build_dir}/DC_SINGLE/spts single_thread ${build_dir}/DC_SINGLE'
|
|
//}
|
|
}
|
|
}
|
|
|
|
stage('DC_MULTI') {
|
|
steps {
|
|
dir("clients/functional_tests") {
|
|
sh './driver.sh ${build_dir}/DC_MULTI/rocshmem_example_driver multi_thread ${build_dir}/DC_MULTI'
|
|
}
|
|
dir("clients/sos_tests") {
|
|
sh './driver.sh ${build_dir}/DC_MULTI short ${build_dir}/DC_MULTI'
|
|
}
|
|
//dir("internal/clients/spts") {
|
|
// sh './driver.sh ${build_dir}/DC_MULTI/spts multi_thread ${build_dir}/DC_MULTI'
|
|
//}
|
|
}
|
|
}
|
|
|
|
stage('RO_NET') {
|
|
steps {
|
|
dir("clients/functional_tests") {
|
|
sh 'ROC_SHMEM_RO=1 RO_NET_CPU_QUEUE=1 UCX_TLS=rc ./driver.sh ${build_dir}/RO_NET/rocshmem_example_driver ro ${build_dir}/RO_NET'
|
|
}
|
|
dir("clients/sos_tests") {
|
|
sh 'ROC_SHMEM_RO=1 ./driver.sh ${build_dir}/RO_NET short ${build_dir}/RO_NET'
|
|
}
|
|
//dir("internal/clients/spts") {
|
|
// sh 'ROC_SHMEM_RO=1 RO_NET_CPU_QUEUE=1 UCX_TLS=rc ./driver.sh ${build_dir}/RO_NET/spts multi_thread ${build_dir}/RO_NET'
|
|
//}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stage('Generate Checker Metadata') {
|
|
steps {
|
|
dir("library/${build_dir}") {
|
|
sh 'git fetch --tags'
|
|
sh 'git log --pretty=oneline remotes/origin/amd-master.. > changeset_delta.txt'
|
|
sh 'git log --pretty=oneline remotes/origin/amd-master~1..remotes/origin/amd-master >> changeset_delta.txt'
|
|
}
|
|
}
|
|
}
|
|
stage('Archive Artifacts') {
|
|
steps {
|
|
dir("library/${build_dir}") {
|
|
archiveArtifacts artifacts: 'changeset_delta.txt'
|
|
}
|
|
dir("clients/functional_tests/${build_dir}") {
|
|
archiveArtifacts artifacts: 'RC_SINGLE/**/*.log'
|
|
archiveArtifacts artifacts: 'RC_MULTI/**/*.log'
|
|
archiveArtifacts artifacts: 'DC_SINGLE/**/*.log'
|
|
archiveArtifacts artifacts: 'DC_MULTI/**/*.log'
|
|
archiveArtifacts artifacts: 'RO_NET/**/*.log'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
success {
|
|
build job: 'shmem_perf_check', wait: true
|
|
}
|
|
}
|
|
}
|