Skip to content

Commit

Permalink
Merge branch 'next' into PR_same_app
Browse files Browse the repository at this point in the history
  • Loading branch information
GiudGiud committed Mar 28, 2022
2 parents abf344c + c90b1f0 commit 04da9bf
Show file tree
Hide file tree
Showing 293 changed files with 2,177 additions and 1,199 deletions.
1 change: 0 additions & 1 deletion CODEOWNERS
Validating CODEOWNERS rules …
@@ -1,6 +1,5 @@
/conda @loganharbour @milljm @cticenhour
/docker_ci @loganharbour
/hooks @loganharbour
/m4 @lindsayad

/COPYING @permcody
Expand Down
5 changes: 2 additions & 3 deletions conda/libmesh-vtk/build.sh
Expand Up @@ -30,15 +30,14 @@ cmake .. -G "Ninja" \
-DVTK_GROUP_ENABLE_Web:STRING=NO \
-DCMAKE_OSX_SYSROOT=${CONDA_BUILD_SYSROOT}

CORES=$(echo "${CPU_COUNT:-2} / 2" | bc)
ninja install -v -j $CORES
ninja install -v -j ${MOOSE_JOBS:-2}

# VTK 9.1 now places libs in lib64 when installed on linux, linking to the "expected" location of lib
if [[ $(uname) == Linux ]]; then
ln -s ${VTK_PREFIX}/lib64 ${VTK_PREFIX}/lib
fi

# Set LIBMESH_DIR environment variable for those that need it
# Set VTK environment variables for those that need it
mkdir -p "${PREFIX}/etc/conda/activate.d" "${PREFIX}/etc/conda/deactivate.d"
cat <<EOF > "${PREFIX}/etc/conda/activate.d/activate_${PKG_NAME}.sh"
export VTKLIB_DIR=${VTK_PREFIX}/lib
Expand Down
4 changes: 3 additions & 1 deletion conda/libmesh-vtk/meta.yaml
@@ -1,5 +1,5 @@
# Do not use jinja templating (A physical change to this file is required to trigger a build)
{% set build = 4 %}
{% set build = 5 %}
{% set strbuild = "build_" + build|string %}
{% set vtk_version = "9.1.0" %}
{% set friendly_version = "9.1" %}
Expand All @@ -17,6 +17,8 @@ build:
number: {{ build }}
string: {{ strbuild }}
skip: true # [win]
script_env:
- MOOSE_JOBS

requirements:
build:
Expand Down
2 changes: 1 addition & 1 deletion conda/libmesh/build.sh
Expand Up @@ -79,7 +79,7 @@ LIBMESH_DIR=${PREFIX}/libmesh \
--with-vtk-include=${BUILD_PREFIX}/libmesh-vtk/include/vtk-${SHORT_VTK_NAME} \
$*

CORES=$(echo "${CPU_COUNT:-2} / 2" | bc)
CORES=${MOOSE_JOBS:-2}
make -j $CORES
make install
sed_replace
Expand Down
5 changes: 3 additions & 2 deletions conda/libmesh/meta.yaml
@@ -1,7 +1,7 @@
# Do not use jinja templating (A physical change to this file is required to trigger a build)
{% set build = 0 %}
{% set strbuild = "build_" + build|string %}
{% set version = "2022.03.02" %}
{% set version = "2022.03.18" %}

package:
name: moose-libmesh
Expand All @@ -15,6 +15,8 @@ build:
number: {{ build }}
string: {{ strbuild }}
skip: true # [win]
script_env:
- MOOSE_JOBS

requirements:
build:
Expand All @@ -24,7 +26,6 @@ requirements:
- make # [arm64]
- m4 # [arm64]
- pkg-config
- {{ moose_ld64 }} # [osx]
- {{ moose_libmesh_vtk }}
- {{ moose_petsc }}

Expand Down
101 changes: 8 additions & 93 deletions conda/mpich/build.sh
@@ -1,99 +1,14 @@
#!/bin/bash
set -eu
export PATH=/bin:$PATH

export FCFLAGS="$FFLAGS"
export CC=$(basename "$CC")
export CXX=$(basename "$CXX")
export FC=$(basename "$FC")

if [[ $HOST == arm64-apple-darwin20.0.0 ]]; then
# use Conda-Forge's Arm64 config.guess and config.sub, see
# https://conda-forge.org/blog/posts/2020-10-29-macos-arm64/
list_config_to_patch=$(find ./ -name config.guess | sed -E 's/config.guess//')
for config_folder in $list_config_to_patch; do
echo "copying config to $config_folder ...\n"
cp -v $BUILD_PREFIX/share/gnuconfig/config.* $config_folder
done
./autogen.sh
fi

# In order to set a CXXFLAGS during moose-mpich activation with the proper C++
# standard (as clang and gcc from conda-forge still default to C++14), we extract
# what moose_cxx gives us here, before we unset it. The "-fdebug-prefix-map"
# flags are also removed, as they are specific to the conda build process.
TEMP_CXXFLAGS=${CXXFLAGS%%-fdebug-prefix-map*}
# Finally, swap "-std=c++14" with "-std=c++17" to set our basic standard requirement.
ACTIVATION_CXXFLAGS=${TEMP_CXXFLAGS/-std=c++14/-std=c++17}

unset LDFLAGS CPPFLAGS CFLAGS CXXFLAGS FFLAGS FCFLAGS F90 F77
export LDFLAGS="-L$PREFIX/lib -Wl,-rpath,$PREFIX/lib"
export LIBRARY_PATH="$PREFIX/lib"

if [[ $(uname) == Darwin ]]; then
if [[ $target_platform == osx-arm64 ]]; then
CTUNING="-mcpu=apple-a12 -I$PREFIX/include"
FTUNING="-march=armv8.3-a -I$PREFIX/include"
OPTIONS="--disable-opencl --enable-cxx --enable-fortran"
export pac_cv_f77_accepts_F=yes
export pac_cv_f77_flibs_valid=unknown
export pac_cv_f77_sizeof_double_precision=8
export pac_cv_f77_sizeof_integer=4
export pac_cv_f77_sizeof_real=4
export pac_cv_fc_accepts_F90=yes
export pac_cv_fc_and_f77=yes
export pac_cv_fc_module_case=lower
export pac_cv_fc_module_ext=mod
export pac_cv_fc_module_incflag=-I
export pac_cv_fc_module_outflag=-J
export pac_cv_fort90_real8=yes
export pac_cv_fort_integer16=yes
export pac_cv_fort_integer1=yes
export pac_cv_fort_integer2=yes
export pac_cv_fort_integer4=yes
export pac_cv_fort_integer8=yes
export pac_cv_fort_real16=no
export pac_cv_fort_real4=yes
export pac_cv_fort_real8=yes
export pac_cv_prog_f77_and_c_stdio_libs=none
export pac_cv_prog_f77_exclaim_comments=yes
export pac_cv_prog_f77_has_incdir=-I
export pac_cv_prog_f77_library_dir_flag=-L
export pac_cv_prog_f77_mismatched_args=yes
export pac_cv_prog_f77_mismatched_args_parm=
export pac_cv_prog_f77_name_mangle='lower uscore'
export pac_cv_prog_fc_and_c_stdio_libs=none
export pac_cv_prog_fc_int_kind_16=8
export pac_cv_prog_fc_int_kind_8=4
export pac_cv_prog_fc_works=yes
export pac_MOD='mod'
else
CTUNING="-march=core2 -mtune=haswell -I$PREFIX/include"
FTUNING="-march=core2 -mtune=haswell -I$PREFIX/include"
OPTIONS=""
fi
SHARED="clang"
else
SHARED="gcc"
CTUNING="-march=nocona -mtune=haswell -I$PREFIX/include"
FTUNING="-march=nocona -mtune=haswell -I$PREFIX/include"
OPTIONS=""
fi

./configure --prefix="${PREFIX}" \
--enable-shared \
--enable-sharedlibs="${SHARED}" \
--enable-fast=O2 \
--enable-debuginfo \
--enable-two-level-namespace \
--with-device=ch3 \
CC="${CC}" CXX="${CXX}" FC="${FC}" F77="${FC}" F90="" \
CFLAGS="${CTUNING}" CXXFLAGS="${CTUNING}" FFLAGS="${FTUNING}" LDFLAGS="${LDFLAGS}" \
FCFLAGS="${FTUNING}" F90FLAGS="" F77FLAGS="" \
${OPTIONS}
CORES=$(echo "${CPU_COUNT:-2} / 2" | bc)
make -j $CORES
make install
# In order to set CXXFLAGS during moose-mpich activation with the proper C++
# standard, we first extract what mpich-mpicxx gives us during build. Just in case
# the clang or gcc conda-forge packages set a standard, remove any occurence of
# "-std=c++XX"
TEMP_CXXFLAGS=${CXXFLAGS//-std=c++[0-9][0-9]}
# The "-fdebug-prefix-map" flags then need to be removed, as they are specific
# to the conda build process. Finally, `-std=c++17` can be appended to the end.
ACTIVATION_CXXFLAGS=${TEMP_CXXFLAGS%%-fdebug-prefix-map*}-std=c++17

# Set MPICH environment variables for those that need it, and set CXXFLAGS using our ACTIVATION_CXXFLAGS variable
mkdir -p "${PREFIX}/etc/conda/activate.d" "${PREFIX}/etc/conda/deactivate.d"
Expand Down
76 changes: 23 additions & 53 deletions conda/mpich/conda_build_config.yaml
Expand Up @@ -2,7 +2,7 @@
## Any changes made will require additional changes to any item above that.

moose_libmesh:
- moose-libmesh 2022.03.02 build_0
- moose-libmesh 2022.03.18 build_0

SHORT_VTK_NAME:
- 9.1
Expand All @@ -11,13 +11,13 @@ vtk_version:
- 9.1.0

moose_libmesh_vtk:
- moose-libmesh-vtk 9.1.0 build_4
- moose-libmesh-vtk 9.1.0 build_5

moose_petsc:
- moose-petsc 3.15.1 build_7
- moose-petsc 3.16.5 build_0

moose_mpich:
- moose-mpich 3.4.2 build_3
- moose-mpich 4.0.1 build_0

#### MOOSE_TOOLS stuff (order is important, must match python version order)
moose_python:
Expand Down Expand Up @@ -194,55 +194,25 @@ zip_keys:
- moose_sympy

#### Compilers
moose_cc: # [unix]
- gcc_linux-64 9.3.0 h7247604_29 # [linux]
- clang_osx-64 12.0.1 h633439f_6 # [not arm64 and osx]
- clang_osx-arm64 12.0.1 h54d7cd3_0 # [arm64]

moose_cxx: # [unix]
- gxx_linux-64 9.3.0 h0d07fa4_29 # [linux]
- clangxx_osx-64 12.0.1 hdb584c0_6 # [not arm64 and osx]
- clangxx_osx-arm64 12.0.1 hb84c830_0 # [arm64]

moose_fortran: # [unix]
- gfortran_linux-64 9.3.0 ha1c937c_29 # [linux]
- gfortran_osx-64 9.3.0 h18f7dce_15 # [not arm64 and osx]
- gfortran_osx-arm64 11.0.1.dev0 h57527a5_14 # [arm64]

moose_impl: # [linux]
- gcc_impl_linux-64 9.3.0 h70c0ae5_19 # [linux]

moose_impl_xx: # [linux]
- gxx_impl_linux-64 9.3.0 hd87eabc_19 # [linux]

moose_libgcc: # [linux]
- libgcc-devel_linux-64 9.3.0 h7864c58_19 # [linux]

moose_libstd: # [linux]
- libstdcxx-devel_linux-64 9.3.0 hb016644_19 # [linux]

moose_sysroot: # [linux]
- sysroot_linux-64 2.17 h4a8ded7_13 # [linux]

moose_libcxx: # [osx]
- libcxx 12.0.1 habf9029_1 # [not arm64 and osx]
- libcxx 12.0.1 h168391b_0 # [arm64]

moose_libclang: # [osx]
- libclang 13.0.0 default_he082bbe_0 # [not arm64 and osx]
- libclang 12.0.1 default_h2cfa9b4_4 # [arm64]

moose_openmp: # [osx]
- llvm-openmp 12.0.1 hda6cdc1_1 # [not arm64 and osx]
- llvm-openmp 12.0.1 hf3c4609_1 # [arm64]

moose_llvm_tools: # [osx]
- llvm-tools 12.0.1 hd011deb_2 # [not arm64 and osx]
- llvm-tools 12.0.1 h93073aa_2 # [arm64]

moose_ld64: # [osx]
- ld64 609 hd2e7500_4 # [not arm64 and osx]
- ld64_osx-arm64 530 ha291f0b_23 # [arm64]
base_mpich:
- mpich 4.0.1 h846660c_100 # [linux]
- mpich 4.0.1 hd33e60e_100 # [not arm64 and osx]
- mpich 4.0.1 hd4b5bf3_100 # [arm64]

base_mpicc:
- mpich-mpicc 4.0.1 hb600da9_100 # [linux]
- mpich-mpicc 4.0.1 h4fd26ce_100 # [not arm64 and osx]
- mpich-mpicc 4.0.1 haad7f49_100 # [arm64]

base_mpicxx:
- mpich-mpicxx 4.0.1 h166bdaf_100 # [linux]
- mpich-mpicxx 4.0.1 h5eb16cf_100 # [not arm64 and osx]
- mpich-mpicxx 4.0.1 h1c322ee_100 # [arm64]

base_mpifort:
- mpich-mpifort 4.0.1 h924138e_100 # [linux]
- mpich-mpifort 4.0.1 hbb4e6a2_100 # [not arm64 and osx]
- mpich-mpifort 4.0.1 h3e96240_100 # [arm64]

#### Support Libraries (libMesh and VTK)
moose_libglu: # [linux]
Expand Down
56 changes: 16 additions & 40 deletions conda/mpich/meta.yaml
@@ -1,15 +1,13 @@
{% set build = 3 %}
{% set build = 0 %}
{% set strbuild = "build_" + build|string %}
{% set version = "3.4.2" %}
{% set version = "4.0.1" %}

package:
name: moose-mpich
version: {{ version }}

source:
fn: mpich-{{ version }}.tar.gz
url: https://www.mpich.org/static/downloads/{{ version }}/mpich-{{ version }}.tar.gz
sha256: 5c19bea8b84e8d74cca5f047e82b147ff3fba096144270e3911ad623d6c587bf
- path: .

build:
number: {{ build }}
Expand All @@ -20,57 +18,35 @@ build:

requirements:
build:
- {{ moose_cc }}
- {{ moose_cxx }}
- {{ moose_fortran }}
- {{ moose_impl }} # [linux]
- {{ moose_impl_xx }} # [linux]
- {{ moose_libgcc }} # [linux]
- {{ moose_libstd }} # [linux]
- {{ moose_sysroot }} # [linux]
- {{ moose_libcxx }} # [osx]
- {{ moose_libclang }} # [osx]
- {{ moose_openmp }} # [osx]
- {{ moose_llvm_tools }} # [osx]
- {{ moose_ld64 }} # [osx]
- {{ base_mpich }}
- {{ base_mpicc }}
- {{ base_mpicxx }}
- {{ base_mpifort }}
- autoconf # [unix]
- automake # [unix]
- libtool # [unix]
- make # [unix]
- gnuconfig # [arm64]
host: []
run:
- {{ moose_cc }}
- {{ moose_cxx }}
- {{ moose_fortran }}
- {{ moose_impl }} # [linux]
- {{ moose_impl_xx }} # [linux]
- {{ moose_libgcc }} # [linux]
- {{ moose_libstd }} # [linux]
- {{ moose_sysroot }} # [linux]
- {{ moose_libcxx }} # [osx]
- {{ moose_libclang }} # [osx]
- {{ moose_openmp }} # [osx]
- {{ moose_llvm_tools }} # [osx]
- {{ moose_ld64 }} # [osx]
- {{ base_mpich }}
- {{ base_mpicc }}
- {{ base_mpicxx }}
- {{ base_mpifort }}
- autoconf # [osx]
- automake # [osx]
- libtool # [osx]
- make # [osx]
- {{ pin_compatible('setuptools', lower_bound='58', upper_bound='60') }}
- mpi 1.0 mpich
test:
script: run_test.sh
files:
- mpiexec.sh
- tests/helloworld.sh
commands:
- test -f $PREFIX/etc/conda/activate.d/activate_moose-mpich.sh

about:
home: http://www.mpich.org/
license: MPICH
license_file: COPYRIGHT
license_family: Other
summary: 'A high performance widely portable implementation of the MPI standard.'
home: https://mooseframework.org/
license: LGPL 2.1
summary: 'A top-level package designed to control environment variables related to conda-forge provided MPICH'
description: |
MPICH is a high performance and widely portable implementation of the
Message Passing Interface (MPI) standard.
Expand Down
4 changes: 0 additions & 4 deletions conda/mpich/mpiexec.sh

This file was deleted.

0 comments on commit 04da9bf

Please sign in to comment.