Skip to content

Commit

Permalink
add support for mixed element unstructured meshes (#1309)
Browse files Browse the repository at this point in the history
* add start of test for mixed ele topos

* fixes for dset construction

* add support for processing mixed element topos

* add vtkm to bp mixed ele support and round trip tests

* fix memory access issue

* new docker build with clang asan build recipe

* separation of concerns, wait on 2d zoom discovery

* adj mixed tests to work around path bug in conduit on windows

* add test that exercises bad shape ids
  • Loading branch information
cyrush authored Jul 17, 2024
1 parent 628d171 commit abb6ecd
Show file tree
Hide file tree
Showing 25 changed files with 1,042 additions and 70 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ and this project aspires to adhere to [Semantic Versioning](https://semver.org/s
- kokkos@3.7.02

### Added
- Added support for unstructured topologies with mixed elements types (for example, hexs and tets).
- Added support for `pyramid` and `wedge` elements.
- Added a `topologies` option to the relay extract. This allows you to select which topologies are saved. This option can be used with the existing `fields` option, the result is the union of the selected topologies and fields.
- Added `near_plane` and `far_plane` to the camera details provided in Ascent::info()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# 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-cuda-11.4.3-${ARCH_TAG}
ARG TAG_ARCH="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-cuda-11.4.3-${TAG_ARCH}

# obtain a copy of ascent source from host env,
# which we use to call uberenv
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# 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-cuda-12.1.1-${ARCH_TAG}
ARG TAG_ARCH="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-cuda-12.1.1-${TAG_ARCH}

# obtain a copy of ascent source from host env,
# which we use to call uberenv
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# 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-${ARCH_TAG}
ARG TAG_ARCH="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-${TAG_ARCH}

# obtain a copy of ascent source from host env,
# which we use to call uberenv
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# 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-5.1.3-${ARCH_TAG}
ARG TAG_ARCH="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-rocm-5.1.3-${TAG_ARCH}

# obtain a copy of ascent source from host env,
# which we use to call uberenv
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# 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}
ARG TAG_ARCH="x86_64"
FROM alpinedav/ascent-devel:ubuntu-20.04-rocm-6.0.0-${TAG_ARCH}

# obtain a copy of ascent source from host env,
# which we use to call uberenv
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
#!/bin/bash
set -ev

cmake_install_dir=/cmake-3.23.2-linux-x86_64
export CMAKE_ARCH=`uname -m`

if [[ ${CMAKE_ARCH} == "arm64" ]]; then
export CMAKE_ARCH="aarch64"
fi

cmake_install_dir=/cmake-3.23.2-linux-${CMAKE_ARCH}
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
curl -L https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2-linux-${CMAKE_ARCH}.tar.gz -o cmake-3.23.2-linux-${CMAKE_ARCH}.tar.gz
tar -xzf cmake-3.23.2-linux-${CMAKE_ARCH}.tar.gz
fi

export PATH=$PATH:/${cmake_install_dir}/bin/
Expand Down
2 changes: 2 additions & 0 deletions scripts/ci/docker/alpinedav_ubuntu_22.04_devel/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ RUN apt-get update && apt-get -y install \
python3 \
python3-dev \
python-is-python3 \
clang \
llvm \
perl \
git \
git-lfs \
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 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 TAG_ARCH=x86_64
FROM alpinedav/ascent-devel:ubuntu-22.04-${TAG_ARCH}

ENV TAG_ARCH ${TAG_ARCH}

# 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-22.04-clang-14-asan-${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,26 @@
#!/bin/bash
set -ev

export CMAKE_ARCH=`uname -m`

if [[ ${CMAKE_ARCH} == "arm64" ]]; then
export CMAKE_ARCH="aarch64"
fi

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

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

export CFLAGS="-fsanitize=address"
export CXXFLAGS="-fsanitize=address"

# build tpls with helper script /w clang and
chmod +x ascent/scripts/build_ascent/build_ascent.sh
# bi
env CXX=clang++ CC=clang enable_tests=OFF build_ascent=false ascent/scripts/build_ascent/build_ascent.sh

Loading

0 comments on commit abb6ecd

Please sign in to comment.