diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..8bcb262 --- /dev/null +++ b/.gitlab-ci.yml @@ -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 diff --git a/env/merlin/HiQsimulator/sysconfigs/config.yaml b/env/merlin/HiQsimulator/sysconfigs/config.yaml deleted file mode 100644 index 15a402d..0000000 --- a/env/merlin/HiQsimulator/sysconfigs/config.yaml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/env/merlin/HyQuas/sysconfigs/config.yaml b/env/merlin/HyQuas/sysconfigs/config.yaml deleted file mode 100644 index 15a402d..0000000 --- a/env/merlin/HyQuas/sysconfigs/config.yaml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/env/merlin/HyQuas/packages/hyquas/package.py b/env/merlin/hyquas/packages/hyquas/package.py similarity index 100% rename from env/merlin/HyQuas/packages/hyquas/package.py rename to env/merlin/hyquas/packages/hyquas/package.py diff --git a/env/merlin/HiQsimulator/repo.yaml b/env/merlin/hyquas/repo.yaml similarity index 100% rename from env/merlin/HiQsimulator/repo.yaml rename to env/merlin/hyquas/repo.yaml diff --git a/env/merlin/HyQuas/spack.yaml b/env/merlin/hyquas/spack.yaml similarity index 78% rename from env/merlin/HyQuas/spack.yaml rename to env/merlin/hyquas/spack.yaml index 02b27d4..7693290 100644 --- a/env/merlin/HyQuas/spack.yaml +++ b/env/merlin/hyquas/spack.yaml @@ -2,18 +2,14 @@ spack: concretizer: unify: when_possible include: - - sysconfigs/config.yaml - sysconfigs/compilers.yaml - sysconfigs/packages.yaml repos: - . specs: + - libfabric@1.15.1 - 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 - cuda@11.0.2 - 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 - develop: - hyquas: - path: /data/user/germann_e/HyQuas - spec: hyquas@main%gcc diff --git a/env/merlin/HyQuas/sysconfigs/compilers.yaml b/env/merlin/hyquas/sysconfigs/compilers.yaml similarity index 100% rename from env/merlin/HyQuas/sysconfigs/compilers.yaml rename to env/merlin/hyquas/sysconfigs/compilers.yaml diff --git a/env/merlin/HyQuas/sysconfigs/packages.yaml b/env/merlin/hyquas/sysconfigs/packages.yaml similarity index 100% rename from env/merlin/HyQuas/sysconfigs/packages.yaml rename to env/merlin/hyquas/sysconfigs/packages.yaml diff --git a/env/merlin/HiQsimulator/packages/py-hiqsimulator/cmake-glog.patch b/env/merlin/py-hiqsimulator/packages/py-hiqsimulator/cmake-glog.patch similarity index 100% rename from env/merlin/HiQsimulator/packages/py-hiqsimulator/cmake-glog.patch rename to env/merlin/py-hiqsimulator/packages/py-hiqsimulator/cmake-glog.patch diff --git a/env/merlin/HiQsimulator/packages/py-hiqsimulator/package.py b/env/merlin/py-hiqsimulator/packages/py-hiqsimulator/package.py similarity index 96% rename from env/merlin/HiQsimulator/packages/py-hiqsimulator/package.py rename to env/merlin/py-hiqsimulator/packages/py-hiqsimulator/package.py index dd5c0be..03caf26 100644 --- a/env/merlin/HiQsimulator/packages/py-hiqsimulator/package.py +++ b/env/merlin/py-hiqsimulator/packages/py-hiqsimulator/package.py @@ -31,7 +31,7 @@ class PyHiqsimulator(PythonPackage): 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"] diff --git a/env/merlin/HiQsimulator/packages/py-projectq/package.py b/env/merlin/py-hiqsimulator/packages/py-projectq/package.py similarity index 100% rename from env/merlin/HiQsimulator/packages/py-projectq/package.py rename to env/merlin/py-hiqsimulator/packages/py-projectq/package.py diff --git a/env/merlin/HyQuas/repo.yaml b/env/merlin/py-hiqsimulator/repo.yaml similarity index 100% rename from env/merlin/HyQuas/repo.yaml rename to env/merlin/py-hiqsimulator/repo.yaml diff --git a/env/merlin/HiQsimulator/spack.yaml b/env/merlin/py-hiqsimulator/spack.yaml similarity index 58% rename from env/merlin/HiQsimulator/spack.yaml rename to env/merlin/py-hiqsimulator/spack.yaml index f2fba3b..470d546 100644 --- a/env/merlin/HiQsimulator/spack.yaml +++ b/env/merlin/py-hiqsimulator/spack.yaml @@ -1,8 +1,8 @@ spack: include: - - sysconfigs/config.yaml - sysconfigs/compilers.yaml - sysconfigs/packages.yaml repos: - . - specs: [py-hiqsimulator@develop%gcc] + specs: + - py-hiqsimulator@develop%gcc diff --git a/env/merlin/HiQsimulator/sysconfigs/compilers.yaml b/env/merlin/py-hiqsimulator/sysconfigs/compilers.yaml similarity index 100% rename from env/merlin/HiQsimulator/sysconfigs/compilers.yaml rename to env/merlin/py-hiqsimulator/sysconfigs/compilers.yaml diff --git a/env/merlin/HiQsimulator/sysconfigs/packages.yaml b/env/merlin/py-hiqsimulator/sysconfigs/packages.yaml similarity index 100% rename from env/merlin/HiQsimulator/sysconfigs/packages.yaml rename to env/merlin/py-hiqsimulator/sysconfigs/packages.yaml diff --git a/env/merlin/py-hiqsimulator/test/run.slurm b/env/merlin/py-hiqsimulator/test/run.slurm new file mode 100644 index 0000000..0432673 --- /dev/null +++ b/env/merlin/py-hiqsimulator/test/run.slurm @@ -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