diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index 40931ab..c7a12fc 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -24,6 +24,24 @@ pbuild::pre_configure() { pbuild::add_configure_args "--enable-static" pbuild::add_configure_args "--with-hwloc=internal" pbuild::add_configure_args "--with-slurm=yes" + + if [[ -n "${HWLOC_VERSION}" ]]; then + unset HWLOC_VERSION + pbuild::add_configure_args "--with-hwloc=${HWLOC_PREFIX}" + fi + + if [[ -n "${PMIX_VERSION}" ]]; then + unset PMIX_VERSION + pbuild::add_configure_args "--with-pmix=${PMIX_PREFIX}" + fi + + if [[ -n "${INTEL_VERSION}" ]]; then + pbuild::add_configure_args "CC=icc" + pbuild::add_configure_args "CXX=icpc" + pbuild::add_configure_args "FC=ifort" + pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel" + fi + if [[ -n "${UCX_VERSION}" ]]; then pbuild::add_configure_args "--with-ucx=${UCX_PREFIX}" fi diff --git a/Compiler/openmpi/files/variants.merlin6 b/Compiler/openmpi/files/variants.merlin6 index 7e9bcb4..11ff07d 100644 --- a/Compiler/openmpi/files/variants.merlin6 +++ b/Compiler/openmpi/files/variants.merlin6 @@ -41,6 +41,7 @@ openmpi/4.1.3_slurm stable gcc/{9.3.0,10.3.0,11.2.0} cuda/11.5.1 b:ucx/1 openmpi/4.1.4_slurm stable gcc/10.4.0 cuda/11.5.1 b:ucx/1.12.1_slurm openmpi/4.1.5_slurm unstable gcc/10.4.0 cuda/12.1.1 b:ucx/1.14.1_slurm +openmpi/4.1.5_slurm unstable intel/22.2 cuda/12.1.1 b:ucx/1.14.1_slurm b:pmix/4.2.3 b:hwloc/2.9.1 openmpi/4.0.5-1_dgx deprecated gcc/{8.4.0,9.3.0,10.2.0} cuda/11.2.2 b:ucx/1.10.0-1_dgx openmpi/4.1.0-1_dgx deprecated gcc/10.2.0 cuda/11.2.2 b:ucx/1.10.0-1_dgx diff --git a/Libraries/hwloc/build b/Libraries/hwloc/build new file mode 100755 index 0000000..c65a014 --- /dev/null +++ b/Libraries/hwloc/build @@ -0,0 +1,13 @@ +#!/usr/bin/env modbuild + +pbuild::set_download_url "https://download.open-mpi.org/release/${P}/v${V_MAJOR}.${V_MINOR}/${P}-${V}.tar.gz" +pbuild::add_to_group 'Libraries' + +pbuild::install_docfiles 'README' 'AUTHORS' 'NEWS' 'COPYING' 'VERSION' + +pbuild::pre_configure() { + pbuild::add_configure_args "--enable-netloc" + pbuild::add_configure_args "--enable-plugins" +} + + diff --git a/Libraries/hwloc/files/variants b/Libraries/hwloc/files/variants new file mode 100644 index 0000000..4a6b27f --- /dev/null +++ b/Libraries/hwloc/files/variants @@ -0,0 +1 @@ +hwloc/2.7.1 unstable diff --git a/Libraries/hwloc/files/variants.merlin6 b/Libraries/hwloc/files/variants.merlin6 new file mode 100644 index 0000000..e754fa1 --- /dev/null +++ b/Libraries/hwloc/files/variants.merlin6 @@ -0,0 +1,2 @@ +hwloc/2.7.1 unstable b:cuda/11.5.1 +hwloc/2.9.1 unstable b:cuda/12.1.1 diff --git a/Libraries/hwloc/files/variants.overlay_merlin b/Libraries/hwloc/files/variants.overlay_merlin new file mode 100644 index 0000000..de1dd40 --- /dev/null +++ b/Libraries/hwloc/files/variants.overlay_merlin @@ -0,0 +1 @@ +hwloc/2.7.1 unstable b:cuda/11.5.1 diff --git a/Libraries/hwloc/modulefile b/Libraries/hwloc/modulefile new file mode 100644 index 0000000..4536734 --- /dev/null +++ b/Libraries/hwloc/modulefile @@ -0,0 +1,25 @@ +#%Module1.0 + +module-whatis "The Portable Hardware Locality (hwloc) software package" +module-url "https://www.open-mpi.org/projects/hwloc/" +module-license "Open source, see $PREFIX/share/doc/hwloc/COPYING" +module-maintainer "Marc Caubet Serrabou " + +module-help " +The Portable Hardware Locality (hwloc) software package provides a +portable abstraction (across OS, versions, architectures, ...) of the +hierarchical topology of modern architectures, including NUMA memory +nodes, sockets, shared caches, cores and simultaneous multithreading. + +It also gathers various system attributes such as cache and memory +information as well as the locality of I/O devices such as network +interfaces, InfiniBand HCAs or GPUs. + +Hwloc primarily aims at helping applications with gathering information +about increasingly complex parallel computing platforms so as to exploit +them accordingly and efficiently. + +Hwloc may also help many applications just by providing a portable CPU +and memory binding API and a reliable way to find out how many cores +and/or hardware threads are available. +" diff --git a/Libraries/pmix/build b/Libraries/pmix/build index c0dcf01..9e8fe96 100755 --- a/Libraries/pmix/build +++ b/Libraries/pmix/build @@ -7,7 +7,7 @@ pbuild::add_to_group 'Libraries' (( version = (${V_MAJOR} * 100 + ${V_MINOR}) * 100 + V_PATCHLVL )) if (( V_MAJOR > 1 )); then - pbuild::install_docfiles AUTHORS README LICENSE NEWS VERSION + pbuild::install_docfiles AUTHORS README.md LICENSE NEWS VERSION else pbuild::install_docfiles README LICENSE NEWS VERSION fi diff --git a/Libraries/pmix/files/variants.merlin6 b/Libraries/pmix/files/variants.merlin6 index 3f3509d..df60867 100644 --- a/Libraries/pmix/files/variants.merlin6 +++ b/Libraries/pmix/files/variants.merlin6 @@ -1,4 +1,5 @@ pmix/1.2.5 unstable b:libevent/2.1.12 pmix/2.2.5 unstable b:libevent/2.1.12 pmix/3.2.3 unstable b:libevent/2.1.12 -pmix/4.1.2 unstable hwloc/2.7.1 libevent/2.1.12 +pmix/4.1.2 unstable libevent/2.1.12 b:hwloc/2.7.1 +pmix/4.2.3 unstable libevent/2.1.12 b:hwloc/2.9.1