diff --git a/builder/install-libraries.sh b/builder/install-libraries.sh index 612a692..cc358c7 100755 --- a/builder/install-libraries.sh +++ b/builder/install-libraries.sh @@ -11,3 +11,18 @@ while read -r version; do /opt/compiler-explorer/julia-${version}/bin/julia -e 'using Pkg; Pkg.add(["Enzyme", "Reactant"])' done < /app/data/julia-versions.txt + +export hypre_version=2.31.0 + +mkdir /opt/compiler-explorer/libraries + +curl -L https://github.com/hypre-space/hypre/archive/refs/tags/v${hypre_version}.tar.gz > /opt/archives/hypre-v${hypre_version}.tar.gz +tar xzf hypre-v${hypre_version}.tar.gz && cd hypre-${hypre_version}/src && \ + ./configure --prefix /opt/compiler-explorer/libraries --enable-shared --disable-static && \ + make -j `nproc` && make install + +# MFEM repo checkout +git clone --depth=1 https://github.com/mfem/mfem.git mfem -b v4.9 +cp mfem.user.mk mfem/config/user.mk + +cd mfem && make config && make -j `nproc` install \ No newline at end of file diff --git a/data/libs.j2 b/data/libs.j2 index ce92f70..5328be9 100644 --- a/data/libs.j2 +++ b/data/libs.j2 @@ -1,7 +1,7 @@ ################################# ################################# # Installed libs (See c++.amazon.properties for a scheme of libs group) -libs=eigen:boost:nlohmann_json:petsc:mfem +libs=eigen:boost:nlohmann_json:petsc libs.boost.name=Boost libs.boost.versions=178 @@ -26,11 +26,3 @@ libs.petsc.versions=3194 libs.petsc.url=https://petsc.org libs.petsc.versions.3194.version=3.19.4 libs.petsc.versions.3194.path=/opt/compiler-explorer/libs/petsc-3.19.4/include - -libs.mfem.name=mfem -libs.mfem.url=https://mfem.org -libs.mfem.description=MFEM is a free, lightweight, scalable C++ library for finite element methods.

Note that the trunk version is no longer available, use v4.7 instead. -libs.mfem.packagedheaders=true -libs.mfem.versions=47 -libs.mfem.staticliblink=mfem -libs.mfem.versions.47.version=4.7 diff --git a/template_files/etc/config/c++.enzyme.properties.j2 b/template_files/etc/config/c++.enzyme.properties.j2 index ff9a2ff..55a33f2 100644 --- a/template_files/etc/config/c++.enzyme.properties.j2 +++ b/template_files/etc/config/c++.enzyme.properties.j2 @@ -47,7 +47,7 @@ group.clang-enzyme-main.options=-fno-discard-value-names {% for compiler in compilers %} compiler.clang{{ compiler.version }}-enzyme-main.exe=/usr/bin/clang++-{{ compiler.version }} -compiler.clang{{ compiler.version }}-enzyme-main.options=-fplugin=/opt/compiler-explorer/main/ClangEnzyme-{{ compiler.version }}.so +compiler.clang{{ compiler.version }}-enzyme-main.options=-fplugin=/opt/compiler-explorer/main/ClangEnzyme-{{ compiler.version }}.so -I/opt/compiler-explorer/libraries/include -L/opt/compiler-explorer/lib compiler.clang{{ compiler.version }}-enzyme-main.semver={{ compiler.semver }} compiler.clang{{ compiler.version }}-enzyme-main.name=clang {{ compiler.version }} ({{ compiler.enzyme_commit }}) {% endfor %} @@ -65,5 +65,5 @@ group.reclang-enzyme-main.groupName=REACTANT CLANG (main) group.reclang-enzyme-main.options=-fno-discard-value-names compiler.reclang.exe=/opt/compiler-explorer/main/reactant-clang -compiler.reclang.options=-resource-dir=/usr/lib/llvm-21/lib/clang/21 +compiler.reclang.options=-resource-dir=/usr/lib/llvm-21/lib/clang/21 -I/opt/compiler-explorer/libraries/include -L/opt/compiler-explorer/lib compiler.reclang.name=Reactant Clang ({{ reactant_commit }}) diff --git a/template_files/etc/config/c.enzyme.properties.j2 b/template_files/etc/config/c.enzyme.properties.j2 index 25601a5..03f7af4 100644 --- a/template_files/etc/config/c.enzyme.properties.j2 +++ b/template_files/etc/config/c.enzyme.properties.j2 @@ -24,7 +24,7 @@ libs=petsc {% for compiler in compilers %} compiler.cclang{{ compiler.version }}-enzyme-main.exe=/usr/bin/clang-{{ compiler.version }} -compiler.cclang{{ compiler.version }}-enzyme-main.options=-fplugin=/opt/compiler-explorer/main/ClangEnzyme-{{ compiler.version }}.so +compiler.cclang{{ compiler.version }}-enzyme-main.options=-fplugin=/opt/compiler-explorer/main/ClangEnzyme-{{ compiler.version }}.so -I/opt/compiler-explorer/libraries/include -L/opt/compiler-explorer/lib compiler.cclang{{ compiler.version }}-enzyme-main.semver={{ compiler.semver }} compiler.cclang{{ compiler.version }}-enzyme-main.name=clang {{ compiler.version }} ({{ compiler.enzyme_commit }}) {% endfor %} @@ -35,7 +35,7 @@ group.reclang-enzyme-main.compilerType=clang group.reclang-enzyme-main.supportsExecute=true group.reclang-enzyme-main.isSemVer=true group.reclang-enzyme-main.groupName=REACTANT CLANG (main) -group.reclang-enzyme-main.options=-fno-discard-value-names +group.reclang-enzyme-main.options=-fno-discard-value-names -I/opt/compiler-explorer/libraries/include -L/opt/compiler-explorer/lib compiler.reclang.exe=/opt/compiler-explorer/main/reactant-clang compiler.reclang.options=-resource-dir=/usr/lib/llvm-21/lib/clang/21 diff --git a/template_files/etc/config/cuda.enzyme.properties.j2 b/template_files/etc/config/cuda.enzyme.properties.j2 index 7ca08fc..a139842 100644 --- a/template_files/etc/config/cuda.enzyme.properties.j2 +++ b/template_files/etc/config/cuda.enzyme.properties.j2 @@ -17,7 +17,7 @@ libs=eigen:boost:nlohmann_json:petsc {% for compiler in compilers %} compiler.cuclang{{ compiler.version }}-enzyme-main.exe=/usr/bin/clang++-{{ compiler.version }} -compiler.cuclang{{ compiler.version }}-enzyme-main.options=-fplugin=/opt/compiler-explorer/main/ClangEnzyme-{{ compiler.version }}.so --cuda-path=/opt/compiler-explorer/cuda/12.9.1 --cuda-gpu-arch=sm_70 --cuda-device-only +compiler.cuclang{{ compiler.version }}-enzyme-main.options=-fplugin=/opt/compiler-explorer/main/ClangEnzyme-{{ compiler.version }}.so --cuda-path=/opt/compiler-explorer/cuda/12.9.1 --cuda-gpu-arch=sm_70 --cuda-device-only -I/opt/compiler-explorer/libraries/include -L/opt/compiler-explorer/lib compiler.cuclang{{ compiler.version }}-enzyme-main.semver={{ compiler.semver }} compiler.cuclang{{ compiler.version }}-enzyme-main.name=cuclang {{ compiler.version }} ({{ compiler.enzyme_commit }}) {% endfor %} @@ -31,5 +31,5 @@ group.reclang-enzyme-main.groupName=DEVICE REACTANT CLANG (main) group.reclang-enzyme-main.supportsExecute=false compiler.reclang.exe=/opt/compiler-explorer/main/reactant-clang -compiler.reclang.options=-resource-dir=/usr/lib/llvm-21/lib/clang/21 --cuda-path=/opt/compiler-explorer/cuda/12.9.1 --cuda-gpu-arch=sm_70 +compiler.reclang.options=-resource-dir=/usr/lib/llvm-21/lib/clang/21 --cuda-path=/opt/compiler-explorer/cuda/12.9.1 --cuda-gpu-arch=sm_70 -I/opt/compiler-explorer/libraries/include -L/opt/compiler-explorer/lib compiler.reclang.name=Reactant Clang ({{ reactant_commit }}) \ No newline at end of file