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

Upgrading ADIOS file format to BP5 for SCORPIO #490

Merged
merged 2 commits into from Nov 1, 2022

Conversation

dqwu
Copy link
Contributor

@dqwu dqwu commented Oct 18, 2022

This patch is provided by @tkurc (Tahsin Kurc), which upgrades
ADIOS file format from BP4 to BP5.

Additionally, there are some code changes to use a subset of tasks
as ADIOS I/O nodes along with buffer merging to improve the write
performance of ADIOS type.

@dqwu dqwu added enhancement Perf Next Release Enhancements slated for the upcoming (next) release ADIOS All ADIOS related issues/enhancements labels Oct 18, 2022
@dqwu dqwu self-assigned this Oct 18, 2022
@dqwu
Copy link
Contributor Author

dqwu commented Oct 18, 2022

For some SCORPIO unit tests to pass with BP5 format, a patch
(see ornladios/ADIOS2#3345) needs to be applied to latest
ADIOS2 2.8.3 release.

@dqwu
Copy link
Contributor Author

dqwu commented Oct 18, 2022

Also, there are some confirmed memory leaks with latest ADIOS2 2.8.3
BP5 engine code, reproducible with examples/c/example1.c.

==26252==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 8 byte(s) in 1 object(s) allocated from:
    #0 0x7fbbd2ab9acb in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/liblsan.so.0+0xeacb)
    #1 0x5618650dde55 in adios2::core::engine::BP5Writer::MarshalAttributes() ADIOS2-2.8.3/source/adios2/engine/bp5/BP5Writer.cpp:464

SUMMARY: LeakSanitizer: 8 byte(s) leaked in 1 allocation(s).

src/clib/pio.h Outdated Show resolved Hide resolved
src/clib/pio_darray.c Outdated Show resolved Hide resolved
src/clib/pio_file.c Outdated Show resolved Hide resolved
src/clib/pio_nc.c Outdated Show resolved Hide resolved
@dqwu dqwu force-pushed the dqwu/adios2_bp5_integration branch 2 times, most recently from 28fdcdd to 188fffc Compare October 26, 2022 22:56
This patch is provided by Tahsin Kurc, which upgrades ADIOS file
format from BP4 to BP5.

Additionally, there are some code changes to use a subset of tasks
as ADIOS I/O nodes along with buffer merging to improve the write
performance of ADIOS type.

MPI_COMM_NULL (instead of NULL) is now utilized to initialize or
free those MPI comms used by ADIOS type.
@dqwu dqwu force-pushed the dqwu/adios2_bp5_integration branch from f7facb9 to 832fce3 Compare October 28, 2022 21:45
PIO_MAX_ADIOS_DECOMPS: maximum number of decompositions registered
with ADIOS type (default value is 64K)

PIO_MAX_CACHED_STEPS_FOR_ADIOS: maximum number of cached application
steps for ADIOS type (default value is 128)

Until ADIOS end step is called, data will be cached in memory. It
may be necessary to reduce PIO_MAX_CACHED_STEPS_FOR_ADIOS for large
runs on machines with relatively small amount of memory.
@dqwu dqwu force-pushed the dqwu/adios2_bp5_integration branch from 832fce3 to 9cf4aba Compare October 28, 2022 22:23
dqwu added a commit that referenced this pull request Oct 29, 2022
This patch is provided by @tkurc (Tahsin Kurc), which upgrades
ADIOS file format from BP4 to BP5.

Additionally, there are some code changes to use a subset of tasks
as ADIOS I/O nodes along with buffer merging to improve the write
performance of ADIOS type.

* dqwu/adios2_bp5_integration:
  Making some parameters used by ADIOS type configurable
  Miscellaneous enhancements and bug fixes for ADIOS type in SCORPIO
@dqwu dqwu merged commit d0594ce into master Nov 1, 2022
@dqwu dqwu deleted the dqwu/adios2_bp5_integration branch November 1, 2022 17:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ADIOS All ADIOS related issues/enhancements enhancement Next Release Enhancements slated for the upcoming (next) release Perf
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants