From 7ecf5d7fda0de7603193eb857fa5d7bdc76c0151 Mon Sep 17 00:00:00 2001 From: Sam Wu <22262939+samjwu@users.noreply.github.com> Date: Wed, 8 Jan 2025 13:49:50 -0700 Subject: [PATCH] [CI] Clone rccl and build from tip of develop (#99) - Set cron to weekly - Remove unused properties - Try rccl install as sudo - Clear existing rccl repo - Run install with sudo and env vars - Fix path - Add rccl to path - Attempt to fix build and install of rccl during compile stage. - Remove existing clone from workspace - Fix path when install rccl - Fix path for install rccl-tests - Install rccl local only - Set RCCL_DIR - Build rccl and rccl-tests with cmake - Add extra env vars - Use installer instead of cmake for rccl - Update .jenkins/common.groovy - Get librccl.so from rccl/build/release - Switching job command to build rccl and rccl-tests using install.sh because those work properly together. [ROCm/rccl-tests commit: 5c41a915c88a4afeab628be2f58fe990aa4b6cd4] --- projects/rccl-tests/.jenkins/common.groovy | 14 ++++++++------ projects/rccl-tests/.jenkins/precheckin.groovy | 18 ++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/projects/rccl-tests/.jenkins/common.groovy b/projects/rccl-tests/.jenkins/common.groovy index fe58a3e41a..b0846f62ab 100644 --- a/projects/rccl-tests/.jenkins/common.groovy +++ b/projects/rccl-tests/.jenkins/common.groovy @@ -6,17 +6,19 @@ def runCompileCommand(platform, project, jobName) project.paths.construct_build_prefix() String hipclangArgs = jobName.contains('hipclang') ? '--hip-clang' : '' - def getRCCL = auxiliary.getLibrary('rccl',platform.jenkinsLabel,'develop') def command = """#!/usr/bin/env bash set -x - ${getRCCL} + cd ${project.paths.build_prefix} + git clone --recursive https://github.com/ROCm/rccl.git + cd rccl + ./install.sh -l + cd ../.. ${auxiliary.exitIfNotSuccess()} + cd ${project.paths.project_build_prefix} - cmake \ - -DCMAKE_CXX_COMPILER=/opt/rocm/bin/hipcc \ - -S . -B build - make -C build -j\$(nproc) + export RCCL_DIR=\$(pwd)/../rccl/build/release + ./install.sh --rccl_home \$RCCL_DIR ${auxiliary.exitIfNotSuccess()} """ diff --git a/projects/rccl-tests/.jenkins/precheckin.groovy b/projects/rccl-tests/.jenkins/precheckin.groovy index d316d47929..ac672a665f 100644 --- a/projects/rccl-tests/.jenkins/precheckin.groovy +++ b/projects/rccl-tests/.jenkins/precheckin.groovy @@ -44,18 +44,16 @@ def runCI = ci: { String urlJobName = auxiliary.getTopJobName(env.BUILD_URL) - def propertyList = ["compute-rocm-dkms-no-npi":[pipelineTriggers([cron('0 1 * * 0')])], - "compute-rocm-dkms-no-npi-hipclang":[pipelineTriggers([cron('0 1 * * 0')])], - "rocm-docker":[]] + def propertyList = [ + "compute-rocm-dkms-no-npi-hipclang":[pipelineTriggers([cron('0 * * * 6')])] + ] propertyList = auxiliary.appendPropertyList(propertyList) - def jobNameList = ["compute-rocm-dkms-no-npi":([ubuntu16:['rccl906']]), - "rocm-docker":([ubuntu16:['rccl906']])] - - jobNameList['compute-rocm-dkms-no-npi-hipclang'] = [ubuntu16:['rccl906']] + def jobNameList = [ + "compute-rocm-dkms-no-npi-hipclang":([ubuntu16:['rccl906']]) + ] jobNameList = auxiliary.appendJobNameList(jobNameList) - propertyList.each { jobName, property-> @@ -75,9 +73,9 @@ ci: { // For url job names that are not listed by the jobNameList i.e. compute-rocm-dkms-no-npi-1901 if(!jobNameList.keySet().contains(urlJobName)) { - properties(auxiliary.addCommonProperties([pipelineTriggers([cron('0 1 * * *')])])) + properties(auxiliary.addCommonProperties([pipelineTriggers([cron('0 * * * 6')])])) stage(urlJobName) { runCI([ubuntu16:['rccl906']], urlJobName) } } -} \ No newline at end of file +}