From 6046edc935d4d372b2c87e59f6b22b853ec7130a Mon Sep 17 00:00:00 2001 From: Marek Pecha Date: Thu, 20 Apr 2017 17:16:38 +0200 Subject: [PATCH 1/9] added LIBLINEAR-2.11-intel-2017a.eb --- l/LIBLINEAR/LIBLINEAR-2.11-intel-2017a.eb | 30 +++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 l/LIBLINEAR/LIBLINEAR-2.11-intel-2017a.eb diff --git a/l/LIBLINEAR/LIBLINEAR-2.11-intel-2017a.eb b/l/LIBLINEAR/LIBLINEAR-2.11-intel-2017a.eb new file mode 100644 index 00000000..1a43f5ce --- /dev/null +++ b/l/LIBLINEAR/LIBLINEAR-2.11-intel-2017a.eb @@ -0,0 +1,30 @@ +#made by PERMON team + +easyblock = 'MakeCp' + +name = 'LIBLINEAR' +version = '2.11' + +homepage = 'http://www.csie.ntu.edu.tw/~cjlin/liblinear/' +description = """LIBLINEAR is a simple package for solving large-scale regularized linear +classification and regression. It supports L2-regularized logistic regression, L2-loss support vector classification +L1-loss support vector classification, L1-regularized L2-loss support vector classification, L1-regularized logistic regression +L2-regularized L2-loss support vector regression, L1-loss support vector regression.""" + +toolchain = {'name': 'intel', 'version': '2017a'} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] + +files_to_copy = [(['train', 'predict'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['train', 'predict']], + 'dirs': [], +} + +modextrapaths = { + 'PATH': ['bin'], +} + +moduleclass = 'lib' From 14344cf4fa4da4b77e6d3dcae89c52c65cea8515 Mon Sep 17 00:00:00 2001 From: kru0097 Date: Thu, 20 Apr 2017 17:30:25 +0200 Subject: [PATCH 2/9] added PETSc-3.7.5-intel-2017a.eb --- p/PETSc/PETSc-3.7.5-intel-2017a.eb | 45 ++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 p/PETSc/PETSc-3.7.5-intel-2017a.eb diff --git a/p/PETSc/PETSc-3.7.5-intel-2017a.eb b/p/PETSc/PETSc-3.7.5-intel-2017a.eb new file mode 100644 index 00000000..a09cc6b1 --- /dev/null +++ b/p/PETSc/PETSc-3.7.5-intel-2017a.eb @@ -0,0 +1,45 @@ +#made by PERMON team + +easyblock = 'ConfigureMake' +name = 'PETSc' +version = '3.7.5' + +homepage = 'http://www.mcs.anl.gov/petsc' +description = """PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the + scalable (parallel) solution of scientific applications modeled by partial differential equations.""" + +toolchain = {'name': 'intel', 'version': '2017a'} + +#build is still parallel, PETSc make doesnt support -j opt +maxparallel = 0 + +source_urls = ['http://ftp.mcs.anl.gov/pub/petsc/release-snapshots'] +sources = [SOURCELOWER_TAR_GZ] + +# (build) dependencies provided through EasyBuild +builddependencies = [('CMake', '3.7.2', '', True)] + +# configure installs dependencies -> remove installdir before configure +keeppreviousinstall = True +preconfigopts = 'rm -rf %(installdir)s;' + +petscArch = 'intel-opt' +petscDir = '%(builddir)s/%(namelower)s-%(version)s' + +# config options +configopts = '--CFLAGS=-O3 -xHost --CXXFLAGS=-O3 -xHost --FFLAGS=-O3 -xHost --with-c++-support --with-pic=1 ' +configopts += '--with-cc=mpicc --with-cxx=mpicxx --with-fc=mpif90 --with-debugging=0 --with-gnu-compilers=0 ' +configopts += '--with-mpi=1 --with-x=0 ' +configopts += '--download-metis --download-parmetis --download-mumps --download-superlu --download-superlu_dist ' +configopts += '--with-blas-lapack-lib=[$EBROOTIMKL/mkl/lib/intel64_lin/libmkl_intel_lp64.a,libmkl_sequential.a,libmkl_core.a] ' +configopts += '--with-scalapack-include=$EBROOTIMKL/mkl/include ' +configopts += '--with-scalapack-lib=[$EBROOTIMKL/mkl/lib/intel64_lin/libmkl_scalapack_lp64.a,libmkl_blacs_intelmpi_lp64.a,libmkl_intel_lp64.a,libmkl_sequential.a,libmkl_core.a] ' +configopts += '--with-scalapack=1 ' +configopts += 'PETSC_ARCH=%s' % petscArch + +installopts = 'PETSC_DIR=%s PETSC_ARCH=%s' % (petscDir,petscArch) +buildopts = installopts + ' all' + +modextravars = {'PETSC_DIR':'%(installdir)s'} + +moduleclass = 'numlib' From 9ad5ee7bab4a50cc8904b72c9c624f6cc435de99 Mon Sep 17 00:00:00 2001 From: Radim Sojka Date: Thu, 20 Apr 2017 18:40:06 +0200 Subject: [PATCH 3/9] added Clp-1.16.10-intel-2017a.eb --- c/Clp/Clp-1.16.10-intel-2017a.eb | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 c/Clp/Clp-1.16.10-intel-2017a.eb diff --git a/c/Clp/Clp-1.16.10-intel-2017a.eb b/c/Clp/Clp-1.16.10-intel-2017a.eb new file mode 100644 index 00000000..5ac1118f --- /dev/null +++ b/c/Clp/Clp-1.16.10-intel-2017a.eb @@ -0,0 +1,25 @@ +#made by PERMON team + +easyblock = 'ConfigureMake' + +name = 'Clp' +version = '1.16.10' + +homepage = 'https://projects.coin-or.org/Clp' +description = """Clp (COIN-OR linear programming) is an open-source linear programming solver written in C++. It is primarily meant to be used as a callable library, but a basic stand-alone executable version is also available. It is a part of the COIN-OR project (https://www.coin-or.org).""" + +toolchain = {'name': 'intel', 'version': '2017a'} + +source_urls = ['https://www.coin-or.org/download/source/Clp/'] +sources = [SOURCE_TGZ] + +dependencies = [] + +sanity_check_paths = { + 'files' : ['bin/clp'], + 'dirs' : ['include/coin/','lib/'], +} + +sanity_check_commands = [('clp','-h')] + +moduleclass = 'numlib' From fc540c2a7eeb72cc17b7c248f28b13b37581229f Mon Sep 17 00:00:00 2001 From: Jiri Tomcala Date: Thu, 20 Apr 2017 19:38:39 +0200 Subject: [PATCH 4/9] added numpy-1.12.1-intel-2017a-Python-2.7.11.eb --- .../numpy-1.12.1-intel-2017a-Python-2.7.11.eb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 n/numpy/numpy-1.12.1-intel-2017a-Python-2.7.11.eb diff --git a/n/numpy/numpy-1.12.1-intel-2017a-Python-2.7.11.eb b/n/numpy/numpy-1.12.1-intel-2017a-Python-2.7.11.eb new file mode 100644 index 00000000..283c7247 --- /dev/null +++ b/n/numpy/numpy-1.12.1-intel-2017a-Python-2.7.11.eb @@ -0,0 +1,34 @@ +#adapted by PERMON team + +name = 'numpy' +version = '1.12.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.numpy.org' +description = """NumPy is the fundamental package for scientific computing with Python. It contains among other things: + a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran + code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, + NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be + defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.""" + +toolchain = {'name': 'intel', 'version': '2017a'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_ZIP] + +patches = ['numpy-1.12.0-mkl.patch'] + +dependencies = [ + ('Python', '2.7.11'), +] + +# need to use pip rather than regular 'setup.py install,' +# to ensure that this numpy wins over the one in the Python installation; +# using easy_install does not work... +use_pip = True + +# install as zipped egg to get a .pth file in lib/python*/site-packages; +# this enables shadowing of the numpy that is part of the Python installation +zipped_egg = True + +moduleclass = 'math' From 66b303e60178ea21b37a14487bf2de6aec923134 Mon Sep 17 00:00:00 2001 From: Vaclav Hapla Date: Thu, 20 Apr 2017 20:00:44 +0200 Subject: [PATCH 5/9] PETSc-3.7.5-intel-2017a.eb -> PETSc-3.7.5-intel-2017a-it4i.eb --- ...Sc-3.7.5-intel-2017a.eb => PETSc-3.7.5-intel-2017a-it4i.eb} | 3 +++ 1 file changed, 3 insertions(+) rename p/PETSc/{PETSc-3.7.5-intel-2017a.eb => PETSc-3.7.5-intel-2017a-it4i.eb} (97%) diff --git a/p/PETSc/PETSc-3.7.5-intel-2017a.eb b/p/PETSc/PETSc-3.7.5-intel-2017a-it4i.eb similarity index 97% rename from p/PETSc/PETSc-3.7.5-intel-2017a.eb rename to p/PETSc/PETSc-3.7.5-intel-2017a-it4i.eb index a09cc6b1..0046666e 100644 --- a/p/PETSc/PETSc-3.7.5-intel-2017a.eb +++ b/p/PETSc/PETSc-3.7.5-intel-2017a-it4i.eb @@ -1,8 +1,11 @@ #made by PERMON team +# BUILD ON COMPUTE NODE + easyblock = 'ConfigureMake' name = 'PETSc' version = '3.7.5' +versionsuffix = '-it4i' homepage = 'http://www.mcs.anl.gov/petsc' description = """PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the From 9bdd44d10e841598151c727f1e14b713a583cd91 Mon Sep 17 00:00:00 2001 From: Vaclav Hapla Date: Thu, 20 Apr 2017 23:55:53 +0200 Subject: [PATCH 6/9] PETSc-3.7.5-intel-2017a-it4i.eb: added sanity checks --- p/PETSc/PETSc-3.7.5-intel-2017a-it4i.eb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/p/PETSc/PETSc-3.7.5-intel-2017a-it4i.eb b/p/PETSc/PETSc-3.7.5-intel-2017a-it4i.eb index 0046666e..9a4e201b 100644 --- a/p/PETSc/PETSc-3.7.5-intel-2017a-it4i.eb +++ b/p/PETSc/PETSc-3.7.5-intel-2017a-it4i.eb @@ -46,3 +46,11 @@ buildopts = installopts + ' all' modextravars = {'PETSC_DIR':'%(installdir)s'} moduleclass = 'numlib' + +# sanity checks +runtest = 'test' # run make test after make +sanity_check_paths = { + 'files': ['include/petscconf.h', 'lib/libpetsc.so'], + 'dirs': [] +} +sanity_check_commands = [('petscmpiexec','-h')] From 8d947b92c5a15894e4ef36b149bd4791332a8af7 Mon Sep 17 00:00:00 2001 From: Vaclav Hapla Date: Fri, 21 Apr 2017 00:30:12 +0200 Subject: [PATCH 7/9] LIBSVM-3.22-intel-2017a.eb: added comment --- l/LIBSVM/LIBSVM-3.22-intel-2017a.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/l/LIBSVM/LIBSVM-3.22-intel-2017a.eb b/l/LIBSVM/LIBSVM-3.22-intel-2017a.eb index 051e2f4f..3cbd6c90 100644 --- a/l/LIBSVM/LIBSVM-3.22-intel-2017a.eb +++ b/l/LIBSVM/LIBSVM-3.22-intel-2017a.eb @@ -1,3 +1,5 @@ +#adapted by PERMON team + easyblock = 'MakeCp' name = 'LIBSVM' From b3b949795696f9698ba2a6437bab3ded3cd28b84 Mon Sep 17 00:00:00 2001 From: Vaclav Hapla Date: Fri, 21 Apr 2017 01:43:34 +0200 Subject: [PATCH 8/9] changed moduleclass for LIBLINEAR and LIBSVM to numlib --- l/LIBLINEAR/LIBLINEAR-2.11-intel-2017a.eb | 2 +- l/LIBSVM/LIBSVM-3.22-intel-2017a.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/l/LIBLINEAR/LIBLINEAR-2.11-intel-2017a.eb b/l/LIBLINEAR/LIBLINEAR-2.11-intel-2017a.eb index 1a43f5ce..70127e8e 100644 --- a/l/LIBLINEAR/LIBLINEAR-2.11-intel-2017a.eb +++ b/l/LIBLINEAR/LIBLINEAR-2.11-intel-2017a.eb @@ -27,4 +27,4 @@ modextrapaths = { 'PATH': ['bin'], } -moduleclass = 'lib' +moduleclass = 'numlib' diff --git a/l/LIBSVM/LIBSVM-3.22-intel-2017a.eb b/l/LIBSVM/LIBSVM-3.22-intel-2017a.eb index 3cbd6c90..90b64ef9 100644 --- a/l/LIBSVM/LIBSVM-3.22-intel-2017a.eb +++ b/l/LIBSVM/LIBSVM-3.22-intel-2017a.eb @@ -30,4 +30,4 @@ modextrapaths = { 'PATH': ['bin', 'bin/svm-toy/qt'], } -moduleclass = 'lib' +moduleclass = 'numlib' From 66a0ce0a52dad1904eb70fae8703c1c1fa5f2022 Mon Sep 17 00:00:00 2001 From: Vaclav Hapla Date: Fri, 21 Apr 2017 03:55:50 +0200 Subject: [PATCH 9/9] numpy-1.12.1-intel-2017a-Python-2.7.11.eb: check that numpy is present in python and in proper version --- n/numpy/numpy-1.12.1-intel-2017a-Python-2.7.11.eb | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/n/numpy/numpy-1.12.1-intel-2017a-Python-2.7.11.eb b/n/numpy/numpy-1.12.1-intel-2017a-Python-2.7.11.eb index 283c7247..d058bfae 100644 --- a/n/numpy/numpy-1.12.1-intel-2017a-Python-2.7.11.eb +++ b/n/numpy/numpy-1.12.1-intel-2017a-Python-2.7.11.eb @@ -22,13 +22,7 @@ dependencies = [ ('Python', '2.7.11'), ] -# need to use pip rather than regular 'setup.py install,' -# to ensure that this numpy wins over the one in the Python installation; -# using easy_install does not work... -use_pip = True - -# install as zipped egg to get a .pth file in lib/python*/site-packages; -# this enables shadowing of the numpy that is part of the Python installation -zipped_egg = True +# check that numpy is present in python and in proper version +sanity_check_commands = [('python', '-c "import numpy; assert(numpy.__version__ == \'%(version)s\')"')] moduleclass = 'math'