mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-04 06:11:36 +01:00
new file: b/Boost/Boost-1.72.0-intel-2020a-Py-3.7.eb
new file: c/CGAL/CGAL-4.11.1-intel-2020a.eb new file: c/CGAL/CGAL-5.0.2-intel-2020a.eb new file: d/DOLFIN/DOLFIN-2019.1.0-intel-2020a-Py-3.7.eb new file: f/FFC/FFC-2019.1.0-conda.eb new file: m/MATIO/MATIO-1.5.12-intel-2020a.eb new file: m/mshr/mshr-2019.1.0-conda.eb modified: o/OpenMPI/OpenMPI-1.10.7-GCC-6.3.0-2.27-noPBS.eb new file: o/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0-noPBS.eb new file: s/SLEPc/SLEPc-3.13.3-intel-2020a.eb new file: s/SLEPc/SLEPc-3.9.2-intel-2020a.eb new file: t/Trilinos/Trilinos-12.12.1-intel-2020a-Py-3.7.eb
This commit is contained in:
parent
cb62cef936
commit
d3593bd9a7
30
b/Boost/Boost-1.72.0-intel-2020a-Py-3.7.eb
Normal file
30
b/Boost/Boost-1.72.0-intel-2020a-Py-3.7.eb
Normal file
@ -0,0 +1,30 @@
|
||||
# IT4Innovations 2020
|
||||
# LK
|
||||
|
||||
name = 'Boost'
|
||||
version = '1.72.0'
|
||||
versionsuffix = '-Py-3.7'
|
||||
|
||||
homepage = 'http://www.boost.org/'
|
||||
description = """Boost provides free peer-reviewed portable C++ source libraries."""
|
||||
|
||||
toolchain = {'name': 'intel', 'version': '2020a'}
|
||||
toolchainopts = {'pic': True, 'usempi': True}
|
||||
|
||||
source_urls = [SOURCEFORGE_SOURCE]
|
||||
|
||||
sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))]
|
||||
patches = ['Boost-1.65.1_fix-Python3.patch']
|
||||
|
||||
dependencies = [
|
||||
('bzip2', '1.0.6', '', True),
|
||||
('zlib', '1.2.11', '', True),
|
||||
('Py', '3.7', '', True)
|
||||
]
|
||||
|
||||
configopts = '--with-python=$EBROOTPYTHON/bin/python'
|
||||
|
||||
# also build boost_mpi
|
||||
boost_mpi = True
|
||||
|
||||
moduleclass = 'devel'
|
38
c/CGAL/CGAL-4.11.1-intel-2020a.eb
Normal file
38
c/CGAL/CGAL-4.11.1-intel-2020a.eb
Normal file
@ -0,0 +1,38 @@
|
||||
# IT4Innovations 2020
|
||||
# LK
|
||||
|
||||
name = 'CGAL'
|
||||
version = '4.11.1'
|
||||
|
||||
homepage = 'http://www.cgal.org/'
|
||||
description = """The goal of the CGAL Open Source Project is to provide easy access to efficient
|
||||
and reliable geometric algorithms in the form of a C++ library."""
|
||||
|
||||
toolchain = {'name': 'intel', 'version': '2020a'}
|
||||
toolchainopts = {'strict': True}
|
||||
|
||||
source_urls = ['https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-%(version)s']
|
||||
sources = [SOURCE_TAR_XZ]
|
||||
|
||||
dependencies = [
|
||||
('zlib', '1.2.11', '', True),
|
||||
('Boost', '1.72.0', '-Py-3.7'),
|
||||
('MPFR', '4.0.1', '' , True),
|
||||
('GMP', '6.1.2', '', True),
|
||||
('Mesa', '19.2.1', '', ('GCCcore', '8.3.0')),
|
||||
('libGLU', '9.0.1', '-Mesa-19.2.1', ('GCCcore', '8.3.0')),
|
||||
('Qt5', '5.13.1', '', ('GCCcore', '8.3.0')),
|
||||
]
|
||||
|
||||
builddependencies = [
|
||||
('CMake', '3.16.2', '', True),
|
||||
('Eigen', '3.3.7', '', True),
|
||||
]
|
||||
|
||||
configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include "
|
||||
configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT
|
||||
configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT
|
||||
configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON "
|
||||
configopts += "-DWITH_GMPXX=ON -DWITH_LAPACK=ON -DWITH_BLAS=ON "
|
||||
|
||||
moduleclass = 'numlib'
|
38
c/CGAL/CGAL-5.0.2-intel-2020a.eb
Normal file
38
c/CGAL/CGAL-5.0.2-intel-2020a.eb
Normal file
@ -0,0 +1,38 @@
|
||||
# IT4Innovations 2020
|
||||
# LK
|
||||
|
||||
name = 'CGAL'
|
||||
version = '5.0.2'
|
||||
|
||||
homepage = 'http://www.cgal.org/'
|
||||
description = """The goal of the CGAL Open Source Project is to provide easy access to efficient
|
||||
and reliable geometric algorithms in the form of a C++ library."""
|
||||
|
||||
toolchain = {'name': 'intel', 'version': '2020a'}
|
||||
toolchainopts = {'strict': True}
|
||||
|
||||
source_urls = ['https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-%(version)s']
|
||||
sources = [SOURCE_TAR_XZ]
|
||||
|
||||
dependencies = [
|
||||
('zlib', '1.2.11', '', True),
|
||||
('Boost', '1.72.0', '-Py-3.7'),
|
||||
('MPFR', '4.0.1', '' , True),
|
||||
('GMP', '6.1.2', '', True),
|
||||
('Mesa', '19.2.1', '', ('GCCcore', '8.3.0')),
|
||||
('libGLU', '9.0.1', '-Mesa-19.2.1', ('GCCcore', '8.3.0')),
|
||||
('Qt5', '5.13.1', '', ('GCCcore', '8.3.0')),
|
||||
]
|
||||
|
||||
builddependencies = [
|
||||
('CMake', '3.16.2', '', True),
|
||||
('Eigen', '3.3.7', '', True),
|
||||
]
|
||||
|
||||
configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include "
|
||||
configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT
|
||||
configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT
|
||||
configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON "
|
||||
configopts += "-DWITH_GMPXX=ON -DWITH_LAPACK=ON -DWITH_BLAS=ON "
|
||||
|
||||
moduleclass = 'numlib'
|
51
d/DOLFIN/DOLFIN-2019.1.0-intel-2020a-Py-3.7.eb
Normal file
51
d/DOLFIN/DOLFIN-2019.1.0-intel-2020a-Py-3.7.eb
Normal file
@ -0,0 +1,51 @@
|
||||
# IT4Innovations 2020
|
||||
# LK
|
||||
|
||||
name = 'DOLFIN'
|
||||
version = '2019.1.0'
|
||||
versionsuffix = '-Py-3.7'
|
||||
|
||||
homepage = 'https://bitbucket.org/fenics-project/dolfin'
|
||||
description = """DOLFIN is the C++/Python interface of FEniCS, providing a consistent PSE
|
||||
(Problem Solving Environment) for ordinary and partial differential equations."""
|
||||
|
||||
toolchain = {'name': 'intel', 'version': '2020a'}
|
||||
toolchainopts = {'usempi': True, 'pic': True, 'packed-linker-options': True, 'openmp': True}
|
||||
|
||||
source_urls = ['https://bitbucket.org/fenics-project/dolfin/downloads/']
|
||||
sources = [SOURCELOWER_TAR_GZ]
|
||||
|
||||
builddependencies = [
|
||||
('CMake', '3.16.2', '', True),
|
||||
('pkg-config', '0.29.2', '', True),
|
||||
('PatchELF', '0.9', '', True),
|
||||
# ('pybind11', '2.2.4', versionsuffix),
|
||||
]
|
||||
dependencies = [
|
||||
('Py', '3.7', '', True),
|
||||
('Boost', '1.72.0', versionsuffix),
|
||||
('FFC', '2019.1.0', versionsuffix),
|
||||
('FIAT', '2019.1.0', versionsuffix),
|
||||
('UFL', '2019.1.0', versionsuffix),
|
||||
('SCOTCH', '6.0.9'),
|
||||
('SuiteSparse', '5.6.0', '-METIS-5.1.0'),
|
||||
('CGAL', '4.11.1'),
|
||||
('PETSc', '3.12.4'),
|
||||
('SLEPc', '3.12.2'),
|
||||
('HDF5', '1.10.6'),
|
||||
# ('Trilinos', '12.12.1', versionsuffix),
|
||||
('zlib', '1.2.11', '', True),
|
||||
('libxml2', '2.9.9', '', True),
|
||||
('Eigen', '3.3.7', '', True),
|
||||
# ('PLY', '3.11', versionsuffix),
|
||||
# ('VTK', '8.1.0', versionsuffix),
|
||||
# ('petsc4py', '3.9.1', versionsuffix),
|
||||
# ('slepc4py', '3.9.0', versionsuffix),
|
||||
# ('SUNDIALS', '2.7.0'),
|
||||
('ParMETIS', '4.0.3'),
|
||||
]
|
||||
|
||||
# demos run as tests fail with 'bad X server connection', skipping for now
|
||||
runtest = False
|
||||
|
||||
moduleclass = 'math'
|
26
f/FFC/FFC-2019.1.0-conda.eb
Normal file
26
f/FFC/FFC-2019.1.0-conda.eb
Normal file
@ -0,0 +1,26 @@
|
||||
# IT4Innovations 2020
|
||||
|
||||
easyblock = "Conda"
|
||||
|
||||
name = 'FFC'
|
||||
version = '2019.1.0'
|
||||
versionsuffix = '-conda'
|
||||
|
||||
homepage = 'http://phonopy.sourceforge.net/phono3py/index.html'
|
||||
description = """This software calculates phonon-phonon interaction related properties"""
|
||||
|
||||
toolchain = SYSTEM
|
||||
|
||||
dependencies = [
|
||||
('Anaconda3', '2019.10'),
|
||||
]
|
||||
|
||||
requirements = "fenics=%(version)s python=3.7"
|
||||
channels = ['conda-forge']
|
||||
|
||||
sanity_check_paths = {
|
||||
'files': ['bin/ffc'],
|
||||
'dirs': ['bin', 'lib', 'lib64', 'include', 'sbin']
|
||||
}
|
||||
|
||||
moduleclass = 'math'
|
19
m/MATIO/MATIO-1.5.12-intel-2020a.eb
Normal file
19
m/MATIO/MATIO-1.5.12-intel-2020a.eb
Normal file
@ -0,0 +1,19 @@
|
||||
# IT4Innovations 2020
|
||||
# LK
|
||||
|
||||
easyblock = 'ConfigureMake'
|
||||
|
||||
name = 'MATIO'
|
||||
version = '1.5.12'
|
||||
|
||||
homepage = 'http://sourceforge.net/projects/matio/'
|
||||
description = """matio is an C library for reading and writing Matlab MAT files."""
|
||||
|
||||
toolchain = {'name': 'intel', 'version': '2020a'}
|
||||
|
||||
source_urls = [SOURCEFORGE_SOURCE]
|
||||
sources = [SOURCELOWER_ZIP]
|
||||
|
||||
dependencies = [('zlib', '1.2.11')]
|
||||
|
||||
moduleclass = 'lib'
|
27
m/mshr/mshr-2019.1.0-conda.eb
Normal file
27
m/mshr/mshr-2019.1.0-conda.eb
Normal file
@ -0,0 +1,27 @@
|
||||
# IT4Innovations 2020\
|
||||
# LK
|
||||
|
||||
easyblock = "Conda"
|
||||
|
||||
name = 'mshr'
|
||||
version = '2019.1.0'
|
||||
versionsuffix = '-conda'
|
||||
|
||||
homepage = 'http://phonopy.sourceforge.net/phono3py/index.html'
|
||||
description = """This software calculates phonon-phonon interaction related properties"""
|
||||
|
||||
toolchain = SYSTEM
|
||||
|
||||
dependencies = [
|
||||
('Anaconda3', '2019.10'),
|
||||
]
|
||||
|
||||
requirements = "mshr=%(version)s python=3.7"
|
||||
channels = ['conda-forge']
|
||||
|
||||
sanity_check_paths = {
|
||||
'files': ['bin/ffc'],
|
||||
'dirs': ['bin', 'lib', 'lib64', 'include', 'sbin']
|
||||
}
|
||||
|
||||
moduleclass = 'math'
|
@ -1,3 +1,5 @@
|
||||
# IT4Innovations 2019
|
||||
|
||||
easyblock = 'ConfigureMake'
|
||||
|
||||
name = 'OpenMPI'
|
||||
@ -15,24 +17,16 @@ source_urls = [
|
||||
|
||||
dependencies = [('hwloc', '1.11.7')]
|
||||
|
||||
builddependencies = [
|
||||
('Java', '1.8.0_121', '', True)
|
||||
]
|
||||
|
||||
configopts = '--with-threads=posix --enable-shared --enable-mpi-thread-multiple --with-verbs '
|
||||
# suppress failure modes in relation to mpirun path
|
||||
configopts += '--enable-mpirun-prefix-by-default '
|
||||
configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support
|
||||
# statically link local_component, don't do dynamic loading
|
||||
configopts += '--disable-dlopen '
|
||||
# configopts += '--with-tm=/opt/pbs/default ' # Enable PBS
|
||||
configopts += '--enable-mpi-java ' # Java support RT#4090
|
||||
|
||||
# for PBS Pro 13
|
||||
# preconfigopts = 'export LIBS="-ldl" && '
|
||||
#configopts += '--with-tm=/opt/pbs ' # Enable PBS
|
||||
|
||||
# needed for --with-verbs
|
||||
osdependencies = [('libibverbs-dev', 'libibverbs-devel')]
|
||||
#osdependencies = [('libibverbs-dev', 'libibverbs-devel')]
|
||||
|
||||
libs = [
|
||||
"mpi_cxx",
|
||||
|
53
o/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0-noPBS.eb
Normal file
53
o/OpenMPI/OpenMPI-3.1.6-GCCcore-8.3.0-noPBS.eb
Normal file
@ -0,0 +1,53 @@
|
||||
# IT4Innovations 2020
|
||||
|
||||
easyblock = 'ConfigureMake'
|
||||
|
||||
name = 'OpenMPI'
|
||||
version = '3.1.6'
|
||||
versionsuffix = '-noPBS'
|
||||
|
||||
homepage = 'http://www.open-mpi.org/'
|
||||
description = """The Open MPI Project is an open source MPI-2 implementation."""
|
||||
|
||||
toolchain = {'name': 'GCCcore', 'version': '8.3.0'}
|
||||
|
||||
source_urls = [
|
||||
'http://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
|
||||
sources = [SOURCELOWER_TAR_GZ]
|
||||
|
||||
dependencies = [
|
||||
('hwloc', '1.11.12'),
|
||||
('zlib', '1.2.11'),
|
||||
('binutils', '2.32'),
|
||||
('UCX', '1.6.1'),
|
||||
]
|
||||
|
||||
#configopts = '--with-tm=/opt/pbs ' # Enable PBS
|
||||
configopts = '--with-ucx=$EBROOTUCX --enable-orterun-prefix-by-default'
|
||||
|
||||
osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')]
|
||||
|
||||
libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"]
|
||||
sanity_check_paths = {
|
||||
'files': [
|
||||
"bin/%s" %
|
||||
binfile for binfile in [
|
||||
"ompi_info", "opal_wrapper", "orterun"]] + [
|
||||
"lib/lib%s.%s" %
|
||||
(libfile, SHLIB_EXT) for libfile in libs] + [
|
||||
"include/%s.h" %
|
||||
x for x in [
|
||||
"mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], }
|
||||
|
||||
import os
|
||||
if os.environ.get("CLUSTERNAME") in ["BARBORA"]:
|
||||
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
|
||||
'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24',
|
||||
'OMPI_MCA_orte_base_help_aggregate': '0',
|
||||
}
|
||||
else:
|
||||
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0',
|
||||
'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8',
|
||||
}
|
||||
|
||||
moduleclass = 'mpi'
|
23
s/SLEPc/SLEPc-3.13.3-intel-2020a.eb
Normal file
23
s/SLEPc/SLEPc-3.13.3-intel-2020a.eb
Normal file
@ -0,0 +1,23 @@
|
||||
# IT4Innovations 2020
|
||||
# LK
|
||||
|
||||
name = 'SLEPc'
|
||||
version = '3.13.3'
|
||||
|
||||
homepage = 'https://www.grycap.upv.es/slepc/'
|
||||
description = """SLEPc (Scalable Library for Eigenvalue Problem Computations) is a software library for the solution
|
||||
of large scale sparse eigenvalue problems on parallel computers. It is an extension of PETSc and can be used for
|
||||
either standard or generalized eigenproblems, with real or complex arithmetic. It can also be used for computing a
|
||||
partial SVD of a large, sparse, rectangular matrix, and to solve quadratic eigenvalue problems."""
|
||||
|
||||
toolchain = {'name': 'intel', 'version': '2020a'}
|
||||
toolchainopts = {'usempi': True, 'openmp': True}
|
||||
|
||||
source_urls = ['https://slepc.upv.es/download/distrib']
|
||||
sources = [SOURCELOWER_TAR_GZ]
|
||||
|
||||
dependencies = [('PETSc', '3.12.4')]
|
||||
|
||||
petsc_arch = 'installed-arch-linux2-c-opt'
|
||||
|
||||
moduleclass = 'numlib'
|
23
s/SLEPc/SLEPc-3.9.2-intel-2020a.eb
Normal file
23
s/SLEPc/SLEPc-3.9.2-intel-2020a.eb
Normal file
@ -0,0 +1,23 @@
|
||||
# IT4Innovations 2020
|
||||
# LK
|
||||
|
||||
name = 'SLEPc'
|
||||
version = '3.9.2'
|
||||
|
||||
homepage = 'https://www.grycap.upv.es/slepc/'
|
||||
description = """SLEPc (Scalable Library for Eigenvalue Problem Computations) is a software library for the solution
|
||||
of large scale sparse eigenvalue problems on parallel computers. It is an extension of PETSc and can be used for
|
||||
either standard or generalized eigenproblems, with real or complex arithmetic. It can also be used for computing a
|
||||
partial SVD of a large, sparse, rectangular matrix, and to solve quadratic eigenvalue problems."""
|
||||
|
||||
toolchain = {'name': 'intel', 'version': '2020a'}
|
||||
toolchainopts = {'usempi': True, 'openmp': True}
|
||||
|
||||
source_urls = ['https://slepc.upv.es/download/distrib']
|
||||
sources = [SOURCELOWER_TAR_GZ]
|
||||
|
||||
dependencies = [('PETSc', '3.12.4')]
|
||||
|
||||
petsc_arch = 'installed-arch-linux2-c-opt'
|
||||
|
||||
moduleclass = 'numlib'
|
64
t/Trilinos/Trilinos-12.12.1-intel-2020a-Py-3.7.eb
Normal file
64
t/Trilinos/Trilinos-12.12.1-intel-2020a-Py-3.7.eb
Normal file
@ -0,0 +1,64 @@
|
||||
# IT4Innovations 2020
|
||||
# LK
|
||||
|
||||
name = 'Trilinos'
|
||||
version = '12.12.1'
|
||||
versionsuffix = '-Py-3.7'
|
||||
|
||||
homepage = 'https://trilinos.org'
|
||||
description = """The Trilinos Project is an effort to develop algorithms and enabling technologies
|
||||
within an object-oriented software framework for the solution of large-scale, complex multi-physics
|
||||
engineering and scientific problems. A unique design feature of Trilinos is its focus on packages."""
|
||||
|
||||
toolchain = {'name': 'intel', 'version': '2020a'}
|
||||
toolchainopts = {'usempi': True, 'pic': True, 'strict': True}
|
||||
|
||||
source_urls = [
|
||||
'http://trilinos.csbsju.edu/download/files/',
|
||||
'https://trilinos.org/oldsite/download/files/',
|
||||
]
|
||||
sources = ['%(namelower)s-%(version)s-Source.tar.gz']
|
||||
patches = [
|
||||
('Trilinos-%(version)s_fix-CEpetra-LAPACK.patch', 'packages/CTrilinos'),
|
||||
'Trilinos-%(version)s_fix-Py3.patch',
|
||||
'Trilinos-%(version)s_muelu-fix-function-signature.patch',
|
||||
'Trilinos-%(version)s_fix-Sundance.patch',
|
||||
]
|
||||
checksums = [
|
||||
'7c67d83befbeabc773661bcdfee2850c404d249160b755d3f1be2e96f564f9fd', # trilinos-12.12.1-Source.tar.gz
|
||||
'de2e989bf9e7cbe7cab9126a464b5b1569983de4060956e7a95dccb9e0bad039', # Trilinos-12.12.1_fix-CEpetra-LAPACK.patch
|
||||
'5505645b712056403263860de86efccfb343cb5e5bf8d65697526d65ea5df099', # Trilinos-12.12.1_fix-Py3.patch
|
||||
# Trilinos-12.12.1_muelu-fix-function-signature.patch
|
||||
'253191cc6f6a6ebcc893e2684c64cfefa62c1cd0cc6b03b5f83646856fbdfe8a',
|
||||
'df7924c207c1fab98d5aeec1333c4e2da5c07117daf2c72279f894552087e391', # Trilinos-12.12.1_fix-Sundance.patch
|
||||
]
|
||||
|
||||
builddependencies = [
|
||||
('CMake', '3.16.2', '', True),
|
||||
('SWIG', '3.0.12', versionsuffix, True),
|
||||
]
|
||||
dependencies = [
|
||||
('Py', '3.7', '', True),
|
||||
('Boost', '1.72.0', versionsuffix),
|
||||
('SCOTCH', '6.0.9'),
|
||||
('SuiteSparse', '5.6.0', '-METIS-5.1.0'),
|
||||
('ParMETIS', '4.0.3'),
|
||||
('netCDF', '4.7.3'),
|
||||
('MATIO', '1.5.12'),
|
||||
# ('GLM', '0.9.9.0'),
|
||||
('X11', '20190717', '', True),
|
||||
]
|
||||
|
||||
# disable TrilinosCouplings package, doesn't build correctly (examples fail to compile)
|
||||
skip_exts = ['TrilinosCouplings']
|
||||
|
||||
# workaround for Teuchos.pyc not being found during "make install"
|
||||
# see https://github.com/trilinos/Trilinos/issues/1749
|
||||
preinstallopts = "cd %(builddir)s/trilinos-%(version)s-Source/packages/PyTrilinos/src/PyTrilinos && "
|
||||
preinstallopts += "python -m compileall -b -l -f . && cd - && "
|
||||
|
||||
# too parallel is too slow because of memory requirements (results in swapping), and may cause build/tests to fail
|
||||
# building with 20 cores seems to require about 100GB of memory (peak usage)
|
||||
maxparallel = 10
|
||||
|
||||
moduleclass = 'numlib'
|
Loading…
x
Reference in New Issue
Block a user