Skip to content

v1.2.0 release candidate #69

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

Open
wants to merge 383 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
383 commits
Select commit Hold shift + click to select a range
a570474
correct communications with boundaries
Jan 9, 2025
d63595f
added dead particle function
Jan 9, 2025
8fc0cd6
added header
Jan 9, 2025
0ef2312
hdf5_root -- optionally set
haykh Jan 22, 2025
16a4086
sort_interval -> clear_interval
haykh Jan 22, 2025
e2644a6
rm old sorting + added new comm
haykh Jan 22, 2025
541633e
toml schema
haykh Jan 22, 2025
9d0c8db
nix shells
haykh Jan 22, 2025
5d1d8f7
comment
haykh Jan 22, 2025
179928f
plds are now 2d array
haykh Jan 23, 2025
ad02663
comm kernels
haykh Jan 23, 2025
ea4366b
minor fix in tags
haykh Jan 23, 2025
29ef300
proper tag_offsets access
haykh Jan 23, 2025
3c85363
minor
haykh Jan 23, 2025
d376b6e
minor bug: tag access
haykh Jan 23, 2025
f7ec06e
inline if patched
haykh Jan 24, 2025
fed4e62
bug on gpus fixed
haykh Jan 24, 2025
7388d8e
pld comm
haykh Jan 24, 2025
4357cb3
pld comm
haykh Jan 24, 2025
6aa7a80
minor bug fixed in kernel
haykh Jan 28, 2025
3071251
nix devshell
haykh Jan 29, 2025
6aa045a
pld reading in checkpoint fixed
haykh Jan 29, 2025
649e328
clean benchmark
haykh Jan 29, 2025
3f2674c
cleanup prep for release
haykh Jan 29, 2025
2b6ef3c
tested with/without mpi cpu+hip
haykh Jan 29, 2025
842edf6
Merge pull request #77 from entity-toolkit/dev/prtlsort
haykh Jan 29, 2025
f2be35a
Merge branch '1.2.0rc' into dev/sepfiles
haykh Jan 29, 2025
803fb48
Merge pull request #75 from entity-toolkit/dev/sepfiles
haykh Jan 29, 2025
08bc485
rm conflicting file
haykh Jan 29, 2025
8b0f205
Merge pull request #81 from pmocz/dev/bugfix
haykh Jan 29, 2025
c9b4591
nix-shell upd
haykh Jan 29, 2025
c89ea77
kokkos v4.5.01 fixed
haykh Jan 29, 2025
e1d7d52
adios v2.10.2 fixed
haykh Jan 29, 2025
3e6a01e
plog v1.1.10 fixed
haykh Jan 29, 2025
17bff13
nix-shell
haykh Jan 29, 2025
e99bf5d
fix bug in Bfield setup
LudwigBoess Nov 13, 2024
4374f94
switch BCs to be consistent with Tristan
LudwigBoess Nov 13, 2024
2fbf906
rebase
haykh Jan 29, 2025
77e89e5
bcs cleared
haykh Jan 29, 2025
c7c9696
old tests passing
haykh Jan 29, 2025
f61d1b8
match field test
haykh Jan 29, 2025
f81a9a5
minor
haykh Jan 30, 2025
9ce606c
changed bc in setups
haykh Jan 30, 2025
bd4cf2d
Merge pull request #72 from entity-toolkit/pgen/magnetized_shock
haykh Jan 30, 2025
65e6d77
added siddhant
haykh Feb 4, 2025
3e1848a
prep for conductor boundaries
LudwigBoess Feb 21, 2025
bacbe24
first stubborn attempt at conductor boundaries (broken)
LudwigBoess Feb 21, 2025
2081a39
first attempt at ConductorBoundaries_kernel
LudwigBoess Feb 21, 2025
b7a863c
bugfix
LudwigBoess Feb 21, 2025
f383e49
first attempt at Kokkos::parallel_for loop (broken)
LudwigBoess Feb 21, 2025
7666918
Ongoing.
jmahlmann Feb 22, 2025
af06544
Ongoing.
jmahlmann Feb 22, 2025
0d3cc1c
Ongoing.
jmahlmann Feb 22, 2025
4a57c38
Ongoing.
jmahlmann Feb 22, 2025
ff5a3ee
Ongoing.
jmahlmann Feb 22, 2025
d6b2b1c
Ongoing.
jmahlmann Feb 22, 2025
f0ed6c7
Ongoing.
jmahlmann Feb 22, 2025
79d3237
Ongoing.
jmahlmann Feb 22, 2025
17b469b
Ongoing.
jmahlmann Feb 22, 2025
e234173
Ongoing.
jmahlmann Feb 22, 2025
de510ea
Ongoing.
jmahlmann Feb 22, 2025
0524d78
Ongoing.
jmahlmann Feb 23, 2025
9d78b9e
Ongoing.
jmahlmann Feb 23, 2025
cec22b0
Ongoing.
jmahlmann Feb 23, 2025
b3754e2
Ongoing.
jmahlmann Feb 23, 2025
83dba37
Ongoing.
jmahlmann Feb 23, 2025
a7ef051
Ongoing.
jmahlmann Feb 23, 2025
d219fc4
Ongoing.
jmahlmann Feb 23, 2025
044ccea
Ongoing.
jmahlmann Feb 23, 2025
2af41d8
Ongoing.
jmahlmann Feb 23, 2025
056c629
Ongoing.
jmahlmann Feb 23, 2025
7d9a1a3
Ongoing.
jmahlmann Feb 23, 2025
d8abf1b
Ongoing.
jmahlmann Feb 26, 2025
a17db62
Ongoing.
jmahlmann Feb 26, 2025
1d109a0
Ongoing.
jmahlmann Feb 27, 2025
bee7530
Ongoing.
jmahlmann Feb 27, 2025
2a269fd
Ongoing.
jmahlmann Feb 27, 2025
49820ff
Ongoing.
jmahlmann Feb 27, 2025
d2167da
first attempt at single particle injection
LudwigBoess Feb 28, 2025
fc3e647
Ongoing.
jmahlmann Feb 28, 2025
83c144f
Ongoing.
jmahlmann Feb 28, 2025
7c7c3f9
Ongoing.
jmahlmann Feb 28, 2025
939369e
Ongoing.
jmahlmann Feb 28, 2025
fa5a38f
Ongoing.
jmahlmann Feb 28, 2025
eeca02d
Ongoing.
jmahlmann Feb 28, 2025
c18840c
Ongoing.
jmahlmann Feb 28, 2025
9085afd
Ongoing.
jmahlmann Feb 28, 2025
87b37be
Ongoing.
jmahlmann Feb 28, 2025
5712e3b
Ongoing.
jmahlmann Feb 28, 2025
af258c6
Ongoing.
jmahlmann Feb 28, 2025
86f0597
Ongoing.
jmahlmann Feb 28, 2025
d0ce7c8
cleanup of conductor BCs
LudwigBoess Mar 3, 2025
0fd05b9
add 3D case and set correct boundary cells to zero
LudwigBoess Mar 3, 2025
425abe5
Ongoing
Mar 4, 2025
cfee51e
Ongoing
Mar 4, 2025
7d317e6
Ongoing
Mar 4, 2025
21d9937
Ongoing
Mar 4, 2025
bd723f3
minor reformatting of conductor BC
haykh Mar 7, 2025
28a02f1
filters adapted for conducting BCs
haykh Mar 7, 2025
b800b61
revert to old pgen for testing
LudwigBoess Mar 8, 2025
2b269f3
enforce B0/E0 at boundary
LudwigBoess Mar 8, 2025
9b23732
filter test fixed
haykh Mar 8, 2025
179fafe
removed extra kokkos flags
haykh Mar 9, 2025
db1a393
Merge branch 'dev/conductor_boundary' of github.com:entity-toolkit/en…
haykh Mar 9, 2025
e644b65
nix cfgs
haykh Mar 9, 2025
158c385
Add bulk velocity as moment output.
jmahlmann Aug 22, 2024
334a8b1
Update input.
jmahlmann Aug 26, 2024
d0c98ae
Bugfix in moment calculation.
jmahlmann Oct 16, 2024
e7976ca
minor bookkeeping for 3vel output
haykh Mar 9, 2025
c9d69ce
implemented and tested bulk V output
haykh Mar 9, 2025
e3bc62b
rebase to 1.2.0rc
haykh Mar 9, 2025
b6fe114
revert to zero at boundary
LudwigBoess Mar 10, 2025
15ffa1b
types made uniform
haykh Mar 13, 2025
85811c9
Minor fixes of npart_t
Mar 13, 2025
777d1fb
cleanup of pgen
LudwigBoess Mar 13, 2025
ef5c854
update example parameter file
LudwigBoess Mar 13, 2025
66cb136
Minor fixes of npart_t
Mar 13, 2025
38e76bd
minor bugfix dx_min comparison + nonexistent species
haykh Mar 13, 2025
2d4e2bf
bugfix in mpihdf5 test
haykh Mar 13, 2025
330b173
Merge pull request #88 from entity-toolkit/bug/nonexistspec
haykh Mar 13, 2025
84e047c
revert to cleaner injector for shocktest
LudwigBoess Mar 19, 2025
69d4a0d
implemented new `arch::Piston` spatial distribution to set up shock p…
LudwigBoess Mar 20, 2025
e4d5979
fix inconsistency in return type
LudwigBoess Mar 20, 2025
cbc2021
Added `MovingInjector` (wip)
LudwigBoess Mar 21, 2025
70ea9af
Added `CustomPostStep` for shock pgen to continually inject particles…
LudwigBoess Mar 21, 2025
9727507
bugfix
LudwigBoess Mar 22, 2025
d7d12a3
added start time of injection and explicitly enforce injection region…
LudwigBoess Mar 22, 2025
6cf0dc8
small bugfix
LudwigBoess Mar 22, 2025
22a0479
shock pgen changed
haykh Mar 24, 2025
13da0dd
reduce resolution for faster test
LudwigBoess Mar 24, 2025
54f083f
cleanup and bugfix
LudwigBoess Mar 24, 2025
9f45d04
removed unnecessary parameter
LudwigBoess Mar 24, 2025
aa8b8e7
applied formatting to `MovingInjector`
LudwigBoess Mar 24, 2025
d0fb4ca
first attempt at moving-window injection
LudwigBoess Mar 31, 2025
4bcb1a2
extended field reset box to the right to squash waves propagating int…
LudwigBoess Apr 1, 2025
ebe6080
contribs
haykh Apr 1, 2025
08de689
rm tasks (RUNTEST)
haykh Apr 1, 2025
2132b33
bulk grpic prohibit (RUNTEST)
haykh Apr 1, 2025
0f2c91e
minor bug in tests (RUNTEST)
haykh Apr 1, 2025
a22cd96
minor bug in mpi-output tests (RUNTEST)
haykh Apr 1, 2025
068f524
Merge pull request #70 from entity-toolkit/dev/bulk
haykh Apr 1, 2025
420f36f
bugfix: added check to truncate the injection box at the end of the d…
LudwigBoess Apr 1, 2025
7686748
Lf -> f in fmt
haykh Apr 1, 2025
614e31a
Merge pull request #86 from entity-toolkit/dev/inttypes
haykh Apr 1, 2025
4ee44ec
dx_min between domains *10 acc
haykh Apr 1, 2025
8c887cb
Merge pull request #89 from entity-toolkit/bug/mpidomdx
haykh Apr 1, 2025
df3fca1
exespace/memspace -> kokkos default + cmake flags changed
haykh Apr 1, 2025
18f02f6
fix unit conversion bug in field reset
LudwigBoess Apr 2, 2025
3ccdd4d
improved report + fetch adios2 + rm hdf5 dependency
haykh Apr 2, 2025
d1d999c
int type issues in mpi writer test
haykh Apr 3, 2025
4708d81
cmake prints report with TESTS
haykh Apr 4, 2025
4d75287
type+unused warnings fixed
haykh Apr 4, 2025
518071b
warnings in cmake + nullptr
haykh Apr 4, 2025
195de49
log level controlled from input
haykh Apr 4, 2025
e96a2d3
conductor in all directions
haykh Apr 4, 2025
af42012
prep for conductor boundaries
LudwigBoess Feb 21, 2025
7c6ddf4
first stubborn attempt at conductor boundaries (broken)
LudwigBoess Feb 21, 2025
9333b76
first attempt at ConductorBoundaries_kernel
LudwigBoess Feb 21, 2025
1565070
bugfix
LudwigBoess Feb 21, 2025
6a136fb
first attempt at Kokkos::parallel_for loop (broken)
LudwigBoess Feb 21, 2025
861e783
Ongoing.
jmahlmann Feb 22, 2025
cd81a5b
Ongoing.
jmahlmann Feb 22, 2025
aec0d41
Ongoing.
jmahlmann Feb 22, 2025
1c7105b
Ongoing.
jmahlmann Feb 22, 2025
de66f25
Ongoing.
jmahlmann Feb 22, 2025
2f8a01e
Ongoing.
jmahlmann Feb 22, 2025
2c7019b
Ongoing.
jmahlmann Feb 22, 2025
c041467
Ongoing.
jmahlmann Feb 22, 2025
b85346e
Ongoing.
jmahlmann Feb 22, 2025
b51a8bb
Ongoing.
jmahlmann Feb 22, 2025
f94e0fb
Ongoing.
jmahlmann Feb 22, 2025
7536825
Ongoing.
jmahlmann Feb 23, 2025
f313624
Ongoing.
jmahlmann Feb 23, 2025
dd6056e
Ongoing.
jmahlmann Feb 23, 2025
67a6a19
Ongoing.
jmahlmann Feb 23, 2025
679d037
Ongoing.
jmahlmann Feb 23, 2025
80043ef
Ongoing.
jmahlmann Feb 23, 2025
aff570e
Ongoing.
jmahlmann Feb 23, 2025
6d4eb13
Ongoing.
jmahlmann Feb 23, 2025
c3aa545
Ongoing.
jmahlmann Feb 23, 2025
f5d9bec
Ongoing.
jmahlmann Feb 23, 2025
2c2d595
Ongoing.
jmahlmann Feb 23, 2025
54b0222
Ongoing.
jmahlmann Feb 26, 2025
e023e37
Ongoing.
jmahlmann Feb 26, 2025
4254906
Ongoing.
jmahlmann Feb 27, 2025
20ae9a4
Ongoing.
jmahlmann Feb 27, 2025
9facba7
Ongoing.
jmahlmann Feb 27, 2025
8f0e72c
Ongoing.
jmahlmann Feb 27, 2025
cedf47a
first attempt at single particle injection
LudwigBoess Feb 28, 2025
77dc646
Ongoing.
jmahlmann Feb 28, 2025
afc0fe9
Ongoing.
jmahlmann Feb 28, 2025
c6a01f8
Ongoing.
jmahlmann Feb 28, 2025
4f3d261
Ongoing.
jmahlmann Feb 28, 2025
bec35fd
Ongoing.
jmahlmann Feb 28, 2025
400feb0
Ongoing.
jmahlmann Feb 28, 2025
906d276
Ongoing.
jmahlmann Feb 28, 2025
8bf2718
Ongoing.
jmahlmann Feb 28, 2025
5534983
Ongoing.
jmahlmann Feb 28, 2025
1a60a7a
Ongoing.
jmahlmann Feb 28, 2025
d50abcd
Ongoing.
jmahlmann Feb 28, 2025
fbdfb92
Ongoing.
jmahlmann Feb 28, 2025
b7bed42
cleanup of conductor BCs
LudwigBoess Mar 3, 2025
6249918
add 3D case and set correct boundary cells to zero
LudwigBoess Mar 3, 2025
268f35a
Ongoing
Mar 4, 2025
c4325e7
minor reformatting of conductor BC
haykh Mar 7, 2025
6e66aa2
filters adapted for conducting BCs
haykh Mar 7, 2025
81d51f9
filter test fixed
haykh Mar 8, 2025
8bb8428
removed extra kokkos flags
haykh Mar 9, 2025
b167d37
revert to old pgen for testing
LudwigBoess Mar 8, 2025
ec88a4f
enforce B0/E0 at boundary
LudwigBoess Mar 8, 2025
680b950
revert to zero at boundary
LudwigBoess Mar 10, 2025
de24703
cleanup of pgen
LudwigBoess Mar 13, 2025
a41bbe2
update example parameter file
LudwigBoess Mar 13, 2025
5d9fe73
revert to cleaner injector for shocktest
LudwigBoess Mar 19, 2025
6d43018
implemented new `arch::Piston` spatial distribution to set up shock p…
LudwigBoess Mar 20, 2025
4f5b1d8
fix inconsistency in return type
LudwigBoess Mar 20, 2025
3e9c4ac
Added `MovingInjector` (wip)
LudwigBoess Mar 21, 2025
e724b50
Added `CustomPostStep` for shock pgen to continually inject particles…
LudwigBoess Mar 21, 2025
236060b
bugfix
LudwigBoess Mar 22, 2025
2391bee
added start time of injection and explicitly enforce injection region…
LudwigBoess Mar 22, 2025
d67f6c7
small bugfix
LudwigBoess Mar 22, 2025
bb8e308
shock pgen changed
haykh Mar 24, 2025
31ef100
reduce resolution for faster test
LudwigBoess Mar 24, 2025
b324687
cleanup and bugfix
LudwigBoess Mar 24, 2025
2d1a454
removed unnecessary parameter
LudwigBoess Mar 24, 2025
b3ee77b
applied formatting to `MovingInjector`
LudwigBoess Mar 24, 2025
8d61ce8
first attempt at moving-window injection
LudwigBoess Mar 31, 2025
b2c738a
extended field reset box to the right to squash waves propagating int…
LudwigBoess Apr 1, 2025
fb16928
bugfix: added check to truncate the injection box at the end of the d…
LudwigBoess Apr 1, 2025
884a157
fix unit conversion bug in field reset
LudwigBoess Apr 2, 2025
3f4c565
conductor in all directions
haykh Apr 4, 2025
6ae91c9
minor formatting
haykh Apr 4, 2025
a31c9c7
rm TODOs
haykh Apr 4, 2025
58a6214
conductor filters in full 3D
haykh Apr 4, 2025
0303acf
rebase to 1.2.0rc
haykh Apr 4, 2025
0bee5ca
rebase to 1.2.0rc (attempt 2)
haykh Apr 4, 2025
dd8a35b
(RUNTEST)
haykh Apr 4, 2025
cb34e94
mpi tests fixed (RUNTEST)
haykh Apr 4, 2025
0bc510f
added non-mpi cpu test action (RUNTEST)
haykh Apr 4, 2025
3d2d60f
Merge pull request #84 from entity-toolkit/dev/conductor_boundary
haykh Apr 4, 2025
6643066
exespace/memspace -> kokkos default + cmake flags changed
haykh Apr 1, 2025
908c08a
improved report + fetch adios2 + rm hdf5 dependency
haykh Apr 2, 2025
9e22301
cmake prints report with TESTS
haykh Apr 4, 2025
004c6e9
type+unused warnings fixed
haykh Apr 4, 2025
b539a91
warnings in cmake + nullptr
haykh Apr 4, 2025
ec7ff77
log level controlled from input
haykh Apr 4, 2025
7bfb6c6
Merge branch 'dev/cleanup' of github.com:entity-toolkit/entity into d…
haykh Apr 4, 2025
8850ab9
warnings fixed
haykh Apr 5, 2025
bf3c349
Merge pull request #90 from entity-toolkit/dev/cleanup
haykh Apr 9, 2025
5cf30af
dxdydz in minkowski are now compared with prec*100
alisagk Apr 11, 2025
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: 2 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ IncludeCategories:
Priority: 4
- Regex: '^"engines\/.*\.h"'
Priority: 4
- Regex: '^"checkpoint\/.*\.h"'
Priority: 4
- Regex: '^"output\/.*\.h"'
Priority: 4
- Regex: '^"archetypes\/.*\.h"'
Expand Down
36 changes: 28 additions & 8 deletions .github/workflows/actions.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,44 @@
name: Unit tests

on:
pull_request:
branches:
- '**rc'
- 'master'
push:

jobs:
check-commit:
runs-on: ubuntu-latest
outputs:
run_tests: ${{ steps.check_message.outputs.run_tests }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Check commit message
id: check_message
run: |
if git log -1 --pretty=%B | grep -q "RUNTEST"; then
echo "run_tests=true" >> "$GITHUB_OUTPUT"
else
echo "run_tests=false" >> "$GITHUB_OUTPUT"
fi
tests:
needs: check-commit
if: needs.check-commit.outputs.run_tests == 'true'
strategy:
fail-fast: false
matrix:
device: [amd-gpu, nvidia-gpu]
device: [cpu, amd-gpu, nvidia-gpu]
precision: [double, single]
exclude:
mpi: [serial, parallel]
exclude: # my AMD GPU doesn't support fp64 atomics : (
- device: amd-gpu
precision: double
# my AMD GPUs doesn't support fp64 atomics : (
- device: amd-gpu
mpi: parallel
- device: nvidia-gpu
mpi: parallel
runs-on: [self-hosted, "${{ matrix.device }}"]
steps:
- name: Checkout
uses: actions/checkout@v3.3.0
uses: actions/checkout@v4
- name: Configure
run: |
if [ "${{ matrix.device }}" = "nvidia-gpu" ]; then
Expand All @@ -34,6 +52,8 @@ jobs:
fi
elif [ "${{ matrix.device }}" = "amd-gpu" ]; then
FLAGS="-D Kokkos_ENABLE_HIP=ON -D Kokkos_ARCH_AMD_GFX1100=ON"
elif [ "${{ matrix.mpi }}" = "parallel" ]; then
FLAGS="-D mpi=ON"
fi
cmake -B build -D TESTS=ON -D output=ON -D precision=${{ matrix.precision }} $FLAGS
- name: Compile
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,10 @@ venv/
# CMake testing files
Testing/

tags
.clangd
.schema.json
*_old/
action-token
*.vim
ignore-*
4 changes: 0 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
[submodule "extern/toml11"]
path = extern/toml11
url = https://github.com/ToruNiina/toml11.git
[submodule "extern/plog"]
path = extern/plog
url = https://github.com/SergiusTheBest/plog.git
[submodule "extern/adios2"]
path = extern/adios2
url = https://github.com/ornladios/ADIOS2.git
branch = master
[submodule "extern/Kokkos"]
path = extern/Kokkos
url = https://github.com/kokkos/kokkos.git
6 changes: 6 additions & 0 deletions .taplo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[formatting]
align_entries = true
indent_tables = true
indent_entries = true
trailing_newline = true
align_comments = true
103 changes: 45 additions & 58 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
# cmake-lint: disable=C0103,C0111,E1120,R0913,R0915

cmake_minimum_required(VERSION 3.16)
cmake_policy(SET CMP0110 NEW)

set(PROJECT_NAME entity)

project(
${PROJECT_NAME}
VERSION 1.1.1
VERSION 1.2.0
LANGUAGES CXX C)
add_compile_options("-D ENTITY_VERSION=\"${PROJECT_VERSION}\"")
execute_process(COMMAND
bash -c "git diff --quiet src/ && echo $(git rev-parse HEAD) || echo $(git rev-parse HEAD)-mod"
set(hash_cmd "git diff --quiet src/ && echo $(git rev-parse HEAD) ")
string(APPEND hash_cmd "|| echo $(git rev-parse HEAD)-mod")
execute_process(
COMMAND bash -c ${hash_cmd}
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
OUTPUT_VARIABLE GIT_HASH
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE
)
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
message(STATUS "Git hash: ${GIT_HASH}")
add_compile_options("-D ENTITY_GIT_HASH=\"${GIT_HASH}\"")

Expand All @@ -25,100 +28,80 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/defaults.cmake)

# defaults
set(DEBUG
${default_debug}
CACHE BOOL "Debug mode")
${default_debug}
CACHE BOOL "Debug mode")

set(precision
${default_precision}
CACHE STRING "Precision")
${default_precision}
CACHE STRING "Precision")
set(pgen
${default_pgen}
CACHE STRING "Problem generator")
${default_pgen}
CACHE STRING "Problem generator")

set(gui
${default_gui}
CACHE BOOL "Use GUI [nttiny]")
${default_gui}
CACHE BOOL "Use GUI [nttiny]")
set(output
${default_output}
CACHE BOOL "Enable output")
${default_output}
CACHE BOOL "Enable output")
set(mpi
${default_mpi}
CACHE BOOL "Use MPI")
${default_mpi}
CACHE BOOL "Use MPI")

# -------------------------- Compilation settings -------------------------- #
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

if(${DEBUG} STREQUAL "OFF")
set(CMAKE_BUILD_TYPE
Release
CACHE STRING "CMake build type")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNDEBUG")
Release
CACHE STRING "CMake build type")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNDEBUG "
"-Wno-unused-local-typedefs -Wno-unknown-cuda-version")
else()
set(CMAKE_BUILD_TYPE
Debug
CACHE STRING "CMake build type")
Debug
CACHE STRING "CMake build type")
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -DDEBUG -Wall -Wextra -Wno-unknown-pragmas")
"${CMAKE_CXX_FLAGS} -DDEBUG -Wall -Wextra -Wno-unknown-pragmas")
endif()

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-local-typedefs")

# options
set(precisions
"single" "double"
CACHE STRING "Precisions")
"single" "double"
CACHE STRING "Precisions")

include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/config.cmake)

# ------------------------- Third-Party Tests ------------------------------ #
set(BUILD_TESTING
OFF
CACHE BOOL "Build tests")
OFF
CACHE BOOL "Build tests")

# ------------------------ Third-party dependencies ------------------------ #
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/kokkosConfig.cmake)
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/dependencies.cmake)

find_or_fetch_dependency(Kokkos FALSE)
find_or_fetch_dependency(plog TRUE)
find_or_fetch_dependency(toml11 TRUE)
find_or_fetch_dependency(Kokkos FALSE QUIET)
find_or_fetch_dependency(plog TRUE QUIET)
set(DEPENDENCIES Kokkos::kokkos)
include_directories(${plog_SRC}/include)
include_directories(${toml11_SRC})

# -------------------------------- Main code ------------------------------- #
set_precision(${precision})

# MPI
if(${mpi})
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/MPIConfig.cmake)
find_or_fetch_dependency(MPI FALSE REQUIRED)
include_directories(${MPI_CXX_INCLUDE_PATH})
add_compile_options("-D MPI_ENABLED")
set(DEPENDENCIES ${DEPENDENCIES} MPI::MPI_CXX)
endif()

# Output
if(${output})
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/adios2Config.cmake)
find_or_fetch_dependency(adios2 FALSE)
if (NOT DEFINED ENV{HDF5_ROOT})
set(USE_CUSTOM_HDF5 OFF)
if (DEFINED ENV{CONDA_PREFIX})
execute_process(COMMAND bash -c "conda list | grep \"hdf5\" -q"
RESULT_VARIABLE HDF5_INSTALLED)
if (HDF5_INSTALLED EQUAL 0)
set(HDF5_ROOT $ENV{CONDA_PREFIX})
else()
set(USE_CUSTOM_HDF5 ON)
endif()
else()
set(USE_CUSTOM_HDF5 ON)
endif()
if (USE_CUSTOM_HDF5)
message(FATAL_ERROR "HDF5_ROOT is not set. Please set it to the root of the HDF5 installation")
endif()
endif()
find_package(HDF5 REQUIRED)

find_or_fetch_dependency(adios2 FALSE QUIET)
add_compile_options("-D OUTPUT_ENABLED")
if(${mpi})
set(DEPENDENCIES ${DEPENDENCIES} adios2::cxx11_mpi)
else()
Expand All @@ -131,14 +114,18 @@ link_libraries(${DEPENDENCIES})
if(TESTS)
# ---------------------------------- Tests --------------------------------- #
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/tests.cmake)
elseif(BENCHMARK)
# ------------------------------ Benchmark --------------------------------- #
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/benchmark.cmake)
else()
# ----------------------------------- GUI ---------------------------------- #
if(${gui})
find_or_fetch_dependency(nttiny FALSE)
find_or_fetch_dependency(nttiny FALSE QUIET)
endif()

# ------------------------------- Main source ------------------------------ #
set_problem_generator(${pgen})
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src src)
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/report.cmake)
endif()

include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/report.cmake)
24 changes: 16 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,29 @@ Our [detailed documentation](https://entity-toolkit.github.io/) includes everyth

[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)

## Core developers (alphabetical)
## Lead developers

👀 __Yangyang Cai__ {[@StaticObserver](https://github.com/StaticObserver): GRPIC}
☕ __Hayk Hakobyan__ {[@haykh](https://github.com/haykh)}

💁‍♂️ __Alexander Chernoglazov__ {[@SChernoglazov](https://github.com/SChernoglazov): PIC}
🥔 __Jens Mahlmann__ {[@jmahlmann](https://github.com/jmahlmann)}

🍵 __Benjamin Crinquand__ {[@bcrinquand](https://github.com/bcrinquand): GRPIC, cubed-sphere}
💁‍♂️ __Alexander Chernoglazov__ {[@SChernoglazov](https://github.com/SChernoglazov)}

🧋 __Alisa Galishnikova__ {[@alisagk](https://github.com/alisagk)}

🐬 __Sasha Philippov__ {[@sashaph](https://github.com/sashaph)}

🧋 __Alisa Galishnikova__ {[@alisagk](https://github.com/alisagk): GRPIC}
## Contributors (alphabetical)

☕ __Hayk Hakobyan__ {[@haykh](https://github.com/haykh): framework, PIC, GRPIC, cubed-sphere}
🎸 __Ludwig Böss__ {[@LudwigBoess](https://github.com/LudwigBoess): PIC, framework}

👀 __Yangyang Cai__ {[@StaticObserver](https://github.com/StaticObserver): GRPIC}

🍵 __Benjamin Crinquand__ {[@bcrinquand](https://github.com/bcrinquand): GRPIC, cubed-sphere}

🥔 __Jens Mahlmann__ {[@jmahlmann](https://github.com/jmahlmann): framework, MPI, cubed-sphere}
🚂 __Evgeny Gorbunov__ {[@Alcauchy](https://github.com/Alcauchy): PIC, framework}

🐬 __Sasha Philippov__ {[@sashaph](https://github.com/sashaph): all-around}
:radio: __Siddhant Solanki__ {[@sidruns30](https://github.com/sidruns30): framework}

🤷 __Arno Vanthieghem__ {[@vanthieg](https://github.com/vanthieg): framework, PIC}

Expand Down
35 changes: 0 additions & 35 deletions TASKLIST.md

This file was deleted.

17 changes: 17 additions & 0 deletions benchmark/benchmark.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#include "global.h"

#include <iostream>
#include <stdexcept>

auto main(int argc, char* argv[]) -> int {
ntt::GlobalInitialize(argc, argv);
try {
// ...
} catch (const std::exception& e) {
std::cerr << "Error: " << e.what() << std::endl;
GlobalFinalize();
return 1;
}
GlobalFinalize();
return 0;
}
3 changes: 0 additions & 3 deletions cmake/MPIConfig.cmake

This file was deleted.

Loading