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

WIP: Ensemble read to 2.9 #3988

Closed
wants to merge 122 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
45fd1a7
ci: migrate to almalinux, cuda base image
vicentebolea Feb 14, 2023
865f74c
Merge pull request #3484 from vicentebolea/update-almalinux-images
vicentebolea Feb 14, 2023
5b7a404
Merge pull request #3482 from pnorbert/iotest-sst-mpi
pnorbert Feb 14, 2023
736cbbf
Merge release_29
vicentebolea Feb 14, 2023
03f5b51
Merge pull request #3489 from pnorbert/fix-matlab-build-29
pnorbert Feb 17, 2023
904afed
Merge release_29
vicentebolea Feb 17, 2023
79dbeac
ci: update kokkos to 3.7
vicentebolea Feb 17, 2023
a5d7972
Merge pull request #3490 from vicentebolea/update-kokkos-version-ci
vicentebolea Feb 17, 2023
4511299
Merge pull request #3446 from anagainaru/gpu-reorg-kokkos
anagainaru Feb 21, 2023
277f981
Merge release_29
vicentebolea Feb 21, 2023
c411a6a
codeowners: added code owners file
vicentebolea Feb 21, 2023
d693854
Merge pull request #3496 from vicentebolea/add-codeowners-file
vicentebolea Feb 21, 2023
da03f46
Merge pull request #3495 from anagainaru/kokkos-doc
anagainaru Feb 21, 2023
1266aae
Merge release_29
vicentebolea Feb 21, 2023
b14b713
Merge pull request #3498 from vicentebolea/remove-kokkosview-example
vicentebolea Feb 21, 2023
c971970
Merge release_29
vicentebolea Feb 21, 2023
f0ad68a
Merge pull request #3494 from eisenhauer/Deprecated
pnorbert Feb 22, 2023
cab0117
Merge release_29
vicentebolea Feb 22, 2023
247acd8
Merge pull request #3500 from vicentebolea/remove-kokkos-cuda-warnings
vicentebolea Feb 22, 2023
27d765c
Merge release_29
vicentebolea Feb 22, 2023
f45b926
Merge pull request #3501 from vicentebolea/stop-installing-empty-dirs
vicentebolea Feb 22, 2023
09ca5c9
Merge release_29
vicentebolea Feb 22, 2023
f7bd11a
Merge pull request #3502 from vicentebolea/fix-external-ci-tests
vicentebolea Feb 24, 2023
baec87a
Merge release_29
vicentebolea Feb 24, 2023
6398b38
Merge pull request #3506 from mathrack/patch-2
vicentebolea Feb 28, 2023
08055ac
Merge release_29
vicentebolea Feb 28, 2023
cc118ed
Hdf5 vol support requires latest hdf5 1.14
guj Mar 1, 2023
a6b6c66
Updated according to the most recent VOL interface in HDF5 1.14
guj Mar 1, 2023
5c49319
Merge pull request #3517 from anagainaru/set-cuda-architecture
anagainaru Mar 2, 2023
007a94a
Merge release_29
vicentebolea Mar 2, 2023
0a14221
removed comments and minor fixes
guj Mar 2, 2023
07131eb
clang-format
guj Mar 2, 2023
41a03f8
Merge branch 'master' into h5vol_update
guj Mar 2, 2023
df38d8a
Merge pull request #3516 from guj/h5vol_update
guj Mar 2, 2023
e8fbb72
Merge pull request #3522 from eisenhauer/FortranBind
pnorbert Mar 8, 2023
615a61e
Merge release_29
vicentebolea Mar 10, 2023
4381dc3
Merge pull request #3427 from caitlinross/update-docs-readme
vicentebolea Mar 14, 2023
80aea77
Merge release_29
vicentebolea Mar 14, 2023
1e2d058
Bump cryptography from 38.0.2 to 39.0.1 in /docs
dependabot[bot] Mar 14, 2023
e054144
Bump numpy from 1.21.6 to 1.22.0 in /docs
dependabot[bot] Mar 14, 2023
eba3837
Merge pull request #3535 from ornladios/dependabot/pip/docs/numpy-1.22.0
vicentebolea Mar 14, 2023
2a2832f
Merge pull request #3534 from ornladios/dependabot/pip/docs/cryptogra…
vicentebolea Mar 14, 2023
68bb627
fixup! Merge pull request #3534 from ornladios/dependabot/pip/docs/cr…
vicentebolea Mar 14, 2023
e29b99d
Merge pull request #3542 from anagainaru/warpx-bug-null-blocks
anagainaru Mar 17, 2023
8e63238
Merge release_29
vicentebolea Mar 20, 2023
ed2b8d9
Merge pull request #3519 from dmitry-ganyushin/b3503-dataman-1D-pytho…
dmitry-ganyushin Mar 20, 2023
49b9582
Merge release_29
vicentebolea Mar 20, 2023
7319685
ci,xl: added p9 xl build, removed p9 smpi build
vicentebolea Mar 21, 2023
853aa1d
Merge pull request #3537 from vicentebolea/enable-linux-emu-builds
vicentebolea Mar 22, 2023
5cb4bf0
Merge pull request #3557 from dmitry-ganyushin/group-API-cleanup
eisenhauer Mar 24, 2023
0fbd8b2
Merge release_29
vicentebolea Mar 24, 2023
0c884b8
Setting notifications for the GPU files
anagainaru Mar 24, 2023
7fe99b0
Merge pull request #3561 from anagainaru/code-owner-gpu
vicentebolea Mar 24, 2023
b111f50
Merge pull request #3562 from eisenhauer/LaterShapeCollection
eisenhauer Mar 28, 2023
cb0d6a0
Merge release_29
vicentebolea Mar 28, 2023
3071c81
Merge pull request #3560 from anagainaru/kokkos-scratch-mem-bug
anagainaru Mar 28, 2023
e1cef01
Merge release_29
vicentebolea Mar 28, 2023
baefe60
Merge pull request #3567 from anagainaru/zfp-cuda-backend
vicentebolea Mar 29, 2023
44ae62d
Merge release_29
vicentebolea Mar 29, 2023
aa6fb3a
Merge pull request #3568 from vicentebolea/bump-release-version
vicentebolea Mar 30, 2023
a9dce35
Merge release_29
vicentebolea Mar 30, 2023
60877b3
Allowing ADIOS2 to receive Kokkos::View with HIP backend
anagainaru Mar 30, 2023
f102c60
Merge pull request #3571 from anagainaru/hip-adios-view
anagainaru Mar 31, 2023
0f99b08
Prototype DAOS engine
eisenhauer Apr 4, 2023
60cd2ab
Merge pull request #3576 from eisenhauer/DAOSEngine
eisenhauer Apr 4, 2023
53a3e4b
CODEOWNERS: update codeowner file
vicentebolea Apr 7, 2023
31d4955
Merge pull request #3581 from vicentebolea/edit-codeowners
vicentebolea Apr 7, 2023
58aa3c5
shellcheck: add shellcheck ci check
vicentebolea Apr 7, 2023
0419843
Merge pull request #3582 from vicentebolea/add-shellcheck-ci
vicentebolea Apr 8, 2023
4773889
Scripts for building ADIOS2 with CUDA support
anagainaru Apr 7, 2023
3bf8c90
Scripts for building ADIOS2 with Kokkos support
anagainaru Apr 7, 2023
93c24a6
Ignoring warning SC2191 in shellcheck
anagainaru Apr 8, 2023
69be5d1
Merge pull request #3579 from anagainaru/build-scripts-gpu-aware
anagainaru Apr 8, 2023
ea6d854
emu,ppc64le: disable tests
vicentebolea Apr 10, 2023
e4073ca
Merge pull request #3583 from vicentebolea/disable-emu-tests
vicentebolea Apr 10, 2023
7c5292e
cmake: set correct soname
vicentebolea Apr 11, 2023
240690a
Merge pull request #3585 from vicentebolea/fix-soname
vicentebolea Apr 11, 2023
8bbdefa
Move ChangingShape.Multiblock to standalone test and add various comp…
pnorbert Apr 5, 2023
9a2fcdd
Merge pull request #3577 from pnorbert/test-changing-shape-blosc2
pnorbert Apr 17, 2023
104a87b
add release files
vicentebolea Mar 29, 2023
f52414d
Merge pull request #3570 from vicentebolea/add-release-files
vicentebolea Apr 21, 2023
db33c52
Heat Transfer Example: MPI Datatype
ax3l Apr 25, 2023
7e83346
Merge pull request #3571 from anagainaru/hip-adios-view
anagainaru Mar 31, 2023
1b9daa5
Merge branch 'release_29'
vicentebolea Apr 27, 2023
50aa9a3
Merge pull request #3593 from ax3l/fix-mpireal8-example
vicentebolea Apr 28, 2023
523d6a0
Merge pull request #3591 from eisenhauer/BP5MemSel
eisenhauer Apr 28, 2023
8ce4ff9
Merge release_29
vicentebolea May 3, 2023
1fe7aba
test,install: paramaterize adios2_DIR
vicentebolea Apr 11, 2023
5012782
BP5: fixes memory error with IBM XL
vicentebolea May 10, 2023
9761193
Merge pull request #3586 from vicentebolea/fix-test-post-install
vicentebolea May 11, 2023
6ae473b
Merge pull request #3605 from anagainaru/hip-specific-func
anagainaru May 10, 2023
765a02c
Merge release_29
vicentebolea May 11, 2023
cf7a879
ci,ascent: enable ascent builds
vicentebolea May 5, 2023
c4af0cf
Merge pull request #3610 from vicentebolea/enable-olcf-build
vicentebolea May 12, 2023
cc60961
ci: use nvcc_wrapper in adiosKokkos
vicentebolea May 16, 2023
a28e226
Using g++ for all ADIOS2 builds
anagainaru May 17, 2023
189f384
Merge pull request #3623 from vicentebolea/kokkos-use-nvcc-wrapper
vicentebolea May 17, 2023
413d8e0
Making our Kokkos backend agnostic to Kokkos specific memory space
anagainaru May 13, 2023
05fe91b
Remove support for long double from GPU metadata
anagainaru May 17, 2023
ff3de5b
Add SYCL specific functions
anagainaru May 17, 2023
04770c6
Add script to build ADIOS with Kokkos/SYCL backend on Polaris
anagainaru May 17, 2023
2aace5f
Merge pull request #3621 from anagainaru/sycl-backend
anagainaru May 18, 2023
6107372
CI,windows: change MSMPI URL
vicentebolea May 22, 2023
8385796
Bump requests from 2.28.1 to 2.31.0 in /docs
dependabot[bot] May 23, 2023
ca3afec
Merge pull request #3628 from ornladios/dependabot/pip/docs/requests-…
vicentebolea May 24, 2023
21f65d2
Merge pull request #3627 from vicentebolea/fix-windows-msmpi-flaky-in…
vicentebolea May 24, 2023
49e80a1
docs: update whatsnew
vicentebolea May 25, 2023
dbaaeba
Merge pull request #3634 from vicentebolea/change-whatsnew
vicentebolea May 25, 2023
e095189
ci,olcf,crusher: enable Crusher CI
vicentebolea May 12, 2023
1e5ebec
Merge pull request #3620 from vicentebolea/add-olcf-crusher-ci
vicentebolea May 25, 2023
731616f
ci,crusher: minor tweaks
vicentebolea May 25, 2023
537e8db
Merge pull request #3635 from vicentebolea/tweaks-crusher-build
vicentebolea May 25, 2023
f4f7d24
Ascent,CI: do not report sync script build
vicentebolea May 25, 2023
ebaf0ae
Merge pull request #3637 from vicentebolea/tweak-ascent-build
vicentebolea May 25, 2023
438277c
Revert "Ascent,CI: do not report sync script build"
vicentebolea May 26, 2023
59c589e
fixed https://github.com/ornladios/ADIOS2/issues/3638
guj May 26, 2023
2fbf459
Merge pull request #3640 from guj/bugfix
guj May 29, 2023
583a507
crusher,ci: set unique env per pipeline
vicentebolea May 29, 2023
645440a
Merge pull request #3644 from vicentebolea/tweaks_crusher_ci
vicentebolea May 29, 2023
0c1e111
Update documentation for GPU-aware functionality
anagainaru May 26, 2023
b18fec6
Merge pull request #3639 from anagainaru/sycl_documentation
vicentebolea May 30, 2023
af70596
* Add a new functionality to an Engine, to serialize metadata in memo…
pnorbert May 30, 2023
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
53 changes: 53 additions & 0 deletions .github/ISSUE_TEMPLATE/new_release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<!--
Replace the following vars with its corresponding values:
- @VERSION@ (example 2.9.0)
- @MAJOR@ (example 2)
- @MINOR@ (example 9)
- @OLD_RELEASE@ (example 2.8.3)

-->
Instructions for performing an ADIOS2 release:

- [ ] Make sure that the milestone for @VERSION@ has no pending issues/PRs.
- [ ] Update your remotes
``
git fetch origin
git fetch github #if needed
``
- [ ] Create a branch that updates the version
<!-- If the release_@MAJOR@@MINOR@ already exists -->
```
git checkout -b bump-release-version origin/release_@MAJOR@@MINOR@
```
<!-- else -->
```
git checkout -b bump-release-version origin/master
```
<!-- endif -->
- [ ] Add Commit that updates the version in the repo
```
git grep --name-only @OLD_RELEASE@ | xargs -n1 sed -i 's/@OLD_RELEASE@/@VERSION@/g'
git commit -am 'Bump version to v@VERSION@'
git push
```
- [ ] Create PR (BASE to master if release_@MAJOR@@MINOR@ does not exists; otherwise release_@MAJOR@@MINOR@)
- [ ] Ask for review
- [ ] Merge PR
- [ ] Create Tag commit `git tag -a v@VERSION@ the_merge_commit`
- [ ] Create Release in GitHub page
- Use the following script for getting the PR of this release
- `./scripts/developer/create-changelog.sh v@VERSION@ v@OLD_RELEASE@`
- Copy its content to the release description
<!-- If the release_@MAJOR@@MINOR@ does not exists -->
- [ ] Create the release_@MAJOR@@MINOR@ branch
```
git fetch origin
git checkout -b release_@MAJOR@@MINOR@ origin/master
# Use the following command with care
git push origin
```
<!-- else -->
- [ ] Create PR that merges release_@MAJOR@@MINOR@ into master
- [ ] Submit a PR in Spack that adds this new version of ADIOS (if not RC mark this new version as preferred)
- [ ] Write an announcement in the ADIOS-ECP mail-list
(https://groups.google.com/a/kitware.com/g/adios-ecp)
17 changes: 9 additions & 8 deletions .github/workflows/everything.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,9 @@ jobs:
- name: Python
working-directory: source
run: ../gha/scripts/ci/scripts/run-flake8.sh
- name: Shell
working-directory: source
run: ../gha/scripts/ci/scripts/run-shellcheck.sh


#######################################
Expand Down Expand Up @@ -145,7 +148,11 @@ jobs:

linux_emu:
needs: [format, git_checks]
if: false # needs.git_checks.outputs.num_code_changes > 0
if: needs.git_checks.outputs.num_code_changes > 0 &&
(
contains('refs/heads/master', github.ref) ||
contains('refs/heads/release_', github.ref)
)

runs-on: ubuntu-latest
container:
Expand All @@ -164,20 +171,14 @@ jobs:
cpu: [power8]
os: [el7]
compiler: [xl]
parallel: [serial, mpi]
parallel: [serial]
include:
- cpu: power8
os: el7
compiler: xl
parallel: serial
container: ornladios/adios2:ci-x86_64-power8-el7-xl
arch: ppc64le
- cpu: power8
os: el7
compiler: xl
parallel: mpi
container: ornladios/adios2:ci-x86_64-power8-el7-xl-smpi
arch: ppc64le

steps:
- name: Emulation Setup
Expand Down
692 changes: 692 additions & 0 deletions .gitlab/config/SpackCIBridge.py

Large diffs are not rendered by default.

61 changes: 61 additions & 0 deletions .gitlab/config/ccache.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
##============================================================================
## Copyright (c) Kitware, Inc.
## All rights reserved.
## See LICENSE.txt for details.
##
## This software is distributed WITHOUT ANY WARRANTY; without even
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
## PURPOSE. See the above copyright notice for more information.
##============================================================================

cmake_minimum_required(VERSION 3.0 FATAL_ERROR)

set(version 4.6.1)
set(arch x86_64)

if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
set(sha256sum da1e1781bc1c4b019216fa16391af3e1daaee7e7f49a8ec9b0cdc8a1d05c50e2)
set(base_url https://github.com/ccache/ccache/releases/download)
set(platform linux)
set(extension tar.xz)
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
set(sha256sum 3e36ba8c80fbf7f2b95fe0227b9dd1ca6143d721aab052caf0d5729769138059)
set(full_url https://gitlab.kitware.com/utils/ci-utilities/-/package_files/534/download)
set(filename ccache)
set(extension tar.gz)
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
set(sha256sum a6c6311973aa3d2aae22424895f2f968e5d661be003b25f1bd854a5c0cd57563)
set(base_url https://github.com/ccache/ccache/releases/download)
set(platform windows)
set(extension zip)
else()
message(FATAL_ERROR "Unrecognized platform ${CMAKE_HOST_SYSTEM_NAME}")
endif()

if(NOT DEFINED filename)
set(filename "ccache-${version}-${platform}-${arch}")
endif()

set(tarball "${filename}.${extension}")

if(NOT DEFINED full_url)
set(full_url "${base_url}/v${version}/${tarball}")
endif()

file(DOWNLOAD
"${full_url}" $ENV{CCACHE_INSTALL_DIR}/${tarball}
EXPECTED_HASH SHA256=${sha256sum}
SHOW_PROGRESS
)

execute_process(
COMMAND ${CMAKE_COMMAND} -E tar xf ${tarball}
WORKING_DIRECTORY $ENV{CCACHE_INSTALL_DIR}
RESULT_VARIABLE extract_results
)

if(extract_results)
message(FATAL_ERROR "Extracting `${tarball}` failed: ${extract_results}.")
endif()

file(RENAME $ENV{CCACHE_INSTALL_DIR}/${filename} $ENV{CCACHE_INSTALL_DIR}/ccache)
9 changes: 9 additions & 0 deletions .gitlab/config/dynamic_pipeline.yml.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
child_pipeline_{branch}:
variables:
DOWNSTREAM_COMMIT_SHA: '{commit}'
DOWNSTREAM_BRANCH_REF: '{branch}'
trigger:
include:
- project: 'ci/csc303_crusher/dev/adios2'
ref: '{branch}'
file: '.gitlab/gitlab-ci-crusher.yml'
90 changes: 90 additions & 0 deletions .gitlab/config/generate_pipelines.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
#!/usr/bin/env python3

# Distributed under the OSI-approved Apache License, Version 2.0. See
# accompanying file Copyright.txt for details.
#
# generate_pipeline.py
#
# Created: May 19, 2023
# Author: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>

from datetime import datetime
import argparse
import requests
import time
import re
import urllib3
# Remove annoying warning about insecure connection (self-signed cert).
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)


def is_date_after(date, days):
deadline_sec = int(time.time()) - (days * 86400)
utc_dt = datetime.strptime(date, '%Y-%m-%dT%H:%M:%SZ')
timestamp_sec = (utc_dt - datetime(1970, 1, 1)).total_seconds()
return timestamp_sec > deadline_sec


def request_dict(url):
r = requests.get(url + '?per_page=100', verify=False)
return r.json()


parser = argparse.ArgumentParser(
prog='generate_pipeline.py',
description='Generate Dynamic pipelines for Gitlab')
parser.add_argument(
'-u', '--gl-url', required=True,
help='Base URL for Gitlab remote. Ex: https://code.olcf.ornl.gov/')
parser.add_argument(
'-n', '--gh-name', required=True,
help='Full name of the GitHub project. Ex: ornladios/ADIOS2')
parser.add_argument(
'-c', '--gh-context', default='OLCF Crusher (Frontier)',
help='Name of the status in GitHub (A.K.A context)')
parser.add_argument(
'-p', '--project_id', required=True,
help='Gitlab internal project ID of the project.')
parser.add_argument(
'-d', '--days', type=int, default=1,
help='How many days back to search for commits')
parser.add_argument(
'-m', '--max', type=int, default=2,
help='Maximum amount of pipelines computed')
parser.add_argument(
'-f', '--template_file', required=True,
help='Template file of the pipeline `{branch}` will be substituted')
args = parser.parse_args()


with open(args.template_file, "r") as fd:
template_str = fd.read()
gl_url = args.gl_url + "/api/v4/projects/" + str(args.project_id)
gh_url = 'https://api.github.com/repos/' + args.gh_name
branches = request_dict(gl_url + "/repository/branches")
num_pipeline = 0
for branch in branches:
# Convert to ISO 8601 date format.
date_stamp = branch['commit']['committed_date'].split('.')[0] + "Z"
if num_pipeline < args.max and is_date_after(date_stamp, args.days):
commit_sha = branch['commit']['id']
# Backported branches use the merge head
gh_commit_sha = commit_sha
if re.fullmatch(r'^pr\d+_.*$', branch['name']):
gh_commit_sha = branch['commit']['parent_ids'][1]

# Quit if GitHub does not have the commit
if 'sha' not in request_dict(gh_url + "/commits/" + gh_commit_sha):
continue

# Query GitHub for the status of this commit
commit = request_dict(gh_url + "/commits/" +
gh_commit_sha + "/status")
status_found = False
for status in commit['statuses']:
if status['context'] == args.gh_context:
status_found = True
if not status_found:
num_pipeline += 1
print(template_str.format(
branch=branch['name'], commit=commit_sha))
29 changes: 29 additions & 0 deletions .gitlab/config/kokkos.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/usr/bin/env bash
set -x

WORKDIR="$1"
VERSION="$2"

shift 2

if [ ! -d "$WORKDIR" ] || [ -z "$VERSION" ]
then
echo "[E] missing args: Invoke as .gitlab/ci/config/kokkos.sh <WORKDIR> <VERSION> [extra_args]"
exit 1
fi

# Build and install Kokkos
curl -L "https://github.com/kokkos/kokkos/archive/refs/tags/$VERSION.tar.gz" \
| tar -C "$WORKDIR" -xzf -

cmake -S "$WORKDIR/kokkos-$VERSION" -B "$WORKDIR/kokkos_build" \
"-DBUILD_SHARED_LIBS=ON" \
"-DCMAKE_BUILD_TYPE:STRING=release" \
"-DCMAKE_CXX_COMPILER_LAUNCHER=ccache" \
"-DCMAKE_CXX_STANDARD:STRING=17" \
"-DCMAKE_CXX_EXTENSIONS:BOOL=OFF" \
"-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON" \
$*

cmake --build "$WORKDIR/kokkos_build"
cmake --install "$WORKDIR/kokkos_build"
Loading