From ab823a52ce0e5dc0dde8799baef0a92cd865cf4c Mon Sep 17 00:00:00 2001 From: Florent Pruvost <florent.pruvost@inria.fr> Date: Tue, 21 Mar 2023 11:34:56 +0100 Subject: [PATCH] Add gitlab-ci jobs to test compilation with HIP and HIP+CUDA --- .gitlab-ci-env.sh | 12 ++++++++++++ .gitlab-ci.yml | 2 +- .gitlab/build.yml | 16 +++++++++++++++- .gitlab/test_starpu_simgrid.yml | 2 +- 4 files changed, 29 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci-env.sh b/.gitlab-ci-env.sh index ba9cd4dcf..d3fce945c 100755 --- a/.gitlab-ci-env.sh +++ b/.gitlab-ci-env.sh @@ -19,6 +19,18 @@ export PKG_CONFIG_PATH="" if [ "$1" == "simu" ]; then export STARPU_DIR=$STARPUSIMGRID_DIR export PKG_CONFIG_PATH=$SIMGRID_DIR/lib/pkgconfig:$PKG_CONFIG_PATH +elif [ "$1" == "hip" ]; then + export STARPU_DIR=/home/gitlab/install/starpu-hip + export PKG_CONFIG_PATH=$STARPU_DIR/lib/pkgconfig:$PKG_CONFIG_PATH + export CMAKE_PREFIX_PATH=$STARPU_DIR:/opt/rocm-5.4.2 + export LD_LIBRARY_PATH=/opt/rocm/lib +elif [ "$1" == "hipcuda" ]; then + export STARPU_DIR=/home/gitlab/install/starpu-hipcuda + export PKG_CONFIG_PATH=$STARPU_DIR/lib/pkgconfig:$PKG_CONFIG_PATH + export CMAKE_PREFIX_PATH=$STARPU_DIR:$HIPCUDA_DIR + export LD_LIBRARY_PATH=$HIPCUDA_DIR/lib + export HIP_PLATFORM=nvidia + export HIP_PATH=$HIPCUDA_DIR fi # for build: better to rely on pkg-config than to guess libraries with the env. var. diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b8567fc1f..d8b822d39 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,7 +15,7 @@ before_script: - git config --global --add safe.directory $CI_PROJECT_DIR/hqr - git config --global --add safe.directory $CI_PROJECT_DIR/testing/test_fembem - git submodule update --init --recursive - - source .gitlab-ci-env.sh $SIMU + - source .gitlab-ci-env.sh $CHAM_CI_ENV_ARG - mkdir -p build-$VERSION include: diff --git a/.gitlab/build.yml b/.gitlab/build.yml index ad45a43e9..056e76e4c 100644 --- a/.gitlab/build.yml +++ b/.gitlab/build.yml @@ -29,10 +29,24 @@ build_starpu: BUILD_OPTIONS: "-DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=ON" VERSION: starpu +build_starpu_hip: + extends: .build_script_template + variables: + CHAM_CI_ENV_ARG: hip + BUILD_OPTIONS: "-DCHAMELEON_USE_HIP_ROC=ON -DCHAMELEON_USE_MPI=ON" + VERSION: starpu_hip + +build_starpu_hipcuda: + extends: .build_script_template + variables: + CHAM_CI_ENV_ARG: hipcuda + BUILD_OPTIONS: "-DCHAMELEON_USE_HIP_CUDA=ON -DCHAMELEON_HIPBLAS_PATH=/home/gitlab/hipcuda/hipblas -DCHAMELEON_USE_MPI=ON" + VERSION: starpu_hipcuda + build_starpu_simgrid: extends: .build_script_template variables: - SIMU: simu + CHAM_CI_ENV_ARG: simu BUILD_OPTIONS: "-DCHAMELEON_SIMULATION=ON -DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MPI=OFF" VERSION: starpu_simgrid diff --git a/.gitlab/test_starpu_simgrid.yml b/.gitlab/test_starpu_simgrid.yml index 5c688dc94..7cf84967f 100644 --- a/.gitlab/test_starpu_simgrid.yml +++ b/.gitlab/test_starpu_simgrid.yml @@ -18,7 +18,7 @@ test_starpu_simgrid_simu_all: <<: *test_starpu_simgrid_branches variables: STARPU_WORKERS_NOBIND: 1 - SIMU: simu + CHAM_CI_ENV_ARG: simu VERSION: starpu_simgrid CATEGORY: simu PRECISION: all -- GitLab