ADD: merlin/HiQsimulator env

This commit is contained in:
Germann Elsa Sylvia
2022-09-30 15:27:53 +02:00
parent 6226b10621
commit 4e3c10bacb
7 changed files with 474 additions and 0 deletions

View File

@ -0,0 +1,23 @@
diff --git a/cmake/Findglog.cmake b/cmake/Findglog.cmake
index d3123c4..3425d0d 100644
--- a/cmake/Findglog.cmake
+++ b/cmake/Findglog.cmake
@@ -176,17 +176,8 @@ if(glog_FOUND)
gflags::gflags)
else()
# Make sure that the glog::glog target depends on gflags::gflags
- get_target_property(_libraries glog::glog INTERFACE_LINK_LIBRARIES)
- set(_new_libraries)
- foreach(_dep ${_libraries})
- if(_dep STREQUAL gflags)
- list(APPEND _new_libraries gflags::gflags)
- else()
- list(APPEND _new_libraries ${_dep})
- endif()
- endforeach()
set_target_properties(glog::glog
- PROPERTIES INTERFACE_LINK_LIBRARIES ${_new_libraries})
+ PROPERTIES INTERFACE_LINK_LIBRARIES gflags::gflags)
endif()
endif()

View File

@ -0,0 +1,53 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
# ----------------------------------------------------------------------------
# If you submit this package back to Spack as a pull request,
# please first remove this boilerplate and all FIXME comments.
#
# This is a template package file for Spack. We've put "FIXME"
# next to all the things you'll want to change. Once you've handled
# them, you can save this file and test your package like this:
#
# spack install py-hiqsimulator
#
# You can edit this file again by typing:
#
# spack edit py-hiqsimulator
#
# See the Spack documentation for more information on packaging.
# ----------------------------------------------------------------------------
from spack.package import *
class PyHiqsimulator(PythonPackage):
"""Huawei HiQ is an open-source software framework for quantum computing. It is based on and compatible with ProjectQ.
It aims at providing tools which facilitate inventing, implementing, testing, debugging, and running quantum algorithms
using either classical hardware or actual quantum devices. You can find more about Huawei HiQ at
http://hiq.huaweicloud.com"""
homepage = "https://hiqsimulator.readthedocs.io/en/latest/index.html"
url = "https://github.com/Huawei-HiQ/HiQsimulator/archive/refs/heads/develop.zip"
maintainers = ["germanne"]
version('develop', git='https://github.com/Huawei-HiQ/HiQsimulator.git', submodules=True)
depends_on('py-setuptools@44.1.0', type='build')
depends_on("cmake", type="build")
depends_on("openmpi", type=("run", "link"))
depends_on("boost+mpi+program_options+numpy+python+system+thread+timer+chrono+atomic", type=("build", "run", "link"))
depends_on("glog", type=("build", "run", "link"))
patch('cmake-glog.patch')
def install_options(self, spec, prefix):
# FIXME: Add options to pass to setup.py install
# FIXME: If not needed, delete this function
options = []
return options

2
env/merlin/HiQsimulator/repo.yaml vendored Normal file
View File

@ -0,0 +1,2 @@
repo:
namespace: HiQsimulator

8
env/merlin/HiQsimulator/spack.yaml vendored Normal file
View File

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

View File

@ -0,0 +1,93 @@
---
compilers:
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/icx
cxx: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/dpcpp
f77: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
fc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
spec: dpcpp@2022.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/icc
cxx: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/icpc
f77: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/ifort
fc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/intel64/ifort
spec: intel@2021.6.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/icx
cxx: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/icpx
f77: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
fc: /opt/psi/Programming/intel/22.2/compiler/2022.1.0/linux/bin/ifx
spec: oneapi@2022.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/gcc/8.3.0/bin/gcc
cxx: /opt/psi/Programming/gcc/8.3.0/bin/g++
f77: /opt/psi/Programming/gcc/8.3.0/bin/gfortran
fc: /opt/psi/Programming/gcc/8.3.0/bin/gfortran
spec: gcc@8.3.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/gcc/12.1.0/bin/gcc
cxx: /opt/psi/Programming/gcc/12.1.0/bin/g++
f77: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
fc: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
spec: gcc@12.1.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/clang/12.0.0_rhel7/bin/clang
cxx: /opt/psi/Programming/clang/12.0.0_rhel7/bin/clang++
f77: null
fc: null
spec: clang@12.0.0
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel7
paths:
cc: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvc
cxx: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvc++
f77: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvfortran
fc: /opt/psi/Programming/pgi/21.5/Linux_x86_64/21.5/compilers/bin/nvfortran
spec: nvhpc@21.5
target: x86_64

View File

@ -0,0 +1,6 @@
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

@ -0,0 +1,289 @@
---
packages:
all:
compiler:
- gcc@12.1.0
target:
- haswell
providers:
pkgconfig: [pkg-config]
binutils:
buildable: false
externals:
- prefix: /usr
spec: binutils@2.38
bzip2:
buildable: false
externals:
- prefix: /usr
spec: bzip2@1.0.6
cpio:
buildable: false
externals:
- prefix: /usr
spec: cpio@2.11
curl:
buildable: false
externals:
- prefix: /usr
spec: curl@7.29.0
cvs:
buildable: false
externals:
- prefix: /usr
spec: cvs@1.11.23
diffutils:
buildable: false
externals:
- prefix: /usr
spec: diffutils@3.3
doxygen:
buildable: false
externals:
- prefix: /usr
spec: doxygen@1.8.5
expat:
buildable: false
externals:
- prefix: /usr
spec: expat@1.6.0
file:
externals:
- prefix: /usr
spec: file@5.11
findutils:
buildable: false
externals:
- prefix: /usr
spec: findutils@4.5.11
flex:
buildable: false
externals:
- prefix: /usr
spec: flex@2.5.37+lex
# E.G: only available from already downloaded source, so I put it here
gams:
externals:
- prefix: /opt/psi/Tools/GAMS/31.1.1/gams31.1_linux_x64_64_sfx
spec: gams@31.1.1
gawk:
buildable: false
externals:
- prefix: /usr
spec: gawk@4.0.2
ghostscript:
buildable: false
externals:
- prefix: /usr
spec: ghostscript@9.25
git:
buildable: false
externals:
- prefix: /usr
spec: git@1.8.3.1~tcltk
glew:
buildable: false
externals:
- prefix: /usr
spec: glew@1.10.0
gmake:
buildable: false
externals:
- prefix: /usr
spec: gmake@3.82
groff:
buildable: false
externals:
- prefix: /usr
spec: groff@1.22.2
hcoll:
buildable: false
externals:
- prefix: /opt/mellanox/hcoll
spec: hcoll@3.9.1927
fftw:
buildable: false
externals:
- prefix: /usr
spec: fftw@3.3.3
intel-oneapi-mkl:
buildable: false
externals:
- prefix: /opt/psi/Programming/intel/22.2
spec: intel-oneapi-mkl@2022.1.0
intel-oneapi-mpi:
buildable: false
externals:
- prefix: /opt/psi/Programming/intel/22.2
spec: intel-oneapi-mpi@2021.6.0
libcroco:
buildable: false
externals:
- prefix: /usr
spec: libcroco@0.6.13
libevent:
buildable: false
externals:
- prefix: /usr
spec: libevent@2.0
libfabric:
buildable: false
externals:
- prefix: /usr
spec: libfabric@1.10.2
libfuse:
buildable: false
externals:
- prefix: /usr
spec: libfuse@3.6.1
libice:
buildable: false
externals:
- prefix: /usr
spec: libice@6.3.0
libjpeg-turbo:
buildable: false
externals:
- prefix: /usr
spec: libjpeg-turbo@62.1.0
libpthread:
buildable: false
externals:
- prefix: /usr
spec: libpthread@2.17
libpthread-stubs:
buildable: false
externals:
- prefix: /usr
spec: libpthread-stubs@0.4
libreadline:
buildable: false
externals:
- prefix: /usr
spec: libreadline@6.2
libtiff:
buildable: false
externals:
- prefix: /usr
spec: libtiff@5.2.0
libx11:
buildable: false
externals:
- prefix: /usr
spec: libx11@6.3.0
libxext:
buildable: false
externals:
- prefix: /usr
spec: libxext@6.4.0
libxft:
buildable: false
externals:
- prefix: /usr
spec: libxft@2.3.2
libxpm:
buildable: false
externals:
- prefix: /usr
spec: libxpm@4.11.0
libxt:
buildable: false
externals:
- prefix: /usr
spec: libxt@6.0.0
m4:
buildable: false
externals:
- prefix: /usr
spec: m4@1.4.16
# E.G: only available from already downloaded source, so I put it here
mxm:
buildable: false
externals:
- prefix: /opt/psi/System/mxm/3.6.3104
spec: mxm@3.6.3104
ncurses:
buildable: false
externals:
- prefix: /usr
spec: ncurses@5.9.20130511
nlohmann-json:
buildable: false
externals:
- prefix: /usr
spec: nlohmann-json@3.10.5
numactl:
buildable: false
externals:
- prefix: /usr
spec: numactl@2.0.14
openmpi:
buildable: false
externals:
- prefix: /opt/psi/Compiler/openmpi/4.1.3_slurm/gcc/11.2.0
spec: openmpi@4.1.4
openssh:
buildable: false
externals:
- prefix: /usr
spec: openssh@7.4p1
openssl:
buildable: false
externals:
- prefix: /usr
spec: openssl@1.0.2k-fips
pcre:
buildable: false
externals:
- prefix: /usr
spec: pcre@8.32
pkg-config:
buildable: false
externals:
- prefix: /usr
spec: pkg-config@0.27.1
rsync:
buildable: false
externals:
- prefix: /usr
spec: rsync@3.1.2
ruby:
buildable: false
externals:
- prefix: /usr
spec: ruby@2.0.0p648
sed:
buildable: false
externals:
- prefix: /usr
spec: sed@4.2.2
sqlite:
buildable: false
externals:
- prefix: /usr
spec: sqlite@3.7.17
subversion:
buildable: false
externals:
- prefix: /usr
spec: subversion@1.7.14
tar:
buildable: false
externals:
- prefix: /usr
spec: tar@1.26
texinfo:
buildable: false
externals:
- prefix: /usr
spec: texinfo@5.1
xerces-c:
buildable: false
externals:
- prefix: /usr
spec: xerces-c@3.1
xz:
buildable: false
externals:
- prefix: /usr
spec: xz@5.2.2