From 402211e28e7bb1a849be35966dc5f561d4b15c5b Mon Sep 17 00:00:00 2001 From: arjun-raj-kuppala <60718144+arjun-raj-kuppala@users.noreply.github.com> Date: Tue, 10 Aug 2021 10:16:04 +0530 Subject: [PATCH] Jenkins pipeline code to enable external ci on develop branch (#2302) * Create Jenkinsfile * Temporarily disable hipModuleLoadDataMultThreaded test on nvidia Change-Id: Id061e8a43cccdf0d944081268758b946d2448a6e --- .jenkins/Jenkinsfile | 80 +++++++++++++++++++ .../module/hipModuleLoadDataMultThreaded.cpp | 2 +- 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 .jenkins/Jenkinsfile diff --git a/.jenkins/Jenkinsfile b/.jenkins/Jenkinsfile new file mode 100644 index 0000000000..1eed983b4e --- /dev/null +++ b/.jenkins/Jenkinsfile @@ -0,0 +1,80 @@ +def hipBuildTest(String backendLabel) { + node(backendLabel) { + stage("Source sync ${backendLabel}") { + + // Checkout hip repository with the PR patch + dir("${WORKSPACE}/hip") { + checkout scm + env.HIP_DIR = "${WORKSPACE}" + "/hip" + } + + // Clone hipamd repository + dir("${WORKSPACE}/hipamd") { + git branch: 'develop', + url: 'https://github.com/ROCm-Developer-Tools/hipamd' + } + + // Clone vdi and opencl for only amd backend server + if (backendLabel =~ /.*amd.*/) { + dir("${WORKSPACE}/ROCm-OpenCL-Runtime") { + git branch:'develop', + url: 'https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime' + env.OPENCL_DIR = "${WORKSPACE}" + "/ROCm-OpenCL-Runtime" + } + dir("${WORKSPACE}/ROCclr") { + git branch:'develop', + url: 'https://github.com/ROCm-Developer-Tools/ROCclr' + env.ROCclr_DIR = "${WORKSPACE}" + "/ROCclr" + } + } + } + stage("build") { + // Running the build on hipamd workspace + dir("${WORKSPACE}/hipamd") { + sh """#!/usr/bin/env bash + set -x + mkdir -p build + cd build + # Check if backend label contains string "amd" or backend host is a server with amd gpu + if [[ $backendLabel =~ amd ]]; then + cmake -DHIP_COMMON_DIR=$HIP_DIR -DAMD_OPENCL_PATH=\$OPENCL_DIR -DROCCLR_PATH=\$ROCclr_DIR -DCMAKE_PREFIX_PATH="/opt/rocm/" -DCMAKE_INSTALL_PREFIX=\$PWD/install .. + else + cmake -DHIP_COMMON_DIR=$HIP_DIR -DCMAKE_INSTALL_PREFIX=\$PWD/install .. + fi + make install -j\$(nproc) + make build_tests -j\$(nproc) + """ + } + } + stage('HIP Unit Tests') { + dir("${WORKSPACE}/hipamd/build") { + sh """#!/usr/bin/env bash + set -x + # Check if backend label contains string "amd" or backend host is a server with amd gpu + if [[ $backendLabel =~ amd ]]; then + LLVM_PATH=/opt/rocm/llvm make test + else + make test + fi + """ + } + } + } +} + +timestamps { + node('external-bootstrap') { + skipDefaultCheckout() + + // labels belonging to each backend - AMD, NVIDIA + String[] labels = ['hip-amd-vg20-ubu1804', 'hip-nvidia-rtx5000-ubu1804'] + buildMap = [:] + + labels.each { backendLabel -> + echo "backendLabel: ${backendLabel}" + buildMap[backendLabel] = { hipBuildTest(backendLabel) } + } + buildMap['failFast'] = false + parallel buildMap + } +} diff --git a/tests/src/runtimeApi/module/hipModuleLoadDataMultThreaded.cpp b/tests/src/runtimeApi/module/hipModuleLoadDataMultThreaded.cpp index 13fa667716..537195c5fb 100644 --- a/tests/src/runtimeApi/module/hipModuleLoadDataMultThreaded.cpp +++ b/tests/src/runtimeApi/module/hipModuleLoadDataMultThreaded.cpp @@ -18,7 +18,7 @@ THE SOFTWARE. */ /* HIT_START - * BUILD: %t %s ../../test_common.cpp NVCC_OPTIONS -std=c++11 + * BUILD: %t %s ../../test_common.cpp NVCC_OPTIONS -std=c++11 EXCLUDE_HIP_PLATFORM nvidia * TEST: %t * HIT_END */