From a2c762a1b6502c20e38d560056f3caf9f0d4d9f7 Mon Sep 17 00:00:00 2001 From: Andrey Maslennikov Date: Mon, 30 Mar 2020 20:22:14 +0300 Subject: [PATCH 1/5] AZP: run new bunch of tests - new (cherry picked from commit 64f71a2ce85f9b62f8aa1e12ae123807278e3176) --- buildlib/azure-pipelines.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/buildlib/azure-pipelines.yml b/buildlib/azure-pipelines.yml index 3383f034806..f1e46315588 100644 --- a/buildlib/azure-pipelines.yml +++ b/buildlib/azure-pipelines.yml @@ -170,4 +170,8 @@ stages: parameters: name: gpu demands: ucx_gpu -equals yes + - template: tests.yml + parameters: + name: new + demands: ucx_new -equals yes From 9829fe4904e3227b1ec9e00b1bc8098501fb4e10 Mon Sep 17 00:00:00 2001 From: Andrey Maslennikov Date: Thu, 26 Mar 2020 19:35:34 +0200 Subject: [PATCH 2/5] CI: take into account number of pinned threads for parallel job (cherry picked from commit c89305284ae479e0e85a52f839fdf4c44e770aae) --- contrib/test_jenkins.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contrib/test_jenkins.sh b/contrib/test_jenkins.sh index aedcf369bcc..12b3a53e337 100755 --- a/contrib/test_jenkins.sh +++ b/contrib/test_jenkins.sh @@ -64,6 +64,8 @@ num_cpus=$(lscpu -p | grep -v '^#' | wc -l) [ -z $num_cpus ] && num_cpus=1 parallel_jobs=4 [ $parallel_jobs -gt $num_cpus ] && parallel_jobs=$num_cpus +num_pinned_threads=$(taskset -pc $$ | awk -F': ' '{print $2}' | perl -lne 's/-/../g; @a=(eval); print scalar(@a)') +[ $parallel_jobs -gt $num_pinned_threads ] && parallel_jobs=$num_pinned_threads MAKE="make" MAKEP="make -j${parallel_jobs}" From 4a13656e16d9b476ecaea53ba9860999aeb98598 Mon Sep 17 00:00:00 2001 From: Andrey Maslennikov Date: Thu, 26 Mar 2020 19:36:53 +0200 Subject: [PATCH 3/5] CI: set number of parallel jobs for cov-analyze By default it utilizes all available CPUs. (cherry picked from commit 7fcb5f479c437a929265d72534ce60eb29c68f06) --- contrib/test_jenkins.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/test_jenkins.sh b/contrib/test_jenkins.sh index 12b3a53e337..a8085f6a854 100755 --- a/contrib/test_jenkins.sh +++ b/contrib/test_jenkins.sh @@ -1248,8 +1248,8 @@ run_coverity() { cov_build_id="cov_build_${ucx_build_type}_${BUILD_NUMBER}" cov_build="$WORKSPACE/$cov_build_id" rm -rf $cov_build - cov-build --dir $cov_build $MAKEP all - cov-analyze $COV_OPT --security --concurrency --dir $cov_build + cov-build --dir $cov_build $MAKEP all + cov-analyze --jobs $parallel_jobs $COV_OPT --security --concurrency --dir $cov_build nerrors=$(cov-format-errors --dir $cov_build | awk '/Processing [0-9]+ errors?/ { print $2 }') rc=$(($rc+$nerrors)) From e5db2d04840fea747bfd70d9baf1c61525ee5d2d Mon Sep 17 00:00:00 2001 From: Andrey Maslennikov Date: Sun, 29 Mar 2020 13:13:41 +0300 Subject: [PATCH 4/5] CI: use nproc instead of custom script (cherry picked from commit 5b587203e0b91cd804c0918916af1322fb7b09ad) --- contrib/test_jenkins.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/test_jenkins.sh b/contrib/test_jenkins.sh index a8085f6a854..5dcf3603103 100755 --- a/contrib/test_jenkins.sh +++ b/contrib/test_jenkins.sh @@ -64,7 +64,7 @@ num_cpus=$(lscpu -p | grep -v '^#' | wc -l) [ -z $num_cpus ] && num_cpus=1 parallel_jobs=4 [ $parallel_jobs -gt $num_cpus ] && parallel_jobs=$num_cpus -num_pinned_threads=$(taskset -pc $$ | awk -F': ' '{print $2}' | perl -lne 's/-/../g; @a=(eval); print scalar(@a)') +num_pinned_threads=$(nproc) [ $parallel_jobs -gt $num_pinned_threads ] && parallel_jobs=$num_pinned_threads MAKE="make" From f12f2f5026c3f8611f0866be74e21e35c4b05886 Mon Sep 17 00:00:00 2001 From: Andrey Maslennikov Date: Sun, 29 Mar 2020 13:16:48 +0300 Subject: [PATCH 5/5] CI: set number of thread for automake My experiments showed a very small perf improvement for UCX, about 3 seconds on 8 threads. Doc: https://www.gnu.org/software/automake/manual/html_node/automake-Invocation.html (cherry picked from commit dcb439c2ae4d3a6c7ed6641bad760afcf5de5f59) --- contrib/test_jenkins.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/test_jenkins.sh b/contrib/test_jenkins.sh index 5dcf3603103..2ab4ebe9a7b 100755 --- a/contrib/test_jenkins.sh +++ b/contrib/test_jenkins.sh @@ -69,6 +69,7 @@ num_pinned_threads=$(nproc) MAKE="make" MAKEP="make -j${parallel_jobs}" +export AUTOMAKE_JOBS=$parallel_jobs #