Skip to content

Commit

Permalink
updated packages
Browse files Browse the repository at this point in the history
  • Loading branch information
Jorge Ejarque committed Feb 27, 2023
1 parent 09d08da commit c2d139f
Show file tree
Hide file tree
Showing 9 changed files with 124 additions and 18 deletions.
12 changes: 8 additions & 4 deletions cfg/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -88,11 +88,15 @@ packages:
externals:
- spec: [email protected]
prefix: /usr
bzip2:
externals:
- spec: [email protected]
prefix: /
#bzip2:
# externals:
# - spec: [email protected]
# prefix: /
tar:
externals:
- spec: [email protected]
prefix: /
cpio:
externals:
- spec: [email protected]
prefix: /
2 changes: 1 addition & 1 deletion packages/compss/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class Compss(Package):
version('2.10', sha256='0795ca7674f1bdd0faeac950fa329377596494f64223650fe65a096807d58a60', preferred=True)

# dependencies.
depends_on('python')
depends_on('python@3.6')
depends_on('openjdk')
depends_on('boost')
depends_on('libxml2')
Expand Down
57 changes: 51 additions & 6 deletions packages/fesom2/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,21 +43,33 @@ class Fesom2(CMakePackage):
depends_on('blas')

variant('hecuba', default=False, description='Builds a MPI version of the library')
def setup_build_environment(self, env):
env.set('CC', self.spec['mpi'].mpicc)
env.set('FC',self.spec['mpi'].mpifc)
env.set('CXX', self.spec['mpi'].mpicxx)
env.set('F77', self.spec['mpi'].mpif77)

#def setup_build_environment(self, env):
#env.set('CC', self.spec['mpi'].mpicc)
#env.set('FC',self.spec['mpi'].mpifc)
#env.set('CXX', self.spec['mpi'].mpicxx)
#env.set('F77', self.spec['mpi'].mpif77)
#env.prepend_path('LD_LIBRARY_PATH', str(self.spec['blas'].libs.directories[0]))
#env.prepend_path('C_INCLUDE_PATH', str(self.spec['blas'].headers.directories[0]))
#env.append_flags('LD_FLAGS',self.spec['blas'].libs.ld_flags)

@run_after('install')
def copy_fesom(self):
#print("***** Calling super install ****")
#pmrint("***** Calling super install ****")
#super().install(spec, prefix)
print("***** Coping fesom binary to bin ****")
mkdirp(self.prefix.bin)
install(self.stage.source_path+'/bin/fesom.x', self.prefix.bin)
def patch(self):
microarch = self.spec.target
comp = self.spec.compiler
filter_file("-march=native", microarch.optimization_flags(comp.name, str(comp.version)),
"Makefile.in_gnu_impi")
filter_file("-march=native", microarch.optimization_flags(comp.name, str(comp.version)),
"src/CMakeLists.txt")

def cmake_args(self):
spec = self.spec
# FIXME: Add arguments other than
# FIXME: CMAKE_INSTALL_PREFIX and CMAKE_BUILD_TYPE
# FIXME: If not needed delete this function
Expand All @@ -66,4 +78,37 @@ def cmake_args(self):
args.append('-DUSE_HECUBA=ON')
else:
args.append('-DUSE_HECUBA=OFF')
args.append(self.define('CMAKE_C_COMPILER', spec['mpi'].mpicc))
args.append(self.define('CMAKE_CXX_COMPILER', spec['mpi'].mpicxx))
args.append(self.define('CMAKE_Fortran_COMPILER', spec['mpi'].mpifc))
if ('^intel-mkl' in spec or '^intel-parallel-studio+mkl' in spec):
args.extend([self.define("BLA_VENDOR", "Intel10_64ilp")])
elif '^netlib-lapack' in spec:
args.extend([self.define("BLA_VENDOR", "Generic")])
elif '^openblas' in spec:
args.extend([self.define("BLA_VENDOR", "OpenBLAS")])
microarch = self.spec.target
comp = self.spec.compiler
math_libs = self.spec['blas'].libs
args.extend([self.define("CMAKE_C_FLAGS",microarch.optimization_flags(comp.name, str(comp.version)) +" "+self.spec['blas'].headers.include_flags)])
args.extend([self.define("CMAKE_CXX_FLAGS",microarch.optimization_flags(comp.name, str(comp.version))+ " "+self.spec['blas'].headers.include_flags)])
args.extend([self.define("CMAKE_Fortran_FLAGS",microarch.optimization_flags(comp.name, str(comp.version))+" "+self.spec['blas'].headers.include_flags)])
#args.append('-DBLA_VENDOR=Intel10_64ilp')
#args.append('-DBLA_STATIC=ON')
#args.append('-DBLA_VENDOR=OpenBLAS')
"""
blas = self.spec['blas'].libs
args.extend([
'-DBLAS_LIBRARY_NAMES={0}'.format(';'.join(blas.names)),
'-DBLAS_LIBRARY_DIRS={0}'.format(';'.join(blas.directories))])
math_libs = self.spec['blas'].libs
args.append(
'-DMATH_LIBS:STRING={0}'.format(math_libs.ld_flags)
)
"""

args.append(
'-DBLAS_LIBRARIES={0}'.format("-L"+self.spec['blas'].libs.directories[0]+" -Wl,--no-as-needed -lmkl_gf_ilp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl")
)
return args

14 changes: 14 additions & 0 deletions packages/kratos/fom.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"execution" : {
"type":"task"
},
"constraints" : {
"computing_units": "$KRATOS_CUS"
},
"parameters" : {
"returns" : 1,
"model" : "IN",
"parameters" : "IN",
"sample" : "IN"
}
}
13 changes: 13 additions & 0 deletions packages/kratos/model.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"execution" : {
"type":"task"
},
"constraints" : {
"computing_units": "$KRATOS_CUS"
},
"parameters" : {
"returns" : 2,
"model_file" : "FILE_IN",
"parameters" : "IN"
}
}
18 changes: 13 additions & 5 deletions packages/kratos/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,17 @@ class Kratos(CMakePackage):

# FIXME: Add dependencies if required.
depends_on('boost')
depends_on('python@3:')

depends_on('[email protected]:')
depends_on('blas')

#variant
variant('mpi', default=False, description='Builds a MPI version of the library')
depends_on('mpi', when='+mpi')
variant('mmg', default=False, description='Builds a MMG version of the library')
depends_on('mmg', when='+mmg')
variant('apps', default='none', multi=True, description='Builds apps version of the library')
variant('eigen_mkl', default=False, description='Builds a Eigen_mkl version of the library')
depends_on('intel-mkl', when='+eigen_mkl')

def url_for_version(self, version):
url = "https://github.com/KratosMultiphysics/Kratos/archive/refs/tags/v{0}.tar.gz"
Expand All @@ -61,20 +64,25 @@ def setup_build_environment(self, env):
for app in apps:
kratos_apps = kratos_apps + os.path.join(applications_path, app) + ";"
env.set('KRATOS_APPLICATIONS', kratos_apps)
print("PYTHON_EXECUTABLE:" + str(self.spec['python'].prefix.bin + "/python3"))
env.set('PYTHON_EXECUTABLE',self.spec['python'].prefix.bin + "/python3")

def setup_run_environment(self, env):
env.prepend_path('LD_LIBRARY_PATH', self.prefix.lib)
env.prepend_path('PYTHONPATH', self.prefix)


def cmake_args(self):
# Add arguments other than
# CMAKE_INSTALL_PREFIX and CMAKE_BUILD_TYPE
args = []
if self.spec.variants['mpi'].value == True:
args.append('USE_MPI=ON')
args.append('-DUSE_MPI=ON')
else:
args.append('USE_MPI=OFF')
args.append('-DUSE_MPI=OFF')
if self.spec.variants['mmg'].value == True:
args.append('USE_MMG=ON')
args.append('-DUSE_MMG=ON')
if self.spec.variants['eigen_mkl'].value == True:
args.append('-DUSE_EIGEN_MKL=ON')
return args

15 changes: 15 additions & 0 deletions packages/kratos/rom.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"execution" : {
"type":"task"
},
"constraints" : {
"computing_units": "$KRATOS_CUS"
},
"parameters" : {
"returns" : 1,
"model" : "IN",
"parameters" : "IN",
"sample": "IN",
"rom" : "FILE_IN"
}
}
7 changes: 7 additions & 0 deletions packages/py-dislib/dislib.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@

{
"execution": {
"type":"workflow"
}
}

4 changes: 2 additions & 2 deletions packages/py-dislib/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ class PyDislib(PythonPackage):
# FIXME: Add dependencies if required. Only add the python dependency
# if you need specific versions. A generic python dependency is
# added implicity by the PythonPackage class.
depends_on('python@3:', type=('build', 'run'))
depends_on('python@3.6', type=('build', 'run'))
#depends_on('py-setuptools', type='build')
depends_on('[email protected]^[email protected]^[email protected]', type=('run'))
depends_on('[email protected].2^[email protected]^[email protected].5', type=('run'))
#depends_on('py-scikit-learn', type=('run'))
#depends_on('py-cvxpy', type=('run'))

Expand Down

0 comments on commit c2d139f

Please sign in to comment.