Skip to content

Commit

Permalink
merged over anaconda work from other repository. Testing with actions…
Browse files Browse the repository at this point in the history
… soon
  • Loading branch information
djdunning committed Dec 5, 2024
1 parent 77e1aa4 commit 99cc107
Show file tree
Hide file tree
Showing 81 changed files with 2,041 additions and 87 deletions.
2 changes: 1 addition & 1 deletion .conda/elements/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \
$SRC_DIR \
-D CMAKE_CXX_FLAGS="$PATCHED_CXXFLAGS" \

make -j 10 install
make install
14 changes: 7 additions & 7 deletions .conda/elements/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{% set macos_compiler_version = "16" %}

package:
name: elements
name: elements-cpu
version: {{ version }}

source:
Expand All @@ -23,17 +23,17 @@ requirements:
- {{ compiler('cxx') }}={{ macos_compiler_version }} # [osx]

about:
home: https://github.com/lanl/Fierro
home: https://github.com/lanl/ELEMENTS
license: BSD-3-Clause
license_family: BSD
license_file: LICENSE
summary:
LANL's software for simulating quasi-static solid mechanics.
LANL's for lagrangian mesh libraries.
description:
Fierro (LANL code number C21030) is a modern C++ code designed to simulate quasi-static
solid mechanics problems and transient, compressible material dynamic problems with Lagrangian methods,
which have meshes with constant mass elements that move with the material,
or with Eulerian methods, which have stationary meshes.
The C++ ELEMENTS library is a collection of sub-libraries to support implementing a diverse range
of numerical methods on low and high-order meshes. The ELEMENTS library can be used for research
and development of both continuous and discontinuous finite element methods, as well as,
finite volume methods to solve a diverse range of partial differential equations.
dev_url: https://github.com/lanl/Fierro

extra:
Expand Down
19 changes: 4 additions & 15 deletions .conda/evpfft-dev/cpu/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{% set macos_compiler_version = "16" %}

package:
name: evpfft-dev
name: dev-evpfft-cpu
version: {{ version }}

build:
Expand All @@ -14,9 +14,9 @@ build:
- PLATFORM={{ target_platform }}

requirements:
host:
# - {{ compiler('c') }}={{ linux_compiler_version }} # [linux]
# - {{ compiler('c') }}={{ macos_compiler_version }} # [osx]
run:
- {{ compiler('c') }}={{ linux_compiler_version }} # [linux]
- {{ compiler('c') }}={{ macos_compiler_version }} # [osx]
- {{ compiler('cxx') }}={{ linux_compiler_version }} # [linux]
- {{ compiler('cxx') }}={{ macos_compiler_version }} # [osx]
- openmpi
Expand All @@ -25,17 +25,6 @@ requirements:
- kokkos=4.1
- hdf5=*=mpi_openmpi_*
- elements
run:
# - {{ compiler('c') }}={{ linux_compiler_version }} # [linux]
# - {{ compiler('c') }}={{ macos_compiler_version }} # [osx]
# - {{ compiler('cxx') }}={{ linux_compiler_version }} # [linux]
# - {{ compiler('cxx') }}={{ macos_compiler_version }} # [osx]
- openmpi
- fierro-heffte
- fftw=*=mpi_openmpi_*
- kokkos=4.1
- hdf5=*=mpi_openmpi_*
- elements

about:
home: https://github.com/lanl/Fierro
Expand Down
3 changes: 2 additions & 1 deletion .conda/evpfft/cpu/build.sh
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# Patch the cxx variables for cross-compilation
source "$RECIPE_DIR/../../cross-compile-setup.sh"

#-D VECTOR_ARCH_FLAGS="$VECTOR_ARCH_FLAGS" \

cd src/EVPFFT
mkdir build
cd build
cmake ../src/ \
-D CMAKE_INSTALL_PREFIX:PATH=$PREFIX \
-D VECTOR_ARCH_FLAGS="$VECTOR_ARCH_FLAGS" \
-D USE_FFTW=1 \
$CMAKE_ARGS \
-D CMAKE_CXX_FLAGS="$PATCHED_CXXFLAGS" \
Expand Down
2 changes: 1 addition & 1 deletion .conda/evpfft/cpu/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{% set macos_compiler_version = "16" %}

package:
name: evpfft
name: fierro-evpfft-cpu
version: {{ version }}

source:
Expand Down
8 changes: 8 additions & 0 deletions .conda/evpfft/cuda/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
c_compiler:
- gcc
cxx_compiler:
- gxx
target_platform:
- linux-64
#- linux-aarch64
#- linux-ppc64le
17 changes: 11 additions & 6 deletions .conda/evpfft/cuda/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{% set macos_compiler_version = "16" %}

package:
name: evpfft-cuda
name: fierro-evpfft-cuda
version: {{ version }}

source:
Expand All @@ -12,29 +12,34 @@ source:

build:
number: 1
noarch: False
script_env:
- PLATFORM={{ target_platform }}
skip: True # [osx]
skip: False # [linux]

requirements:
build:
- cmake >=3.17.0
- {{ compiler('c') }}={{ linux_compiler_version }} # [linux]
- {{ compiler('c') }}={{ macos_compiler_version }} # [osx]
- {{ compiler('cxx') }}={{ linux_compiler_version }} # [linux]
- {{ compiler('cxx') }}={{ macos_compiler_version }} # [osx]
- cuda-compiler
- cuda-toolkit
- kokkos=4.1
- openmpi
host:
- cuda-toolkit
- openmpi
- fierro-heffte-cuda
- hdf5=*=mpi_openmpi_*
- kokkos=4.1
- elements
- matar-cuda
run:
- openmpi
- fierro-heffte-cuda
- kokkos=4.1
- hdf5=*=mpi_openmpi_*
- elements
- kokkos=4.1
- matar-cuda

about:
home: https://github.com/lanl/Fierro
Expand Down
2 changes: 1 addition & 1 deletion .conda/fierro-dev/cpu/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{% set macos_compiler_version = "16" %}

package:
name: fierro-dev
name: dev-fe-cpu
version: {{ version }}

build:
Expand Down
12 changes: 10 additions & 2 deletions .conda/fierro-gui/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
package:
name: fierro_gui
name: fierro-gui
version: 1

source:
Expand Down Expand Up @@ -30,7 +30,15 @@ requirements:
test:
imports:
- fierro_gui


about:
home: https://github.com/lanl/Fierro
license: BSD-3-Clause
license_family: BSD
summary:
GUI for the Fierro application, including all dependencies
dev_url: https://github.com/lanl/Fierro

extra:
recipe-maintainers:
- fierromechanics
2 changes: 1 addition & 1 deletion .conda/fierro/cpu/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ cmake .. \
-D MPI_CXX_COMPILER="$BUILD_PREFIX/bin/mpicxx" \
-D VECTOR_ARCH_FLAGS="$VECTOR_ARCH_FLAGS" \

make -j 10 install
make install
3 changes: 2 additions & 1 deletion .conda/fierro/cpu/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@
#{% set mpi_version = "4.1" %}

package:
name: fierro-cpu
name: fierro-fe-cpu
version: {{ version }}

source:
git_url: https://github.com/lanl/Fierro.git
git_depth: 1
git_submodules: false # don't need submodules

build:
number: 2
Expand Down
4 changes: 2 additions & 2 deletions .conda/heffte/cpu/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \
-D MPI_C_COMPILER="$BUILD_PREFIX/bin/mpicc" \
-D MPI_CXX_COMPILER="$BUILD_PREFIX/bin/mpicxx" \

make -j 10 install
make install

source "$RECIPE_DIR/../make-relocatable.sh"
source "$RECIPE_DIR/../make-relocatable.sh"
4 changes: 2 additions & 2 deletions .conda/heffte/cpu/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{% set macos_compiler_version = "16" %}

package:
name: fierro-heffte
name: heffte-cpu
version: {{ version }}

source:
Expand Down Expand Up @@ -35,7 +35,7 @@ about:
license_family: BSD
license_file: LICENSE
summary:
LANL Fierro's dependency for EVPFFT solutions
LANL Fierro's dependency for EVPFFT solver
description:
Fierro (LANL code number C21030) is a modern C++ code designed to simulate quasi-static
solid mechanics problems and transient, compressible material dynamic problems with Lagrangian methods,
Expand Down
20 changes: 10 additions & 10 deletions .conda/heffte/cuda/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,35 +7,35 @@ export MPI_FLAGS="--allow-run-as-root"

if [ $(uname) == Linux ]; then
export MPI_FLAGS="$MPI_FLAGS;-mca;plm;isolated"
# export CUDACXX=$(which nvcc)
export CUDACXX=$(which nvcc)
fi

source "$RECIPE_DIR/../../cross-compile-setup.sh"

export OMPI_CXX=nvcc
export OMPI_CXX=$(which nvcc)
# Only do this for cross compiling
#if [ "$PLATFORM" != "linux-64" ] ; then
# export NVCC_PREPEND_FLAGS="-ccbin $CXX";
#fi
if [ "$PLATFORM" != "linux-64" ] ; then
export NVCC_PREPEND_FLAGS="-ccbin $CXX";
fi
# These things need to be set for certain cmake versions.
# The cmake CUDA compiler tests need to see the host env libs
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH $PREFIX/lib"
export LIBRARIES="$LIBRARIES \"-L$PREFIX/lib\""

#-D CMAKE_CUDA_COMPILER=${CUDACXX} \
cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \
-D BUILD_SHARED_LIBS=ON \
-D CMAKE_INSTALL_PREFIX:PATH=$PREFIX \
-D CMAKE_CXX_STANDARD:STRING=17 \
-D Heffte_ENABLE_CUDA=ON \
-D Heffte_DISABLE_GPU_AWARE_MPI=ON \
-D CMAKE_CUDA_COMPILER=${CUDACXX} \
-D CMAKE_CUDA_HOST_LINK_LAUNCHER=$CXX \
$CMAKE_ARGS \
$SRC_DIR \
-D CMAKE_CXX_FLAGS="$PATCHED_CXXFLAGS" \
# -D MPI_C_COMPILER="$BUILD_PREFIX/bin/mpicc" \
# -D MPI_CXX_COMPILER="$BUILD_PREFIX/bin/mpicxx" \
# -D CMAKE_CUDA_HOST_LINK_LAUNCHER=$CXX \
-D MPI_C_COMPILER="$BUILD_PREFIX/bin/mpicc" \
-D MPI_CXX_COMPILER="$BUILD_PREFIX/bin/mpicxx" \

make -j 10 install
make install

source "$RECIPE_DIR/../make-relocatable.sh"
8 changes: 8 additions & 0 deletions .conda/heffte/cuda/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
c_compiler:
- gcc
cxx_compiler:
- gxx
target_platform:
- linux-64
#- linux-aarch64
#- linux-ppc64le
68 changes: 68 additions & 0 deletions .conda/heffte/cuda/legacymeta.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
{% set version = "1.0.0" %}
{% set linux_compiler_version = "12.4.0" %}
{% set macos_compiler_version = "16" %}
{% set cuda_version = "12.4" %}

package:
name: heffte-cuda
version: {{ version }}

source:
git_url: https://github.com/icl-utk-edu/heffte.git
git_depth: 1

build:
number: 1
noarch: False
script_env:
- PLATFORM={{ target_platform }}
skip: True # [osx]
skip: False # [linux]

requirements:
build:
- cmake=3.24
- {{ compiler('c') }}={{ linux_compiler_version }} # [linux]
- {{ compiler('c') }}={{ macos_compiler_version }} # [osx]
- {{ compiler('cxx') }}={{ linux_compiler_version }} # [linux]
- {{ compiler('cxx') }}={{ macos_compiler_version }} # [osx]
- {{ compiler('fortran') }}={{ linux_compiler_version }}
- openmpi
- cuda-compiler
- cuda-toolkit={{ cuda_version }}
#- cuda-toolkit
# These host CUDA dependencies are definitely overspecified.
# Not sure which ones are totally necessary.
host:
- cuda-cudart-static={{ cuda_version }} # Make sure your nvcc version and cudart versions are the same
- cuda-compiler
#- cuda-cudart-static
- cuda-toolkit
- libcusolver-dev
- libcufft-dev
- libcublas-dev
- libcusparse-dev
- openmpi
run:
- cuda-cudart
- libcufft
- libcublas
- openmpi

about:
home: https://github.com/lanl/Fierro
license: BSD-3-Clause
license_family: BSD
license_file: LICENSE
summary:
LANL Fierro's dependency for EVPFFT solver
description:
Fierro (LANL code number C21030) is a modern C++ code designed to simulate quasi-static
solid mechanics problems and transient, compressible material dynamic problems with Lagrangian methods,
which have meshes with constant mass elements that move with the material,
or with Eulerian methods, which have stationary meshes.
dev_url: https://github.com/lanl/Fierro

extra:
recipe-maintainers:
- fierromechanics
Loading

0 comments on commit 99cc107

Please sign in to comment.