Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
306 commits
Select commit Hold shift + click to select a range
0a95296
Add comments
amandinehry Jun 11, 2025
c4a002e
Just silently kill GEOS when a NotAnError is raised
amandinehry Jun 11, 2025
cbc5102
Removed the pointer to an Error Logger object (this is no longer usef…
amandinehry Jun 12, 2025
3318d85
Minor syntax modification
amandinehry Jun 12, 2025
343b830
Renaming ContextInfo in ErrorContext + minor correction on the format…
amandinehry Jun 12, 2025
e22e538
Minor modifications on the GEOS_THROW_IF_GT_MSG message
amandinehry Jun 12, 2025
8de9060
Using GEOS_LOG_RANK instead of GEOS_LOG
amandinehry Jun 12, 2025
6c762e7
Add an enumeration to secure the keys that can be entered for the map…
amandinehry Jun 12, 2025
d288490
Improved code comments
amandinehry Jun 13, 2025
99d9b5b
reverse the change from GEOS_LOG to GEOS_LOG_RANK +empty the object a…
amandinehry Jun 13, 2025
f929f97
minor changes syntax + remove isValidStackTrace() method and replace …
amandinehry Jun 13, 2025
709d8a4
Minor changes: string to string_view when it was possible + add an ad…
amandinehry Jun 16, 2025
051e85b
Remove try/catch in the createFile() and the flushCurrentErrorMsg() m…
amandinehry Jun 16, 2025
517782b
Renaming: flushCurrentErrorMsg() into flushErrorMsg()
amandinehry Jun 16, 2025
2e0e396
Change GEOS_LOG() to GEOS_LOG_RANK()
amandinehry Jun 18, 2025
a83a3a1
initialize the error message line by default
amandinehry Jun 19, 2025
9fe289a
Doxygen comments
amandinehry Jun 24, 2025
da7dc82
Comments added
amandinehry Jun 24, 2025
260133e
Sort contextual information by decreasing priority
amandinehry Jun 24, 2025
e0c876f
Simplification of the for loop which write context information
amandinehry Jun 24, 2025
e1a2128
Changes following comments received on my PR
amandinehry Jun 25, 2025
4811b6c
Unit test implemented
amandinehry Jun 25, 2025
4a8ea5b
evaluate MSG only one time in macros
amandinehry Jul 4, 2025
2b38577
Merge commit '7e85e747ec65cd498ba0e9e4730f79d2692ed0bd' into feature/…
MelReyCG Jul 8, 2025
127f38e
Merge branch 'feature/amandinehry/create-yaml-file-and-structure' of …
amandinehry Jul 21, 2025
e9508f5
Merge remote-tracking branch 'upstream/develop' into feature/amandine…
amandinehry Jul 21, 2025
7fc0ced
🔊 warn the deveveloppers that a yamlFile should not be written if not…
MelReyCG Jul 21, 2025
35f7686
🐛 ⏪ set the --errorsOutput mandatory because of bug + revert optionpa…
MelReyCG Jul 23, 2025
31842a5
✏️ typo
MelReyCG Jul 25, 2025
a1105e4
🎨 uncrustify
MelReyCG Aug 1, 2025
c118dd4
🎨 docs alignement
MelReyCG Aug 1, 2025
4215fad
🎨 format
MelReyCG Aug 1, 2025
507ac66
builder pattern for addContextInfo
MelReyCG Aug 1, 2025
7b4ec52
♻️ refactor of the test: keeping only necessary testing, separated te…
MelReyCG Aug 1, 2025
a01d8ac
🐛 bugfix for test, wrong global instance impacting
MelReyCG Aug 1, 2025
d4c465b
🎨 format
MelReyCG Aug 1, 2025
1e32d65
Merge remote-tracking branch 'origin/develop' into feature/amandinehr…
MelReyCG Aug 1, 2025
6d10e3a
⏪ restored "Rank N:" if error messages
MelReyCG Aug 1, 2025
e9cd64c
test
amandinehry Aug 7, 2025
c7031bf
Merge branch 'feature/amandinehry/create-yaml-file-and-structure' of …
amandinehry Aug 7, 2025
e07d0b7
uncomment the rmoveFile() function
amandinehry Aug 21, 2025
785636b
stack trace management
amandinehry Aug 21, 2025
dd3b844
Merge remote-tracking branch 'amandinehryFork/develop' into feature/a…
MelReyCG Aug 26, 2025
e0bad67
♻️ ✅ New GEOS_ERROR macros with context included + new unit macro uni…
MelReyCG Sep 15, 2025
ab40edc
✅ ♻️ Simplifying + testing macros (GEOS_ERROR_* and GEOS_ASSERT_*) + …
MelReyCG Sep 18, 2025
faa84fa
📝 adding macro docs
MelReyCG Sep 18, 2025
dd97f0e
✨ ✅ adding error cause in unit test
MelReyCG Sep 18, 2025
d708cac
♻️ reordered error & throw macro to group them
MelReyCG Sep 18, 2025
66ab5cb
♻️ ✅ uniformized warning macros
MelReyCG Sep 19, 2025
e6135b1
✅ 🐛 ⚡️ bugfix when callstack is empty + disable callstack for perfs
MelReyCG Sep 19, 2025
589fcfe
♻️ ✅ uniformized throw macros
MelReyCG Sep 19, 2025
6fc4b30
✅ removing _CTX macros from unit test
MelReyCG Sep 22, 2025
77f9fcb
🐛 use streamed cause string to support mpi pointers formatting (not s…
MelReyCG Sep 22, 2025
5747e7f
🐛 last mistake?
MelReyCG Sep 22, 2025
10eb969
♻️ removing all GEOS_*_CTX macros (as GEOS_ERROR, GEOS_WARNING, GEOS_…
MelReyCG Sep 22, 2025
2c5c5f5
🎨 UNCRUSTIFY
MelReyCG Sep 23, 2025
d1642e6
Merge remote-tracking branch 'origin/develop' into feature/amandinehr…
MelReyCG Sep 23, 2025
b3cbb99
Merge remote-tracking branch 'origin/develop' into feature/amandinehr…
MelReyCG Sep 23, 2025
5781a78
✨ allowing to re-throw with GEOS_THROW* macros
MelReyCG Sep 23, 2025
db75e45
📦 shema
MelReyCG Sep 23, 2025
e07ab72
♻️ removing unintended BASE::
MelReyCG Sep 23, 2025
754ed03
Merge remote-tracking branch 'origin/develop' into refactor/dudes/err…
arng40 Sep 24, 2025
83d0c0f
xsd
arng40 Sep 24, 2025
d5d8615
Merge remote-tracking branch 'origin/feature/amandinehry/create-yaml-…
arng40 Sep 24, 2025
1913059
🎨 uncrustify
MelReyCG Sep 25, 2025
6692dd2
🐛 fix stream reset
MelReyCG Sep 25, 2025
29f6fbe
⚰️ unused variable
MelReyCG Sep 25, 2025
d17972f
✨ removing last LVARRAY_* error logging macros
MelReyCG Sep 25, 2025
759e9bb
Merge remote-tracking branch 'origin/develop' into feature/amandinehr…
MelReyCG Sep 25, 2025
1b755b5
✨ removing last LVARRAY_* error logging macros
MelReyCG Sep 25, 2025
3786db4
✅ adapting test with error cause addition
MelReyCG Sep 25, 2025
efa89d8
🐛 GPU Macros Support
MelReyCG Sep 25, 2025
7915205
🎨 uncrustify
MelReyCG Sep 26, 2025
14eefee
Merge branch 'develop' into feature/amandinehry/create-yaml-file-and-…
MelReyCG Sep 26, 2025
500bbfd
🐛 GPU forgotten instruction
MelReyCG Sep 26, 2025
fa8fa54
🐛 added pragmas to manual shadow global logger instance
MelReyCG Sep 26, 2025
a29510b
Merge branch 'feature/amandinehry/create-yaml-file-and-structure-2' o…
MelReyCG Sep 26, 2025
c501a0f
🐛 wrong conversion on GPU
MelReyCG Sep 29, 2025
a07810f
Merge branch 'develop' into feature/amandinehry/create-yaml-file-and-…
MelReyCG Sep 29, 2025
cbb5322
centralize error output
arng40 Sep 29, 2025
c743e15
remvove deplucated log
arng40 Sep 30, 2025
dc13b33
Merge remote-tracking branch 'origin/feature/amandinehry/create-yaml-…
arng40 Sep 30, 2025
355e765
remove rank from arg
arng40 Oct 7, 2025
276606c
Merge remote-tracking branch 'origin/develop' into refactor/dudes/err…
arng40 Nov 5, 2025
3253a0b
fix after merge
arng40 Nov 5, 2025
cf0afc5
doc & fix
arng40 Nov 5, 2025
efcc52d
fix test
arng40 Nov 7, 2025
79b9791
test error
arng40 Nov 12, 2025
d951a16
initialize m_time
arng40 Nov 12, 2025
29dec26
add main for testUnits
arng40 Nov 12, 2025
6be688c
missing std::cout
arng40 Nov 13, 2025
62fa7ec
Merge remote-tracking branch 'origin/develop' into refactor/dudes/err…
arng40 Nov 13, 2025
5f9c74c
Merge remote-tracking branch 'origin/develop' into refactor/dudes/err…
arng40 Nov 20, 2025
95f631e
uncrust
arng40 Nov 21, 2025
df926d5
remove unecessary var
arng40 Nov 21, 2025
07b649a
doxygen
arng40 Nov 21, 2025
2fee6bf
clean
arng40 Nov 21, 2025
93594af
output only once
arng40 Nov 24, 2025
e430ae8
add "__" prefix
arng40 Nov 24, 2025
d5408c9
doxygen
arng40 Nov 24, 2025
17a394a
remove var duplication
arng40 Nov 24, 2025
061f502
fix format
arng40 Nov 24, 2025
450c3b0
add line number
arng40 Nov 24, 2025
d0ff49d
add stream to errorlogger + rename macro in logger
arng40 Nov 25, 2025
628e49c
reove debug log
arng40 Nov 25, 2025
f09d45f
fix test & cleanup
arng40 Nov 25, 2025
ec1feab
remove unecassery dep
arng40 Nov 25, 2025
419ba18
Merge branch 'develop' into refactor/dudes/error-context
arng40 Nov 26, 2025
9d5db85
fix test
arng40 Nov 27, 2025
2c9d6ce
Merge branch 'refactor/dudes/error-context' of https://github.com/GEO…
arng40 Nov 27, 2025
8708f2d
add geos::exception + refacto flushErrorMsg
arng40 Nov 28, 2025
3842caa
update exception inGEOS_THROW to geos::Exception
arng40 Nov 28, 2025
ae0b73c
update what() method
arng40 Nov 28, 2025
96bab37
remove unecessary cond
arng40 Dec 1, 2025
f47e62e
renaming and remove try catch from main
arng40 Dec 1, 2025
9289b82
add GeosExceptions
arng40 Dec 1, 2025
694e64e
clean up
arng40 Dec 1, 2025
b083853
remove unecessary include + some doc
arng40 Dec 1, 2025
b13149d
Merge remote-tracking branch 'origin/develop' into refactor/dudes/err…
arng40 Dec 1, 2025
e1b45f4
missong doc for GeosException
arng40 Dec 1, 2025
976aab5
include error
arng40 Dec 4, 2025
42c53b9
doxygen
arng40 Dec 4, 2025
16c9e77
update doxy
arng40 Dec 4, 2025
30baf23
remove include, + some clean
arng40 Dec 5, 2025
0aeddcf
fix cuda compil
arng40 Dec 8, 2025
ae60c25
move writeToAscii to cpp
arng40 Dec 8, 2025
5a52a75
doxygen
arng40 Dec 8, 2025
c48c52d
add log test
arng40 Dec 10, 2025
bbb72ff
fix log wrong formatting
arng40 Dec 10, 2025
855cf80
update log formatting & output
arng40 Dec 10, 2025
daec006
fix test
arng40 Dec 10, 2025
ab9895b
Uncrustify
arng40 Dec 10, 2025
60a1f3a
Merge branch 'develop' into refactor/dudes/error-context
arng40 Dec 10, 2025
4e74b00
Merge branch 'develop' into refactor/dudes/error-context
arng40 Dec 17, 2025
08973a3
reorder function + add constructor to ErrorContext
arng40 Dec 19, 2025
cee0059
uncrustify & doxygen
arng40 Dec 19, 2025
2a639a7
Merge branch 'develop' into refactor/dudes/error-context
arng40 Dec 19, 2025
a2b31d1
Merge branch 'develop' into refactor/dudes/error-context
arng40 Dec 22, 2025
d4db78b
improve writeToAscii
arng40 Dec 22, 2025
7df78ff
add context to std::exception
arng40 Dec 22, 2025
ac46643
add loggerReport + separate EnumString
arng40 Dec 23, 2025
745c883
first output still draft
arng40 Dec 23, 2025
ce6a7dd
simplify toString
arng40 Dec 23, 2025
abc6d2a
fix encapsulation in ErrorLogger by adding BuilderPattern + improve c…
arng40 Dec 24, 2025
ec7ddc1
uncrustify
arng40 Dec 24, 2025
dd60826
clean and remove write access to private variable
arng40 Dec 24, 2025
d511e16
Squashed commit of the following:
arng40 Dec 24, 2025
417f3b3
fix after merge
arng40 Dec 24, 2025
4a5b4fe
remove redundant lmsg in case of multiple rank
arng40 Dec 24, 2025
35d8707
missing const
arng40 Dec 24, 2025
aa22991
Squashed commit of the following:
arng40 Dec 24, 2025
dfb0c81
Merge remote-tracking branch 'origin/develop' into feat/dudes/warning…
arng40 Dec 24, 2025
38023c2
delete ErrorMsg method & remove unecessary method in Builder
arng40 Jan 5, 2026
62fcf31
extract inerclass & refacto ErrorBuilder
arng40 Jan 7, 2026
1495a68
rename ErrorMsg & adapt errorLogger function called in catch
arng40 Jan 7, 2026
a4e69cd
modify yaml & renaming & fix
arng40 Jan 8, 2026
16057c1
remove debug log
arng40 Jan 8, 2026
3ed52be
update prepareWhat
arng40 Jan 9, 2026
e40167f
update builder
arng40 Jan 9, 2026
b529d7a
rename get method & sort errorContext
arng40 Jan 9, 2026
ec4703c
remove debug
arng40 Jan 9, 2026
fbed3ed
update format
arng40 Jan 9, 2026
e8682c7
add signal test
arng40 Jan 14, 2026
cf1c00f
update initCurrentExcep + add GeosExcp msg + update test
arng40 Jan 14, 2026
aa9d539
add signal test + last remarks
arng40 Jan 15, 2026
6adbae1
Merge remote-tracking branch 'origin/develop' into refactor/dudes/err…
arng40 Jan 15, 2026
b351784
doxygen
arng40 Jan 15, 2026
588084d
uncristify
arng40 Jan 15, 2026
535e87f
small refacto
arng40 Jan 15, 2026
ff2f3fa
alignment
arng40 Jan 15, 2026
359f256
fix review
arng40 Jan 15, 2026
a942101
relocation
arng40 Jan 15, 2026
b528427
fix signal test
arng40 Jan 15, 2026
5eb71ce
format
arng40 Jan 15, 2026
0a5af00
add mutex
arng40 Jan 16, 2026
048b141
Merge remote-tracking branch 'origin/develop' into feat/dudes/warning…
arng40 Jan 16, 2026
a8e9633
Squashed commit of the following:
arng40 Jan 16, 2026
05e8a6a
revert enum string
arng40 Jan 16, 2026
8e112aa
add log part enum string
arng40 Jan 16, 2026
9a1f1b1
switch row/column
arng40 Jan 19, 2026
ea56eb8
doxygen
arng40 Jan 19, 2026
da560e1
🎨 formating consistency
MelReyCG Jan 19, 2026
456e767
add yaml mutex
arng40 Jan 20, 2026
44a54d8
doxygen
arng40 Jan 20, 2026
6f444d6
thread_local put back + renaming
arng40 Jan 20, 2026
7015589
renaming
arng40 Jan 20, 2026
2a377ea
add logHistory
arng40 Jan 21, 2026
fc43a98
clean up header
arng40 Jan 21, 2026
e15f3d9
fix test for now
arng40 Jan 21, 2026
55e2f96
Merge remote-tracking branch 'origin/refactor/dudes/error-context' in…
arng40 Jan 21, 2026
686a73f
Fix test
arng40 Jan 21, 2026
9f63f96
logHistory doxygen
arng40 Jan 21, 2026
0b0ef4d
doxygen
arng40 Jan 21, 2026
9296d6d
update table reporting test
arng40 Jan 22, 2026
c886b9e
Merge branch 'develop' into refactor/dudes/error-context
MelReyCG Jan 26, 2026
99849aa
🐛simple compil fix
MelReyCG Jan 26, 2026
dd11209
💄adding forgotten space line at end of message
MelReyCG Jan 26, 2026
f3c4bc7
💄small layout proposal
MelReyCG Jan 26, 2026
1cda08b
Merge branch 'develop' into refactor/dudes/error-context
arng40 Jan 27, 2026
d8ef456
uncrustify
arng40 Jan 27, 2026
d6f00ac
Merge branch 'refactor/dudes/error-context' of https://github.com/GEO…
arng40 Jan 27, 2026
3a1983b
Merge branch 'develop' into refactor/dudes/error-context
arng40 Jan 28, 2026
59ad659
attempt clang bug
arng40 Jan 28, 2026
c9d8e44
update rv
arng40 Jan 28, 2026
57fb5bd
structure for getting total errormsg
arng40 Jan 28, 2026
18bf539
add MPI (draft)
arng40 Jan 28, 2026
e6843d8
remove function
arng40 Jan 28, 2026
4298b30
uncr
arng40 Jan 28, 2026
fec93ac
temporary log
arng40 Jan 28, 2026
5932b5c
Merge remote-tracking branch 'origin/refactor/dudes/error-context' in…
arng40 Jan 28, 2026
feaf4c0
1st part packing
arng40 Feb 2, 2026
aa925c7
Merge remote-tracking branch 'origin/develop' into feat/dudes/warning…
arng40 Feb 3, 2026
012c5a8
setup MPI (draft)
arng40 Feb 23, 2026
5abd889
Merge remote-tracking branch 'origin/develop' into feat/dudes/warning…
arng40 Feb 23, 2026
ea9cd5f
displaying correctly
arng40 Feb 23, 2026
09ceacc
update to unique_ptr
arng40 Feb 24, 2026
e002df7
update smart_ptr buffer to vector< buffer_unit_type >
arng40 Feb 26, 2026
5faba4c
Merge remote-tracking branch 'origin/develop' into feat/dudes/warning…
arng40 Feb 26, 2026
f0efb2a
fix bug
arng40 Feb 27, 2026
8747eb4
gather by tuple
arng40 Feb 27, 2026
e157689
MPI batched by tuple
arng40 Feb 27, 2026
84fab9b
remove unecessary code / include
arng40 Feb 27, 2026
3133435
remove enumString from logPart
arng40 Feb 27, 2026
28eedf4
clean up & doxygen
arng40 Mar 2, 2026
054bef0
add log part and remove import
arng40 Mar 2, 2026
c72cd76
errorContext => diagnosticContext
arng40 Mar 2, 2026
3bd0dfc
Merge remote-tracking branch 'origin/develop' into feat/dudes/warning…
arng40 Mar 2, 2026
ff38be6
uncrustify + doxygen
arng40 Mar 2, 2026
e55a445
remove uneccesary ";"
arng40 Mar 2, 2026
c32d8eb
uniformize default allocator
arng40 Mar 2, 2026
a923dfd
fix logHistory hash + revert stdContainer default bound checking
arng40 Mar 2, 2026
10df7ad
uniformize test
arng40 Mar 2, 2026
45753f0
setbounds checking to off for realease
arng40 Mar 2, 2026
1ee6c7b
revert ci and let realease to false
arng40 Mar 2, 2026
0cfb65e
test debbuging
arng40 Mar 3, 2026
7c4a220
Merge remote-tracking branch 'origin/develop' into feat/dudes/warning…
arng40 Mar 3, 2026
00865f4
include manually
arng40 Mar 3, 2026
c0343fa
same for fixedsizequeue
arng40 Mar 3, 2026
fa00c7d
comment geos
arng40 Mar 3, 2026
aed8db1
remove files
arng40 Mar 3, 2026
3020d1b
addRow template
arng40 Mar 3, 2026
d563192
revert on stdVectorWrapper
arng40 Mar 3, 2026
edd7100
reset default allocator
arng40 Mar 3, 2026
73ccf6a
comment suspect line
arng40 Mar 3, 2026
c7332ee
function def
arng40 Mar 3, 2026
f851adc
remove using fromm cpp
arng40 Mar 3, 2026
1b724b1
test
arng40 Mar 3, 2026
564b8dc
add assert
arng40 Mar 3, 2026
d112ef6
remove default value from useboundchecking
arng40 Mar 3, 2026
872c04e
remove static_assart
arng40 Mar 3, 2026
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
82 changes: 41 additions & 41 deletions .github/workflows/ci_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -150,47 +150,47 @@ jobs:
fail-fast : false
matrix:
include:
- name: Ubuntu (20.04, gcc 9.4.0, open-mpi 4.0.3)
CMAKE_BUILD_TYPE: Release
DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc9
BUILD_SHARED_LIBS: ON
ENABLE_HYPRE: OFF
ENABLE_TRILINOS: ON
GEOS_ENABLE_BOUNDS_CHECK: ON
HOST_CONFIG: /spack-generated.cmake

- name: Ubuntu debug (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces
BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests"
CMAKE_BUILD_TYPE: Debug
DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10
BUILD_SHARED_LIBS: ON
ENABLE_HYPRE: OFF
ENABLE_TRILINOS: ON
GEOS_ENABLE_BOUNDS_CHECK: ON
RUNS_ON: streak2
NPROC: 8
DOCKER_RUN_ARGS: "--cpus=8 --memory=256g --runtime=nvidia -v /etc/pki/tls/certs/ca-bundle.crt:/etc/pki/tls/certs/ca-bundle.crt:ro -v /etc/pki/tls/certs/ca-bundle.crt:/certs/ca-bundle.crt:ro"

HOST_CONFIG: /spack-generated.cmake

- name: Ubuntu (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces
CMAKE_BUILD_TYPE: Release
DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10
BUILD_SHARED_LIBS: ON
ENABLE_HYPRE: OFF
ENABLE_TRILINOS: ON
GEOS_ENABLE_BOUNDS_CHECK: ON
HOST_CONFIG: /spack-generated.cmake

- name: Ubuntu (22.04, gcc 11.4.0, open-mpi 4.1.2)
CMAKE_BUILD_TYPE: Release
DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc11
ENABLE_HYPRE: ON
ENABLE_TRILINOS: OFF
BUILD_SHARED_LIBS: ON
GEOS_ENABLE_BOUNDS_CHECK: OFF
GCP_BUCKET: geosx/ubuntu22.04-gcc11
HOST_CONFIG: /spack-generated.cmake
# - name: Ubuntu (20.04, gcc 9.4.0, open-mpi 4.0.3)
# CMAKE_BUILD_TYPE: Release
# DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc9
# BUILD_SHARED_LIBS: ON
# ENABLE_HYPRE: OFF
# ENABLE_TRILINOS: ON
# GEOS_ENABLE_BOUNDS_CHECK: ON
# HOST_CONFIG: /spack-generated.cmake

# - name: Ubuntu debug (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces
# BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests"
# CMAKE_BUILD_TYPE: Debug
# DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10
# BUILD_SHARED_LIBS: ON
# ENABLE_HYPRE: OFF
# ENABLE_TRILINOS: ON
# GEOS_ENABLE_BOUNDS_CHECK: ON
# RUNS_ON: streak2
# NPROC: 8
# DOCKER_RUN_ARGS: "--cpus=8 --memory=256g --runtime=nvidia -v /etc/pki/tls/certs/ca-bundle.crt:/etc/pki/tls/certs/ca-bundle.crt:ro -v /etc/pki/tls/certs/ca-bundle.crt:/certs/ca-bundle.crt:ro"

# HOST_CONFIG: /spack-generated.cmake

# - name: Ubuntu (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces
# CMAKE_BUILD_TYPE: Release
# DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10
# BUILD_SHARED_LIBS: ON
# ENABLE_HYPRE: OFF
# ENABLE_TRILINOS: ON
# GEOS_ENABLE_BOUNDS_CHECK: OFF
# HOST_CONFIG: /spack-generated.cmake

# - name: Ubuntu (22.04, gcc 11.4.0, open-mpi 4.1.2)
# CMAKE_BUILD_TYPE: Release
# DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc11
# ENABLE_HYPRE: ON
# ENABLE_TRILINOS: OFF
# BUILD_SHARED_LIBS: ON
# GEOS_ENABLE_BOUNDS_CHECK: OFF
# GCP_BUCKET: geosx/ubuntu22.04-gcc11
# HOST_CONFIG: /spack-generated.cmake

- name: Ubuntu (22.04, gcc 12.3.0, open-mpi 4.1.2)
CMAKE_BUILD_TYPE: Release
Expand Down
6 changes: 6 additions & 0 deletions src/coreComponents/common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,14 @@ set( common_headers
GEOS_RAJA_Interface.hpp
GeosxMacros.hpp
MemoryInfos.hpp
logger/DiagnosticMessage.hpp
logger/GeosExceptions.hpp
logger/GeosExceptions.hpp
logger/Logger.hpp
logger/ErrorHandling.hpp
logger/ExternalErrorHandler.hpp
logger/LogHistory.hpp
logger/MsgType.hpp
MpiWrapper.hpp
Path.hpp
Span.hpp
Expand Down Expand Up @@ -71,6 +75,7 @@ endif( )
# Specify all sources
#
set( common_sources
format/EnumStrings.cpp
format/table/TableLayout.cpp
format/table/TableFormatter.cpp
format/table/TableData.cpp
Expand All @@ -80,6 +85,7 @@ set( common_sources
logger/Logger.cpp
logger/ErrorHandling.cpp
logger/ExternalErrorHandler.cpp
logger/LogHistory.cpp
BufferAllocator.cpp
MemoryInfos.cpp
MpiWrapper.cpp
Expand Down
17 changes: 3 additions & 14 deletions src/coreComponents/common/StdContainerWrappers.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,6 @@ namespace geos
namespace internal
{



/**
* Default allocator type for std::vector.
* This can be specialized if a different allocator is needed.
* Required to avoid recursive evaluation in StdVectorWrapper.
* @tparam T Type of elements in the vector.
*/
template< typename T >
using DefaultAllocator = std::allocator< T >;

/**
* Wrapper for std::vector that allows toggling between bounds-checked access
* (using at()) and unchecked access (using operator[]).
Expand All @@ -63,8 +52,8 @@ using DefaultAllocator = std::allocator< T >;
* If false, uses operator[] for unchecked access.
*/
template< typename T,
typename Allocator = DefaultAllocator< T >,
bool USE_BOUNDS_CHECKING = false >
bool USE_BOUNDS_CHECKING,
typename Allocator = std::allocator< T > >
class StdVectorWrapper : public std::vector< T, Allocator >
{
public:
Expand Down Expand Up @@ -159,7 +148,7 @@ class StdVectorWrapper : public std::vector< T, Allocator >
* @tparam Allocator Allocator type for the vector.
*/
template< typename T, typename Allocator = std::allocator< T > >
using stdVector = internal::StdVectorWrapper< T, Allocator, USE_STD_CONTAINER_BOUNDS_CHECKING >;
using stdVector = internal::StdVectorWrapper< T, USE_STD_CONTAINER_BOUNDS_CHECKING, Allocator>;



Expand Down
42 changes: 42 additions & 0 deletions src/coreComponents/common/format/EnumStrings.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/*
* ------------------------------------------------------------------------------------------------------------
* SPDX-License-Identifier: LGPL-2.1-only
*
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 TotalEnergies
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
* Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
* See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
* ------------------------------------------------------------------------------------------------------------
*/

/**
* @file EnumStrings.cpp
*/

#include "common/format/EnumStrings.hpp"
#include "common/logger/Logger.hpp"

namespace geos
{

void internal::EnumErrorMessageToString( size_t index,
string const & typeName,
std::size_t size )
{
GEOS_THROW( "Invalid value " << index << " of type " << typeName<< ". Valid range is 0.." << size - 1,
InputError );
}

void internal::EnumErrorMessageFromString( string const & s,
string const & typeName,
string const & concat )
{
GEOS_THROW( "Invalid value '" << s << "' of type " << typeName << ". Valid options are: " << concat,
InputError );
}

}
40 changes: 27 additions & 13 deletions src/coreComponents/common/format/EnumStrings.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
#include "common/format/StringUtilities.hpp"
// #include "codingUtilities/RTTypes.hpp"
#include "common/DataTypes.hpp"
#include "common/logger/Logger.hpp"
#include "common/format/Format.hpp"

#include <iostream>
Expand All @@ -40,6 +39,25 @@ namespace geos

namespace internal
{

/**
* @brief Raise a throw error in case of bad use of enum::toString
* @param index The index of the enum causing the error
* @param typeName The enum name
* @param size The size of the enum
*/
void EnumErrorMessageToString( size_t index, string const & typeName, std::size_t size );

/**
* @brief Raise a throw error in case of bad use of enum::FromString
* @param s The string that not belonging to the enum
* @param typeName The enum name
* @param size The string concatenation of the enum
*/
void EnumErrorMessageFromString( string const & s,
string const & typeName,
string const & concat );

/**
* @brief Simple compile-time variadic function that counts its arguments.
* @tparam ARGS variadic pack of argument types
Expand Down Expand Up @@ -152,12 +170,10 @@ struct EnumStrings
auto const & strings = get();
std::size_t size = std::distance( std::begin( strings ), std::end( strings ) );
base_type const index = static_cast< base_type >( e );
GEOS_THROW_IF( index >= LvArray::integerConversion< base_type >( size ),
GEOS_FMT( "Invalid value {} of type {}. Valid range is 0..{}",
index,
getEnumTypeNameString( enum_type{} ),
size - 1 ),
InputError );
if( index >= LvArray::integerConversion< base_type >( size ))
{
internal::EnumErrorMessageToString( index, getEnumTypeNameString( enum_type{} ), size - 1 );
}
return strings[ index ];
}

Expand All @@ -170,12 +186,10 @@ struct EnumStrings
{
auto const & strings = get();
auto const it = std::find( std::begin( strings ), std::end( strings ), s );
GEOS_THROW_IF( it == std::end( strings ),
GEOS_FMT( "Invalid value '{}' of type {}. Valid options are: {}",
s,
getEnumTypeNameString( enum_type{} ),
concat( ", " ) ),
InputError );
if( it == std::end( strings ))
{
internal::EnumErrorMessageFromString( s, getEnumTypeNameString( enum_type{} ), EnumStrings::concat( ", " ));
}
enum_type const e = static_cast< enum_type >( LvArray::integerConversion< base_type >( std::distance( std::begin( strings ), it ) ) );
return e;
}
Expand Down
10 changes: 7 additions & 3 deletions src/coreComponents/common/format/LogPart.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,22 @@

#include "LogPart.hpp"
#include "common/format/StringUtilities.hpp"
#include "common/logger/ErrorHandling.hpp"
#include <algorithm>

using namespace geos::stringutilities;
namespace geos
{

LogPart::LogPart( string_view logPartTitle, bool enableOutput )
LogPart::LogPart( string const & logpartName, bool enableOutput )
{
m_formattedStartDescription.m_title = logPartTitle;
m_formattedEndDescription.m_title = GEOS_FMT( "{}{}", m_prefixEndTitle, logPartTitle );
m_formattedStartDescription.m_title = logpartName;
m_formattedEndDescription.m_title = GEOS_FMT( "{}{}", m_prefixEndTitle, logpartName );

m_enableOutput = enableOutput;

ErrorLogger::global().setCurrentLogPart( logpartName );

}

void LogPart::addDescription( string_view description )
Expand Down
6 changes: 2 additions & 4 deletions src/coreComponents/common/format/LogPart.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,7 @@
#ifndef GEOS_COMMON_FORMAT_LOGPART_HPP
#define GEOS_COMMON_FORMAT_LOGPART_HPP

#include "common/DataTypes.hpp"
#include "common/format/Format.hpp"
#include "common/format/StringUtilities.hpp"
#include "common/format/EnumStrings.hpp"

namespace geos
{
Expand All @@ -39,7 +37,7 @@ class LogPart
* @param logPartTitle The title who will be used for top and bottom LogPart
* @param enableOutput Boolean to activate or not csv output
*/
LogPart( string_view logPartTitle, bool enableOutput );
LogPart( string const & logPartTitle, bool enableOutput );

/**
* @brief Add a description to the top LogPart
Expand Down
6 changes: 4 additions & 2 deletions src/coreComponents/common/format/table/TableLayout.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,17 @@ void TableLayout::addColumns( stdVector< TableLayout::Column > const & columns )
}
}

void TableLayout::addColumn( string_view columnName )
TableLayout::Column & TableLayout::addColumn( string_view columnName )
{
TableLayout::Column column = TableLayout::Column().setName( columnName );
m_tableColumns.emplace_back( column );
return m_tableColumns.back();
}

void TableLayout::addColumn( TableLayout::Column const & column )
TableLayout::Column & TableLayout::addColumn( TableLayout::Column const & column )
{
m_tableColumns.emplace_back( column );
return m_tableColumns.back();
}

TableLayout & TableLayout::setTitle( string_view title )
Expand Down
6 changes: 4 additions & 2 deletions src/coreComponents/common/format/table/TableLayout.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -696,14 +696,16 @@ class TableLayout
/**
* @brief Create and add a column to the columns vector given a string
* @param columnName The column name
* @return The current tableLayout
*/
void addColumn( string_view columnName );
TableLayout::Column & addColumn( string_view columnName );

/**
* @brief Create and add a column to the columns vector given a Column
* @param column Vector containing addition information on the column
* @return The current tableLayout
*/
void addColumn( TableLayout::Column const & column );
TableLayout::Column & addColumn( TableLayout::Column const & column );

protected:

Expand Down
3 changes: 3 additions & 0 deletions src/coreComponents/common/initializeEnvironment.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,9 @@ void setupEnvironment( int argc, char * argv[] )
void cleanupEnvironment()
{
MemoryLogging::getInstance().memoryStatsReport();
if( ErrorLogger::global().getLoggerReportData().getDiagnosticHistory().size()>0 )
ErrorLogger::global().getLoggerReportData().diagnosticStatsReport();

LvArray::system::resetSignalHandling();
finalizeLogger();
finalizeCaliper();
Expand Down
Loading
Loading