Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update to a blt 0.6.2 #1245

Merged
merged 34 commits into from
May 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
f0db9ca
upadte to a blt 0.6.0 based branch
cyrush Jan 19, 2024
9f31b14
gactions try adding unit test artifacts
cyrush Jan 20, 2024
0770397
update to blt v0.6.1
cyrush Feb 14, 2024
bf43b3d
ba: update conduit and camp to new releases
cyrush Feb 14, 2024
b2e06e8
update raja release
cyrush Feb 14, 2024
ccbe1a2
prep for the new new
cyrush Feb 23, 2024
f3749d9
build_ascent: update to use newer lib releases
cyrush Feb 23, 2024
ccb8f87
more pre for the new new
cyrush Feb 23, 2024
658a747
camp dl fix
cyrush Feb 23, 2024
f66265d
remove old raja patch
cyrush Feb 23, 2024
45e281c
exists clause
cyrush Feb 23, 2024
bc97baf
perseverance
cyrush Feb 24, 2024
44b2716
what fun
cyrush Feb 24, 2024
120315f
update spack pkgs for raja and friends
cyrush Feb 24, 2024
7cbda4f
blt target setup on import
cyrush Feb 27, 2024
8d68d7e
this guy?
cyrush Feb 27, 2024
95f1907
new raja,umpire,camp
cyrush Apr 18, 2024
b22e7dc
fight
cyrush Apr 18, 2024
4eb7e04
windows path fix for new umpire
cyrush Apr 18, 2024
09002d7
update to blt 0.6.2
cyrush Apr 18, 2024
5947e4b
url fix for new camp tarball (pattern changed)
cyrush Apr 19, 2024
8301c04
folder name
cyrush Apr 19, 2024
1b2db0b
updated tarball
cyrush Apr 19, 2024
ee18b88
spack updates
cyrush Apr 19, 2024
fe9da85
update rocm container
cyrush Apr 19, 2024
afc451c
things
cyrush Apr 22, 2024
3234b3b
update spack recipes
cyrush Apr 24, 2024
d5b6a9f
container updates
cyrush Apr 30, 2024
6727f4e
cuda container updates
cyrush May 1, 2024
cd1f2ad
fix call to 2d example mesh
cyrush May 1, 2024
67bd78d
cmake min ver changes
cyrush May 1, 2024
2a2ba8b
enable python for github windows tests
cyrush May 1, 2024
9a75c21
simplify
cyrush May 1, 2024
1b7fcf8
policy statement in config
cyrush May 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build_ascent_cuda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
CMAKE_VERSION: 3.23.3
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Install CMake
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_ascent_gcc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
libopenmpi-dev \
cmake
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Build TPLs
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_ascent_hip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
CMAKE_VERSION: 3.23.2
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Install CMake
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_ascent_icc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
sudo apt install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2023.1.0 \
intel-oneapi-compiler-fortran-2023.1.0
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Build TPLs
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_ascent_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
CXX: clang++
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Build TPLs
Expand Down
16 changes: 14 additions & 2 deletions .github/workflows/build_ascent_win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
uses: mpi4py/setup-mpi@v1
- name: Setup Python Env
run: python3 -m pip install --upgrade pip numpy mpi4py
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Build TPLs
Expand All @@ -40,4 +40,16 @@ jobs:
- name: Run Ascent Unit Tests
run: |
echo "**** Ascent Unit Tests"
cmake -E env CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --config Release --target RUN_TESTS
cmake -E env CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --config Release --target RUN_TESTS
# NOT READY FOR THIS ON WINDOWS YET
# - name: Create Unit Test Report
# if: always()
# run: |
# echo "**** Ascent Unit Tests Report Ggen"
# cmake --build build --target gen_report
# - name: Archive Test Results
# if: always()
# uses: actions/upload-artifact@v1
# with:
# name: test-results
# path: build/tests/_output/
14 changes: 7 additions & 7 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@
########################

variables:
ubuntu_20_04_tag: alpinedav/ascent-devel:ubuntu-20.04-x86_64-tpls_2023-12-06-sha497882
ubuntu_22_04_tag: alpinedav/ascent-devel:ubuntu-22.04-x86_64-tpls_2023-12-06-sha9574c7
ubuntu_20_04_cuda_11_4_3_tag: alpinedav/ascent-devel:ubuntu-20.04-cuda-12.1.1-x86_64-tpls_2023-12-09-sha5d53a0
ubuntu_20_04_cuda_12_1_1_tag: alpinedav/ascent-devel:ubuntu-20.04-cuda-11.4.3-x86_64-tpls_2023-12-09-sha5d53a0
ubuntu_20_04_rocm_5_1_3_tag: alpinedav/ascent-devel:ubuntu-20.04-rocm-5.1.3-x86_64-tpls_2023-12-09-sha5d53a0
ubuntu_20_04_tag: alpinedav/ascent-devel:ubuntu-20.04-x86_64-tpls_2024-04-29-sha3234b3
ubuntu_22_04_tag: alpinedav/ascent-devel:ubuntu-22.04-x86_64-tpls_2024-04-29-sha3234b3
ubuntu_20_04_cuda_11_4_3_tag: alpinedav/ascent-devel:ubuntu-20.04-cuda-11.4.3-x86_64-tpls_2024-04-30-shad5b6a9
ubuntu_20_04_cuda_12_1_1_tag: alpinedav/ascent-devel:ubuntu-20.04-cuda-12.1.1-x86_64-tpls_2024-04-30-shad5b6a9
ubuntu_20_04_rocm_6_0_0_tag: alpinedav/ascent-devel:ubuntu-20.04-rocm-6.0.0--x86_64-build-ascent-tpls_2024-04-19-shaee18b8


# only build merge target pr to develop
Expand Down Expand Up @@ -594,8 +594,8 @@ stages:
CMAKE_EXE: /cmake-3.23.2-linux-x86_64/bin/cmake
strategy:
matrix:
ubuntu_20.04_rocm_5.1.3_build_ascent:
containerImage: ${{ variables.ubuntu_20_04_rocm_5_1_3_tag }}
ubuntu_20.04_rocm_6.0.0_build_ascent:
containerImage: ${{ variables.ubuntu_20_04_rocm_6_0_0_tag }}
BUILD_SHARED_LIBS: ON
CMAKE_BUILD_TYPE: Release
BLT_CXX_STD: c++14
Expand Down
2 changes: 1 addition & 1 deletion hashes.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
vtkm branch='master' commit='982e965536b41b334bd2bbb765373e6503c823ec'
blt branch='main' commit='84fe0d15d841a79d923e97a9105b86b59147bfed'
blt branch='main' commit='9ff77344f0b2a6ee345e452bddd6bfd46cbbfa35'
29 changes: 12 additions & 17 deletions scripts/build_ascent/build_ascent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ fi # build_hdf5
################
# Conduit
################
conduit_version=v0.8.8
conduit_version=v0.9.1
conduit_src_dir=$(ospath ${root_dir}/conduit-${conduit_version}/src)
conduit_build_dir=$(ospath ${root_dir}/build/conduit-${conduit_version}/)
conduit_install_dir=$(ospath ${root_dir}/install/conduit-${conduit_version}/)
Expand All @@ -254,7 +254,7 @@ if ${build_conduit}; then
if [ ! -d ${conduit_src_dir} ]; then
echo "**** Downloading ${conduit_tarball}"
curl -L https://github.com/LLNL/conduit/releases/download/${conduit_version}/${conduit_tarball} -o ${conduit_tarball}
tar -xzf ${conduit_tarball}
tar --exclude="conduit-${conduit_version}/src/tests/relay/data/silo/*" -x -v -f ${conduit_tarball}
fi

echo "**** Configuring Conduit ${conduit_version}"
Expand Down Expand Up @@ -399,21 +399,20 @@ fi # build_vtkm
################
# Camp
################
camp_version=2022.10.1
camp_version=v2024.02.1
camp_src_dir=$(ospath ${root_dir}/camp-${camp_version})
camp_build_dir=$(ospath ${root_dir}/build/camp-${camp_version})
camp_install_dir=$(ospath ${root_dir}/install/camp-${camp_version}/)
camp_tarball=camp-${camp_version}.tar.gz


# build only if install doesn't exist
if [ ! -d ${camp_install_dir} ]; then
if ${build_camp}; then
if [ ! -d ${camp_src_dir} ]; then
echo "**** Cloning Camp ${camp_version}"
# clone since camp releases don't contain submodules
git clone --recursive --depth 1 --branch v${camp_version} https://github.com/LLNL/camp.git camp-${camp_version}
# curl -L https://github.com/LLNL/camp/archive/refs/tags/v${camp_version}.tar.gz -o ${camp_tarball}
# tar -xzf ${camp_tarball}
echo "**** Downloading ${camp_tarball}"
curl -L https://github.com/LLNL/camp/releases/download/${camp_version}/${camp_tarball} -o ${camp_tarball}
tar -xzf ${camp_tarball}
fi

camp_extra_cmake_args=""
Expand Down Expand Up @@ -451,7 +450,7 @@ fi # build_camp
################
# RAJA
################
raja_version=v2022.10.4
raja_version=v2024.02.1
raja_src_dir=$(ospath ${root_dir}/RAJA-${raja_version})
raja_build_dir=$(ospath ${root_dir}/build/raja-${raja_version})
raja_install_dir=$(ospath ${root_dir}/install/raja-${raja_version}/)
Expand All @@ -463,12 +462,8 @@ if [ ! -d ${raja_install_dir} ]; then
if ${build_raja}; then
if [ ! -d ${raja_src_dir} ]; then
echo "**** Downloading ${raja_tarball}"
curl -L https://github.com/LLNL/RAJA/releases/download/${raja_version}/${raja_tarball} -o ${raja_tarball}
curl -L https://github.com/LLNL/RAJA/releases/download/${raja_version}/${raja_tarball} -o ${raja_tarball}
tar -xzf ${raja_tarball}
# apply raja patch
cd ${raja_src_dir}
patch -p1 < ${script_dir}/2023_01_30_raja.patch
cd ${root_dir}
fi

raja_extra_cmake_args=""
Expand Down Expand Up @@ -510,7 +505,7 @@ fi # build_raja
################
# Umpire
################
umpire_version=2022.10.0
umpire_version=2024.02.1
umpire_src_dir=$(ospath ${root_dir}/umpire-${umpire_version})
umpire_build_dir=$(ospath ${root_dir}/build/umpire-${umpire_version})
umpire_install_dir=$(ospath ${root_dir}/install/umpire-${umpire_version}/)
Expand Down Expand Up @@ -567,7 +562,7 @@ fi # build_umpire
################
# MFEM
################
mfem_version=4.5.2
mfem_version=4.6
mfem_src_dir=$(ospath ${root_dir}/mfem-${mfem_version})
mfem_build_dir=$(ospath ${root_dir}/build/mfem-${mfem_version})
mfem_install_dir=$(ospath ${root_dir}/install/mfem-${mfem_version}/)
Expand Down Expand Up @@ -614,7 +609,7 @@ fi # build_mfem
################
# Catalyst
################
catalyst_version=2.0.0-rc3
catalyst_version=2.0.0-rc4
catalyst_src_dir=$(ospath ${root_dir}/catalyst-v${catalyst_version})
catalyst_build_dir=$(ospath ${root_dir}/build/catalyst-v${catalyst_version})
catalyst_install_dir=$(ospath ${root_dir}/install/catalyst-v${catalyst_version}/)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Copyright (c) Lawrence Livermore National Security, LLC and other Ascent
# Project developers. See top-level LICENSE AND COPYRIGHT files for dates and
# other details. No copyright assignment is required to contribute to Ascent.

FROM ubuntu:20.04
# add sudo to base ubuntu container
# so we can install additional packages as
# non-root, but admin default user on azure pipelines
RUN apt-get update && apt-get -y install sudo
RUN apt-get update && apt-get -y install wget gnupg
# tzdata install wants to ask questions, so handled as sep case
RUN DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata


#
# install rocm (recipe from warpx)
# https://github.com/ECP-WarpX/WarpX/blob/development/.github/workflows/dependencies/hip.sh
#
# Ref.: https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html#ubuntu
RUN wget -q -O - http://repo.radeon.com/rocm/rocm.gpg.key \
| sudo apt-key add -

RUN echo 'deb [arch=amd64] http://repo.radeon.com/rocm/apt/6.0/ ubuntu main' \
| sudo tee /etc/apt/sources.list.d/rocm.list

RUN echo 'export PATH=/opt/rocm/llvm/bin:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/rocm/opencl/bin:$PATH' \
| sudo tee -a /etc/profile.d/rocm.sh



# install std packages
# Notes:
# kmod -- hip requires lsmod
# liblocale-codes-perl -- hip uses perl, if locale bad, life isn't good
# language-pack-en -- hip uses perl, if locale bad, life isn't good
# for 6.0, `rocm` - new meta package
RUN apt-get update && apt-get -y install \
binutils \
gcc \
g++ \
gfortran \
python \
perl \
git \
git-lfs \
curl \
wget \
tar \
unzip \
build-essential \
libncurses-dev \
libssl-dev \
libblas-dev \
liblapack-dev \
liblapacke-dev \
zlib1g-dev \
libgdbm-dev \
libreadline-dev \
libsqlite3-dev \
libbz2-dev \
mpich \
libmpich-dev \
libnuma-dev \
rocm-dev \
rocfft-dev \
rocprim-dev \
rocrand-dev \
hiprand-dev \
openssh-server \
language-pack-en \
liblocale-codes-perl \
vim

#RUN apt-get update && apt-get -y install --no-install-recommends
# rocm-hip-sdk, vs all of these packages?
12 changes: 12 additions & 0 deletions scripts/ci/docker/alpinedav_ubuntu_20.04_rocm_6.0.0_devel/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash
# Copyright (c) Lawrence Livermore National Security, LLC and other Ascent
# Project developers. See top-level LICENSE AND COPYRIGHT files for dates and
# other details. No copyright assignment is required to contribute to Ascent.
set -ev

export TAG_ARCH=`uname -m`
export TAG_NAME=alpinedav/ascent-devel:ubuntu-20.04-rocm-6.0.0-${TAG_ARCH}

# exec docker build to create image
echo "docker build -t ${TAG_NAME} ."
docker build -t ${TAG_NAME} .
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright (c) Lawrence Livermore National Security, LLC and other Ascent
# Project developers. See top-level LICENSE AND COPYRIGHT files for dates and
# other details. No copyright assignment is required to contribute to Ascent.

ARG ARCH_TAG="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-rocm-6.0.0-${ARCH_TAG}

# obtain a copy of ascent source from host env,
# which we use to call uberenv
COPY ascent.docker.src.tar.gz /
# extract
RUN tar -xzf ascent.docker.src.tar.gz

# copy spack build script in
COPY docker_uberenv_build.sh docker_env_setup.sh /
RUN chmod -R a+x /*.sh

RUN /docker_uberenv_build.sh

RUN /docker_env_setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash
# Copyright (c) Lawrence Livermore National Security, LLC and other Ascent
# Project developers. See top-level LICENSE AND COPYRIGHT files for dates and
# other details. No copyright assignment is required to contribute to Ascent.
set -ev

export REPO_NAME="ascent"
export TAG_ARCH=`uname -m`
export TAG_BASE=alpinedav/ascent-devel:ubuntu-20.04-rocm-6.0.0--${TAG_ARCH}-build-ascent-tpls

date

python3 ../../../docker_build_and_tag.py ${REPO_NAME} ${TAG_ARCH} ${TAG_BASE}

date
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# create some helper scripts
python ascent/scripts/gen_spack_env_script.py cmake mpi
echo "git clone --recursive https://github.com/Alpine-DAV/ascent.git" > clone.sh
chmod +x clone.sh

# delete copy of source from host (ci will fetch new from repo)
rm -rf ascent
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/bin/bash
set -ev

cmake_install_dir=/cmake-3.23.2-linux-x86_64
if [ ! -d ${cmake_install_dir} ]; then
echo "**** Downloading ${hdf5_tarball}"
# setup cmake in container
curl -L https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2-linux-x86_64.tar.gz -o cmake-3.23.2-linux-x86_64.tar.gz
tar -xzf cmake-3.23.2-linux-x86_64.tar.gz
fi

export PATH=$PATH:/${cmake_install_dir}/bin/

# build rocm tpls with helper script
chmod +x ascent/scripts/build_ascent/build_ascent.sh
# enable tests is of b/c one of the vtk-m tests fails to link
env enable_tests=OFF build_ascent=false enable_hip=ON ascent/scripts/build_ascent/build_ascent.sh

############################
# TODO: get spack working
############################
# variants
# TODO:
# (+genten) genten currently disabled, wait for genten master to gain cokurt
# (+dray+raja+umpire) (can't get raja or umpire to build with rocm)
#export SPACK_SPEC="%clang+mpi+vtkh~dray~raja~umpire+mfem+occa+rocm~genten~python~openmp~fortran"
# constraints
#export SPACK_SPEC="${SPACK_SPEC} ^hdf5~mpi ^mfem~rocm ^hypre~rocm ^conduit~fortran"
# config
#export SPACK_CONFIG="scripts/uberenv_configs/spack_configs/configs/alpinedav/ubuntu_20.04_rocm_5.1.3_devel/"

#cd ascent && python scripts/uberenv/uberenv.py \
# -k \
# --spec="${SPACK_SPEC}" \
# --spack-config-dir="${SPACK_CONFIG}" \
# --prefix="/uberenv_libs"

# cleanup the spack build stuff to free up space
#/uberenv_libs/spack/bin/spack clean --all

# change perms
# chmod -R a+rX /uberenv_libs

# back to where we started
#cd ../
Loading