Skip to content
Snippets Groups Projects
Commit 22564b51 authored by Rémi Dehenne's avatar Rémi Dehenne
Browse files

Add MPC Framework recipe

parent 3ce94ae8
No related branches found
No related tags found
No related merge requests found
from easybuild.easyblocks.generic.binary import Binary
import os.path
class EB_MPCFramework(Binary):
"""Support for building/installing the MPC Framework."""
def make_module_extra(self):
"""Correctly prepend $PYTHONPATH and set environment variables for MPC Framework. Equivalent to mpcvars.sh."""
txt = super(EB_MPCFramework, self).make_module_extra()
txt += self.module_generator.set_environment(
"MPC_INSTALL_DIR_PREFIX", self.installdir)
txt += self.module_generator.set_environment(
"MPC_VERSION", self.version)
# Variables such as $PATH, $CPATH or $LD_LIBRARY_PATH are already set
# by default by EasyBuild.
txt += self.module_generator.prepend_paths(
"PYTHONPATH", ['lib/python/', 'lib64/python/'])
txt += self.module_generator.set_environment(
"MPCFRAMEWORK_DIR", self.installdir + 'share/mpcframework/cmake/')
return txt
name = 'MPCFramework'
version = '4.2.0'
homepage = 'https://mpc.hpcframework.com'
description = """An Implementation of MPI and OpenMP relying on user-level threads"""
toolchain = {'name': 'GCC', 'version': '11.3.0'}
source_urls = [
'https://github.com/cea-hpc/mpc/archive/refs/tags/'
]
sources = ['MPC_%(version)s.zip']
checksums = [
# MPC_4.2.0.zip
'd2610173cf0bf8f64985bc45602c133ca0beaff78c8bea7fe35fda771ceae5ca',
]
patches = ['nvdimm.patch']
builddependencies = [
('CMake', '3.23.1'),
('bzip2', '1.0.8', '', ('GCCcore', '11.3.0')),
('cURL', '7.83.0'),
('help2man', '1.49.2'),
('OpenSSL', '1.1', '', SYSTEM),
]
installopts = '--prefix=%(installdir)s -j%(parallel)s --enable-color --disable-spack --disable-spack-build --mpc-option="--without-portals" '
# To enable SLURM integration (site-specific)
installopts += '--with-pmix '
sanity_check_commands = [
"mpcrun --help",
"mpc_print_config"
]
moduleclass = 'devel'
# Options passed to the Binary EasyBlock (superclass of the MPCFramework EasyBlock)
extract_sources = True
install_cmd = 'mkdir BUILD && cd BUILD && ../installmpc'
[PATCH] LAUNCH: Fix mpcrun --help crash with NVDIMM
author: Remi Dehenne
mpcrun --help no longer crashes when mpc_print_config displays
`<Topology> NVDIMM Found ! (OS Device #xx)` messages.
Those messages are now printed on stderr with
mpc_common_debug_log, rather than with fprintf on stdout.
---
src/MPC_Topology/src/topology.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/MPC_Topology/src/topology.c b/src/MPC_Topology/src/topology.c
index e62cbcb01..9172c6de2 100644
--- a/src/MPC_Topology/src/topology.c
+++ b/src/MPC_Topology/src/topology.c
@@ -1376,7 +1376,7 @@ void _mpc_topology_nvdimm_detection(hwloc_topology_t topology)
{
if(strcmp(current->subtype, "NVDIMM") == 0)
{
- fprintf(stdout, "<Topology> %s Found ! (OS Device #%d)\n", current->subtype, current->logical_index);
+ mpc_common_debug_log("<Topology> %s Found ! (OS Device #%d)\n", current->subtype, current->logical_index);
++__mpc_module_avail_nvdimm;
}
}
--
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment