[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: 5c41a915c8]
This commit is contained in:
Sam Wu
2025-01-08 13:49:50 -07:00
zatwierdzone przez nileshnegi
rodzic 6328a42ab0
commit 7ecf5d7fda
2 zmienionych plików z 16 dodań i 16 usunięć
@@ -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()}
"""
@@ -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)
}
}
}
}