ADD: working pipeline to test HyQuas and HiQsimulator

This commit is contained in:
Germann Elsa Sylvia
2022-10-18 16:29:39 +02:00
parent c7120345ed
commit b51b0ed131
16 changed files with 42 additions and 20 deletions

28
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,28 @@
stages: [build_test]
variables:
GIT_STRATEGY: clone
MAX_JOB_NB: 4
SPACK_BRANCH: develop
SPACK_COMPILER: gcc
SPACK_PCKG_VERSION: develop
SPACK_PCKG: py-hiqsimulator
SPACK_REPO: https://github.com/spack/spack.git
SPACK_SPEC: ${SPACK_PCKG}@${SPACK_PCKG_VERSION}%${SPACK_COMPILER}
build_test:
tags:
- merlin
stage: build_test
script:
- git clone ${SPACK_REPO} -b ${SPACK_BRANCH}
- . "./spack/share/spack/setup-env.sh"
- spack env activate --without-view env/merlin/${SPACK_PCKG}
- spack install -j ${MAX_JOB_NB} git-lfs
- spack develop ${SPACK_SPEC}
- spack install -j ${MAX_JOB_NB}
- spack load ${SPACK_SPEC}
- cd env/merlin/${SPACK_PCKG}/${SPACK_PCKG}
- ls -la
# - JOB_ID=$(sbatch --parsable ../test/run.slurm)
# - cat slurm-${JOB_ID}.out

View File

@ -1,6 +0,0 @@
config:
build_stage:
- /data/user/$USER/spack/spack-stages
install_tree:
root: /data/user/$USER/spack/spack-install
source_cache: /data/user/$USER/spack/spack-source_cache

View File

@ -1,6 +0,0 @@
config:
build_stage:
- /data/user/$USER/spack/spack-stages
install_tree:
root: /data/user/$USER/spack/spack-install
source_cache: /data/user/$USER/spack/spack-source_cache

View File

@ -2,18 +2,14 @@ spack:
concretizer: concretizer:
unify: when_possible unify: when_possible
include: include:
- sysconfigs/config.yaml
- sysconfigs/compilers.yaml - sysconfigs/compilers.yaml
- sysconfigs/packages.yaml - sysconfigs/packages.yaml
repos: repos:
- . - .
specs: specs:
- libfabric@1.15.1
- openmpi@4.0.5%gcc+cuda fabrics=ucx,xpmem,knem,ofi,cma schedulers=slurm ^ucx@1.13.0 - openmpi@4.0.5%gcc+cuda fabrics=ucx,xpmem,knem,ofi,cma schedulers=slurm ^ucx@1.13.0
^hwloc@2.7.1 ^knem@1.1.4 ^xpmem@2.6.3 ^pmix@4.1.2 ^hwloc@2.7.1 ^knem@1.1.4 ^xpmem@2.6.3 ^pmix@4.1.2
- cuda@11.0.2 - cuda@11.0.2
- hyquas@main%gcc+cuda cuda_arch=70 ~mpi+schedule+use_double+micro_bench+eval_pp~disable_assert - hyquas@main%gcc+cuda cuda_arch=70 ~mpi+schedule+use_double+micro_bench+eval_pp~disable_assert
backend=mix mat_size=7 ^cuda@11.0.2 backend=mix mat_size=7 ^cuda@11.0.2
develop:
hyquas:
path: /data/user/germann_e/HyQuas
spec: hyquas@main%gcc

View File

@ -31,7 +31,7 @@ class PyHiqsimulator(PythonPackage):
homepage = "https://hiqsimulator.readthedocs.io/en/latest/index.html" homepage = "https://hiqsimulator.readthedocs.io/en/latest/index.html"
git = "https://github.com/Huawei-HiQ/HiQsimulator/archive/refs/heads/develop.zip" git = "https://github.com/Huawei-HiQ/HiQsimulator"
maintainers = ["germanne"] maintainers = ["germanne"]

View File

@ -1,8 +1,8 @@
spack: spack:
include: include:
- sysconfigs/config.yaml
- sysconfigs/compilers.yaml - sysconfigs/compilers.yaml
- sysconfigs/packages.yaml - sysconfigs/packages.yaml
repos: repos:
- . - .
specs: [py-hiqsimulator@develop%gcc] specs:
- py-hiqsimulator@develop%gcc

View File

@ -0,0 +1,10 @@
#!/usr/bin/env bash
#SBATCH -N 4 # 4 nodes are requested
#SBATCH -t 00:03:00 # Walltime, 3 minutes
#SBATCH -n 8 # 8 processes are requested
#SBATCH --ntasks-per-socket=1 # 1 process per allocated socket
#SBATCH --hint=compute_bound # Use all cores in each socket, one thread per core
#SBATCH --exclusive # node should not be shared with other jobs
mpirun python3 ./examples/teleport_mpi.py # Execute program