diff --git a/l/libMesh/libMesh-1.3.0-intel-2017c.e b/l/libMesh/libMesh-1.3.0-intel-2017c.e new file mode 100644 index 00000000..e69de29b diff --git a/l/libMesh/libMesh-1.3.0-intel-2017c.eb b/l/libMesh/libMesh-1.3.0-intel-2017c.eb index 23417ade..080e3c0e 100644 --- a/l/libMesh/libMesh-1.3.0-intel-2017c.eb +++ b/l/libMesh/libMesh-1.3.0-intel-2017c.eb @@ -20,11 +20,12 @@ source_urls = [ sources = [SOURCELOWER_TAR_GZ] -configopts = "--with-parmetis" +configopts = " --with-metis=PETSc" dependencies = [ - ('ParMETIS', '4.0.3'), + #('ParMETIS', '4.0.3'), ('Boost', '1.68.0'), + ('PETSc' ,'3.7.5', '-it4i'), ] sanity_check_paths = { diff --git a/p/PETSc/PETSc-3.7.5-intel-2017c-it4i.eb b/p/PETSc/PETSc-3.7.5-intel-2017c-it4i.eb new file mode 100644 index 00000000..419b66a3 --- /dev/null +++ b/p/PETSc/PETSc-3.7.5-intel-2017c-it4i.eb @@ -0,0 +1,54 @@ +# IT4Innovations 2019 + +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 + scalable (parallel) solution of scientific applications modeled by partial differential equations.""" + +toolchain = {'name': 'intel', 'version': '2017c'} + +# 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.14.1', '', 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' + +# 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')]