ADIOS2 issueshttps://code.ornl.gov/pnb/ADIOS2/-/issues2020-03-04T20:40:40Zhttps://code.ornl.gov/pnb/ADIOS2/-/issues/1990TransportMan mods essentially disable background Opens2020-03-04T20:40:40ZEisenhauer, GregTransportMan mods essentially disable background OpensSo, while PR #1984 does resolve TSAN's concerns, it looks like it does so at the cost of nearly completely eliminating the optimization for which the async was introduced. Specifically, we're waiting for the async thread at the beginnin...So, while PR #1984 does resolve TSAN's concerns, it looks like it does so at the cost of nearly completely eliminating the optimization for which the async was introduced. Specifically, we're waiting for the async thread at the beginning of every TransportMan call. BP3/4 call OpenFilesAsync inside InitTransports(), and in each the very next subroutine call is InitBPBuffers(), which calls TransportManager::GetTransportsTypes(), which now waits for the async task so that it can put the transport type in the BP buffers that it's initializing. The goal of letting substantial other work get done before we wait for the Open() is not fulfilled in any meaningful way.
However, this current arrangement seems unnecessary and I'm hoping @pnorbert can confirm. GetTransportsTypes returns a vector of strings (because what's not a string?) which match the vector of filenames that the OpenFilesAsync call is opening and which get passed to PetProcessGroupIndex. Currently these file type values are set only after the files are opened, hence the required wait to get them. But it seems like the file types should be predictable. I.E. don't we know the type of the file we're trying to create before we create it? (Types here are "File_NULL", "File_POSIX", "File_fstream", "File_stdio", and "WAN_zmq".). So presumably this could be refactored so that we actually achieved some asynchrony here.. Norbert?https://code.ornl.gov/pnb/ADIOS2/-/issues/1629TestBPTimeAggregationADIOS2 code fails when using bp3 engine2020-03-03T21:17:35ZPodhorszki, NorbertTestBPTimeAggregationADIOS2 code fails when using bp3 engine*Created by: lwan86*
When the code is run using bp3 engine with time aggregation feature enabled (set "FlushStepsCount" greater than 1), it fails the test. *Created by: lwan86*
When the code is run using bp3 engine with time aggregation feature enabled (set "FlushStepsCount" greater than 1), it fails the test. 2.6.0 Production Releasehttps://code.ornl.gov/pnb/ADIOS2/-/issues/1732Problem installing version 2.4.0, parallel build2020-03-03T21:10:02ZPodhorszki, NorbertProblem installing version 2.4.0, parallel build*Created by: dpugmire*
Ahoy!
I'm having a problem installing version 2.4.0, parallel.
cmake version is 13.4.5
ran cmake as follows:
cmake -DADIOS2_BUILD_EXAMPLES:BOOL=OFF -DADIOS2_BUILD_TESTING:BOOL=OFF -DADIOS2_USE_ZeroMQ:BOOL=OF...*Created by: dpugmire*
Ahoy!
I'm having a problem installing version 2.4.0, parallel.
cmake version is 13.4.5
ran cmake as follows:
cmake -DADIOS2_BUILD_EXAMPLES:BOOL=OFF -DADIOS2_BUILD_TESTING:BOOL=OFF -DADIOS2_USE_ZeroMQ:BOOL=OFF -DADIOS2_USE_Fortran:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=install_path_dir -DCMAKE_C_FLAGS:STRING=" -O2" -DCMAKE_CXX_FLAGS:STRING=" -O2" -DADIOS2_USE_SST:BOOL=ON -DADIOS2_USE_MPI:BOOL=ON -DCMAKE_C_COMPILER:STRING=/usr/bin/gcc -DCMAKE_CXX_COMPILER:STRING=/usr/bin/g++ -DCMAKE_MPI_C_COMPILER=/usr/bin/mpicc -DCMAKE_MPI_CXX_COMPILER=/usr/bin/mpicxx ..
build works fine.
However, make install fails with this message:
CMake Error at CMakeLists.txt:5 (find_package):
By not providing "Findadios2_mpi.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"adios2_mpi", but CMake did not find one.
Could not find a package configuration file provided by "adios2_mpi" with
any of the following names:
adios2_mpiConfig.cmake
adios2_mpi-config.cmake
Add the installation prefix of "adios2_mpi" to CMAKE_PREFIX_PATH or set
"adios2_mpi_DIR" to a directory containing one of the above files. If
"adios2_mpi" provides a separate development package or SDK, be sure it has
been installed.
-- Configuring incomplete, errors occurred!
See also "/tmp/tmp.LeCK43E66t/CMakeFiles/CMakeOutput.log".
Failed
I seek wisdom.
Thanks,
Dave
https://code.ornl.gov/pnb/ADIOS2/-/issues/1780Installation on CORI2020-03-03T21:08:42ZPodhorszki, NorbertInstallation on CORI*Created by: abidmalikwaterloo*
I am trying to install ADIOS2 on Cori. I have all the dependencies for the ADIOS2 loaded and PATH and LD_LIBRARY_PATH updated accordingly
```
***************************
module load cuda
module load ...*Created by: abidmalikwaterloo*
I am trying to install ADIOS2 on Cori. I have all the dependencies for the ADIOS2 loaded and PATH and LD_LIBRARY_PATH updated accordingly
```
***************************
module load cuda
module load gcc/8.1.1-openacc-gcc-8-branch-20190215
module load zlib/1.2.11
module load bzip2/1.0.6
module load cmake/3.14.4
module load module load openmpi/3.1.4
module unload darshan
export PATH=$PATH:/global/homes/a/amalik/CODAR/libzmq/install/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/global/homes/a/amalik/CODAR/libzmq/install/lib
export PATH=$PATH:/global/homes/a/amalik/CODAR/libfabric-1.7.0/install/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/global/homes/a/amalik/CODAR/libfabric-1.7.0/install/lib
export PATH=$PATH:/global/homes/a/amalik/CODAR/adios2/sz-1.4.13.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/global/homes/a/amalik/CODAR/adios2/sz-1.4.13.0/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/global/homes/a/amalik/CODAR/c-blosc/lib
****************************
```
I tried to build ADIOS2
```
cmake -DCMAKE_INSTALL_PREFIX=/global/homes/a/amalik/CODAR/adios2/ADIOS2/ -DCMAKE_C_COMPILER=/usr/common/software/gcc/8.1.1-openacc-gcc-8-branch-20190215/bin/gcc -DCMAKE_CXX_COMPILER=/usr/common/software/gcc/8.1.1-openacc-gcc-8-branch-20190215/bin/g++ -DCMAKE_FORTRAN_COMPILER=/usr/common/software/gcc/8.1.1-openacc-gcc-8-branch-20190215/bin/gfortran -DADIOS2_USE_MPI=ON -DADIOS2_USE_HDF5=OFF -DADIOS2_USE_ZeroMQ=ON -DADIOS2_USE_Fortran=ON -DADIOS2_USE_Python=OFF -DADIOS2_USE_SST=ON -DADIOS2_USE_BZip2=ON -DADIOS2_USE_ZFP=OFF -DADIOS2_USE_DataMan=ON -DADIOS2_USE_Profiling=OFF -DADIOS2_USE_Blosc=ON -DBUILD_SHARED_LIBS=ON -DLIBFABRIC_ROOT=/global/homes/a/amalik/CODAR/libfabric-1.7.0 -DSZ_ROOT=/global/homes/a/amalik/CODAR/adios2/sz-1.4.13.0 -DSZ_INCLUDE_DIR=/global/homes/a/amalik/CODAR/adios2/sz-1.4.13.0/include -DSZ_LIBRARY=/global/homes/a/amalik/CODAR/adios2/sz-1.4.13.0/lib/libSZ.a -DBLOSC_INCLUDE_DIR=/global/homes/a/amalik/CODAR/c-blosc/include -DBLOSC_LIBRARY=/global/homes/a/amalik/CODAR/c-blosc/lib/libblosc.a -DADIOS2_BUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DMPIEXEC_MAX_NUMPROCS=16 ..
``
but I am getting the following:
``
-- Could NOT find SZ (missing: ZSTD_LIBRARY)
-- Could NOT find MGARD (missing: MGARD_LIBRARY MGARD_INCLUDE_DIR)
CMake Error at /global/common/sw/cray/cnl7/haswell/cmake/3.14.4/gcc/8.2.0/2hef55n/share/cmake-3.14/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find ZeroMQ (missing: ZeroMQ_LIBRARY ZeroMQ_INCLUDE_DIR)
(Required is at least version "4.1")
Call Stack (most recent call first):
/global/common/sw/cray/cnl7/haswell/cmake/3.14.4/gcc/8.2.0/2hef55n/share/cmake-3.14/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
```
I am taking care of SZ library and ZeroMQ library. But still getting the error. I am following the steps for the Summit for ADIOS2. Do you have anything/installation script for Cori?https://code.ornl.gov/pnb/ADIOS2/-/issues/1863cmake install with relative path fails2020-03-03T21:05:25ZPodhorszki, Norbertcmake install with relative path fails*Created by: dpugmire*
make install will fail if I use an install dir with a relative path in it.
For instance: I have a build and install dir that are in the same subdir.
cmake -DCMAKE_INSTALL_PREFIX=../install SRC-DIR
make wi...*Created by: dpugmire*
make install will fail if I use an install dir with a relative path in it.
For instance: I have a build and install dir that are in the same subdir.
cmake -DCMAKE_INSTALL_PREFIX=../install SRC-DIR
make will be fine, but make install will fail.
(sorry i put the wrong command in... this is an edit. I did use the cmake_install_previx)
https://code.ornl.gov/pnb/ADIOS2/-/issues/1802SZ compression of 3D single precision data2020-03-03T20:59:11ZPodhorszki, NorbertSZ compression of 3D single precision data*Created by: tleger26*
I’m trying to use SZ through ADIOS2 to compress some single precision data and have run into an odd issue. When passing the data in 3D matrix form, the decompressed data for some portions of the domain are signif...*Created by: tleger26*
I’m trying to use SZ through ADIOS2 to compress some single precision data and have run into an odd issue. When passing the data in 3D matrix form, the decompressed data for some portions of the domain are significantly (orders of magnitude) different from the original data being compressed, regardless of the error bound mode or level specified. If I convert the data into a vector (1D array) first and then pass it into ADIOS2, then the SZ compression works as expected. I’ve also tried using ZFP 0.5.5 and it works as expected for data in both 3D matrix and vector form. I’ve tried version 2.4.0 and 2.5.0 of ADIOS2, along with SZ 2.1.5.3, 2.1.6.0, and 2.1.7.0, all with the same results. Has anyone else tried and/or experienced this behaviour?https://code.ornl.gov/pnb/ADIOS2/-/issues/1938Flexible Init with/without config file cannot be added to applications2020-03-03T20:12:04ZPodhorszki, NorbertFlexible Init with/without config file cannot be added to applications*Created by: pnorbert*
I want to recover from failure of not finding the xml config and just initialize with default. This results in non-zero ranks hanging in broadcast.
```
try {
ad = new adios2::ADIOS("adios2_config....*Created by: pnorbert*
I want to recover from failure of not finding the xml config and just initialize with default. This results in non-zero ranks hanging in broadcast.
```
try {
ad = new adios2::ADIOS("adios2_config.xml", world, adios2::DebugON);
} catch (std::ios_base::failure &e) {
ad = new adios2::ADIOS(world, adios2::DebugON);
}
```
When the config file is not present, rank 0 throws an exception, which is caught with the catch statement and then a default init is called. However, all other processes are stuck in a broadcast call for receiving the file content from rank 0 in adiosXML.cpp::ParseConfigXML()
Suggestion: in adiosComm.cpp::Comm::BroadcastFile, the exception should be caught (on rank 0) and then the broadcast should happen with some constant string that indicates error. After that all process should throw the same exception. 2.6.0 Production Releasehttps://code.ornl.gov/pnb/ADIOS2/-/issues/1811ADIOS 2.5.0: Build issue with ZFP2020-03-03T17:40:05ZPodhorszki, NorbertADIOS 2.5.0: Build issue with ZFP*Created by: pnorbert*
cmake configuration does not find my ZFP installation on my VM.
This did work with v2.4.0:
```
adios@adiosVM:~/Software/ADIOS2/build$
$ cmake -DCMAKE_INSTALL_PREFIX=/opt/adios2 -DADIOS2_USE_MPI=ON \
...*Created by: pnorbert*
cmake configuration does not find my ZFP installation on my VM.
This did work with v2.4.0:
```
adios@adiosVM:~/Software/ADIOS2/build$
$ cmake -DCMAKE_INSTALL_PREFIX=/opt/adios2 -DADIOS2_USE_MPI=ON \
-DADIOS2_USE_Fortran=ON -DADIOS2_USE_Python=ON \
-DADIOS2_USE_HDF5=ON -DHDF5_ROOT=/opt/hdf5-parallel \
-DBLOSC_ROOT=/opt/blosc \
-DADIOS2_USE_MGARD=ON -DMGARD_ROOT=/opt/MGARD \
-DSZ_ROOT=/opt/SZ/2.0.2.1 \
-DZFP_ROOT=/opt/zfp/0.5.5 \
-DADIOS2_BUILD_TESTING=OFF \
-DADIOS2_BUILD_EXAMPLES_EXPERIMENTAL=OFF \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DPYTHON_EXECUTABLE=/usr/bin/python3 ..
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
...
-- Found Blosc: /opt/blosc/lib/libblosc.so (found version "..")
-- Found BZip2: /usr/lib/x86_64-linux-gnu/libbz2.so (found version "1.0.6")
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Found ZFP: /opt/zfp/0.5.5/lib/libzfp.a
-- Found SZ: /opt/SZ/2.0.2.1/lib/libSZ.a
-- Found MGARD: /opt/MGARD/lib/libmgard.a
-- Found ZLIB: /opt/SZ/2.0.2.1/lib/libzlib.a (found version "1.2.8")
...
```
The same command with v2.5.0 does not find ZFP:
```
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Blosc: /opt/blosc/lib/libblosc.so (found suitable version "1.17.1", minimum required is "1.7")
-- Found BZip2: /usr/lib/x86_64-linux-gnu/libbz2.so (found version "1.0.6")
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Could NOT find zfp (missing: zfp_DIR)
-- Found SZ: /opt/SZ/2.0.2.1/lib/libSZ.a
-- Found MGARD: /opt/MGARD/lib/libmgard.a
```
If I set **zfp_DIR**, then it works fine.
`$ export zfp_DIR=/opt/zfp/0.5.5/lib/cmake`
https://code.ornl.gov/pnb/ADIOS2/-/issues/2008adios_reorganize hangs when launched in MPMD mode2020-03-03T17:15:20ZPodhorszki, Norbertadios_reorganize hangs when launched in MPMD mode*Created by: keichi*
adios_reorganize hangs when launched with other applications (heatTransfer, gray-scott, etc.) in MPMD mode. For example, the following hangs:
```
mpirun -n 4 build/gray-scott simulation/settings-staging.json : \...*Created by: keichi*
adios_reorganize hangs when launched with other applications (heatTransfer, gray-scott, etc.) in MPMD mode. For example, the following hangs:
```
mpirun -n 4 build/gray-scott simulation/settings-staging.json : \
-n 1 adios_reorganize gs.bp reorg.bp SST '' BP4 '' 1
```
This is needed for the JAXA use case and worked fine in the past.https://code.ornl.gov/pnb/ADIOS2/-/issues/1108Allowing appending to existing files2020-03-03T17:02:50ZPodhorszki, NorbertAllowing appending to existing files*Created by: iamcalvinlau*
Currently, it seems like writing out data can only create/replace a file/directory of files. I would like to be able to append to an existing set of files.
For example, currently, if I run a job with 10 st...*Created by: iamcalvinlau*
Currently, it seems like writing out data can only create/replace a file/directory of files. I would like to be able to append to an existing set of files.
For example, currently, if I run a job with 10 steps, then re-run the job with another 10 steps; currently, I will see just 10 steps in my bp files instead of 20 steps. I would like to be able to aggregate the 20 steps into the same set of bp files instead.https://code.ornl.gov/pnb/ADIOS2/-/issues/1103adios_iotest read mode should decompose the actual variables in data2020-03-03T16:55:31ZPodhorszki, Norbertadios_iotest read mode should decompose the actual variables in data*Created by: pnorbert*
currently the decomposition is always (write, read) calculated based on the definitions in the configuration file. However, if one runs the same config with a different decomposition for reading than how it was ge...*Created by: pnorbert*
currently the decomposition is always (write, read) calculated based on the definitions in the configuration file. However, if one runs the same config with a different decomposition for reading than how it was generated, the decomposition will not match the actual data. The decomposition therefore should be performed on the shape of the actual variable at a later point when reading in.
https://code.ornl.gov/pnb/ADIOS2/-/issues/970Allow adding attributes at any step2020-03-03T16:43:04ZPodhorszki, NorbertAllow adding attributes at any step*Created by: fbudin69500*
Currently, it is technically possible to define a new attribute after step 0, but that attribute is not saved if the first step has been performed.
It would be important to either:
* Let the user know that ...*Created by: fbudin69500*
Currently, it is technically possible to define a new attribute after step 0, but that attribute is not saved if the first step has been performed.
It would be important to either:
* Let the user know that the attribute is not saved, both in ADIOS2 documentation and maybe with an error message (throw).
* Save (new) attributes at each step.
This is especially true for attributes for transient variables that are not known before a certain step.https://code.ornl.gov/pnb/ADIOS2/-/issues/842Brusselator SST performance issue2020-03-03T16:41:12ZPodhorszki, NorbertBrusselator SST performance issue*Created by: pnorbert*
Analysis code using SST is much slower with this example than to read from files. Same issue on VM and on Titan.
```
$ mpirun -n 16 ./simulation/Brusselator bru.bp 32 32 32 100 1
$ time mpirun -n 4 ./analysi...*Created by: pnorbert*
Analysis code using SST is much slower with this example than to read from files. Same issue on VM and on Titan.
```
$ mpirun -n 16 ./simulation/Brusselator bru.bp 32 32 32 100 1
$ time mpirun -n 4 ./analysis/norm_calc bru.bp a.bp 0
```
```
VM:
BP SST/FFS SST/BP
0.7s 14s 19s
```
Titan, with 256^3, 100 steps, 64 writers + 64 readers:
File based: a few minutes
SST based: does not finish within an hour. Also steps are slowing down visibly.
Eisenhauer, GregEisenhauer, Greghttps://code.ornl.gov/pnb/ADIOS2/-/issues/378SetMemorySelection()2020-03-03T16:38:11ZPodhorszki, NorbertSetMemorySelection()*Created by: pnorbert*
This needs to be implemented before we can remove the temporary copy of array without the ghost cells in the heat transfer example.*Created by: pnorbert*
This needs to be implemented before we can remove the temporary copy of array without the ghost cells in the heat transfer example.https://code.ornl.gov/pnb/ADIOS2/-/issues/2001Crash with PGI compilers on POWER92020-03-03T14:17:55ZPodhorszki, NorbertCrash with PGI compilers on POWER9*Created by: khuck*
**Describe the bug**
When compiling/testing the gray-scott tutorial example with TAU measurement and PGI compilers, the simulation crashes on exit. Valgrind shows that ADIOS is deleting the MPI Communicator more th...*Created by: khuck*
**Describe the bug**
When compiling/testing the gray-scott tutorial example with TAU measurement and PGI compilers, the simulation crashes on exit. Valgrind shows that ADIOS is deleting the MPI Communicator more than once (during the `adios2::helper::Comm::~Comm` destructor), which proves to be fatal when PGI is the compiler and TAU is preloaded in the environment. Here's the valgrind output:
```console
==146283== Invalid read of size 1
==146283== at 0x4723DD4: ompi_comm_invalid (communicator.h:334)
==146283== by 0x4723BDB: PMPI_Comm_free (pcomm_free.c:51)
==146283== by 0x744B2C7: adios2::helper::CommImplMPI::~CommImplMPI() (adiosCommMPI.cpp:191)
==146283== by 0x744B35F: adios2::helper::CommImplMPI::~CommImplMPI() (adiosCommMPI.cpp:194)
==146283== by 0x6B6AD2B: std::default_delete<adios2::helper::CommImpl>::operator()(adios2::helper::CommImpl*) const (unique_ptr.h:67)
==146283== by 0x6B6B5C3: std::unique_ptr<adios2::helper::CommImpl, std::default_delete<adios2::helper::CommImpl> >::~unique_ptr() (unique_ptr.h:184)
==146283== by 0x6B6D19F: adios2::helper::Comm::~Comm() (new_allocator.h:114)
==146283== by 0x695E887: adios2::core::Engine::~Engine() (Engine.cpp:31)
==146283== by 0x695E96F: adios2::core::Engine::~Engine() (Engine.cpp:31)
==146283== by 0x6D8EBB3: adios2::core::engine::BP4Writer::~BP4Writer() (BP4Writer.cpp:41)
==146283== by 0x6A4394B: void __gnu_cxx::new_allocator<adios2::core::engine::BP4Writer>::destroy<adios2::core::engine::BP4Writer>(adios2::core::engine::BP4Writer*) (new_allocator.h:124)
==146283== by 0x6A28ED7: std::enable_if<std::allocator_traits<std::allocator<adios2::core::engine::BP4Writer> >::__destroy_helper<adios2::core::engine::BP4Writer>::value, void>::type std::allocator_traits<std::allocator<adios2::core::engine::BP4Writer> >::_S_destroy<adios2::core::engine::BP4Writer>(std::allocator<adios2::core::engine::BP4Writer>&, adios2::core::engine::BP4Writer*) (alloc_traits.h:281)
==146283== Address 0xe3e2d98 is 232 bytes inside a block of size 344 free'd
==146283== at 0x408550C: free (vg_replace_malloc.c:530)
==146283== by 0x46DEC1F: ompi_comm_free (comm.c:1491)
==146283== by 0x4723C3F: PMPI_Comm_free (pcomm_free.c:62)
==146283== by 0x443136F: MPI_Comm_free (TauMpi.c:1285)
==146283== by 0x744B48B: adios2::helper::CommImplMPI::Free(std::string const&) (adiosCommMPI.cpp:201)
==146283== by 0x6B6D2EF: adios2::helper::Comm::Free(std::string const&) (adiosComm.cpp:56)
==146283== by 0x695F08F: adios2::core::Engine::Close(int) (Engine.cpp:73)
==146283== by 0x759F437: adios2::Engine::Close(int) (Engine.cpp:142)
==146283== by 0x10029467: Writer::close() (writer.cpp:125)
==146283== by 0x1000AFDB: main (main.cpp:140)
==146283== Block was alloc'd at
==146283== at 0x4083F40: malloc (vg_replace_malloc.c:299)
==146283== by 0x46DFCCB: opal_obj_new (opal_object.h:486)
==146283== by 0x46DC8BB: ompi_comm_set_nb (comm.c:160)
==146283== by 0x46DC79F: ompi_comm_set (comm.c:117)
==146283== by 0x46DDCFB: ompi_comm_dup_with_info (comm.c:1000)
==146283== by 0x46DDC2F: ompi_comm_dup (comm.c:971)
==146283== by 0x4722C17: PMPI_Comm_dup (pcomm_dup.c:63)
==146283== by 0x44312AB: MPI_Comm_dup (TauMpi.c:1268)
==146283== by 0x744B50F: adios2::helper::CommImplMPI::Duplicate(std::string const&) const (adiosCommMPI.cpp:208)
==146283== by 0x6B6D3A3: adios2::helper::Comm::Duplicate(std::string const&) const (adiosComm.cpp:60)
==146283== by 0x6A56747: adios2::core::IO::Open(std::string const&, adios2::Mode) (IO.cpp:692)
==146283== by 0x75D065B: adios2::IO::Open(std::string const&, adios2::Mode) (IO.cpp:110)
```
**To Reproduce**
1. Build ADIOS2 with PGI compiler and PGI build of MPI
2. Build TAU with PGI compiler and PGI build of MPI
3. Build the gray-scott tutorial example with PGI
4. Run with `mpirun -np ... tau_exec -T pgi build/gray-scott ...` and the program will crash on exit.
**Expected behavior**
No crash
**Desktop (please complete the following information):**
- OS/Platform: IBM Power9 system at UO (similar to summit node)
- Build PGI 19.4, MPI that comes with PGI, ADIOS2 master, TAU current master
**Additional context**
I'll be submitting a PR to fix this bug in a few minutes...
https://code.ornl.gov/pnb/ADIOS2/-/issues/1875Operation parameters failing if not lower case2020-03-03T14:14:59ZPodhorszki, NorbertOperation parameters failing if not lower case*Created by: williamfgc*
**Describe the bug**
Allow operation parameters to be case insensitive. Currently crashing if they are not lower case.
**To Reproduce**
`var.AddOperation("zfp", {{"Accuracy", "8"}});` fails
`var.AddOperati...*Created by: williamfgc*
**Describe the bug**
Allow operation parameters to be case insensitive. Currently crashing if they are not lower case.
**To Reproduce**
`var.AddOperation("zfp", {{"Accuracy", "8"}});` fails
`var.AddOperation("zfp", {{"accuracy", "8"}});` works
**Desktop (please complete the following information):**
- OS/Platform: any
- Build: any compilerhttps://code.ornl.gov/pnb/ADIOS2/-/issues/2003Add generated folders from docs to .gitignore2020-03-03T13:51:41ZPodhorszki, NorbertAdd generated folders from docs to .gitignore*Created by: NAThompson*
After building the docs, multiple generated directories are added:
```
docs/bin/
docs/lib/
docs/pyvenv.cfg
```
These should be in the `.gitignore`.*Created by: NAThompson*
After building the docs, multiple generated directories are added:
```
docs/bin/
docs/lib/
docs/pyvenv.cfg
```
These should be in the `.gitignore`.https://code.ornl.gov/pnb/ADIOS2/-/issues/1702Loading non-bp files gives incorrect error message2020-03-02T22:01:03ZPodhorszki, NorbertLoading non-bp files gives incorrect error message*Created by: NAThompson*
If you open a `.bp` file that is not in fact a `.bp` file, the error message is that the file is little endian, and you need to build with endian support.
```
libc++abi.dylib: terminating with uncaught excep...*Created by: NAThompson*
If you open a `.bp` file that is not in fact a `.bp` file, the error message is that the file is little endian, and you need to build with endian support.
```
libc++abi.dylib: terminating with uncaught exception of type std::runtime_error: ERROR: reader found BigEndian bp file, this version of ADIOS2 wasn't compiled with the cmake flag -DADIOS2_USE_Endian_Reverse=ON explicitly, in call to Open
```
The file in question was suffixed with `.bp`, but it was managed `git-lfs`; this occurred before I ran `git lfs install; git lfs pull`.https://code.ornl.gov/pnb/ADIOS2/-/issues/965Meaningful Dynamic Analysis of MPI jobs and Staging Transports2020-03-02T12:14:00ZEisenhauer, GregMeaningful Dynamic Analysis of MPI jobs and Staging TransportsCurrently we are doing no valgrind analysis of SST (and Dataman?) because CMake isn't running valgrind on the right thing. For the ADIOSSst* family of tests, they are run with valgrind doing analysis of the perl script that forks the MP...Currently we are doing no valgrind analysis of SST (and Dataman?) because CMake isn't running valgrind on the right thing. For the ADIOSSst* family of tests, they are run with valgrind doing analysis of the perl script that forks the MPI jobs that make up the actual test. For the TestStagingMPMD* family, valgrind is only analyzing mpiexec. It would be better to sort out how to run dynamic analysis on all tests, but if we can get valgrind on the MPI jobs "by doing "mpiexec valgrind" rather than "valgrind mpiexec", we'd at least be examining the staging transports in some modes. https://code.ornl.gov/pnb/ADIOS2/-/issues/1867bpls: Inclusive ranges?2020-03-02T12:10:24ZPodhorszki, Norbertbpls: Inclusive ranges?*Created by: NAThompson*
**Describe the bug**
It is unclear what the ranges are in `bpls`. Are they inclusive or do they not include the end? For example, I have a file [here](https://gitlab.kitware.com/vtk/adis/blob/master/tests/dat...*Created by: NAThompson*
**Describe the bug**
It is unclear what the ranges are in `bpls`. Are they inclusive or do they not include the end? For example, I have a file [here](https://gitlab.kitware.com/vtk/adis/blob/master/tests/data/cartesian.bp). If I run
```
bpls tests/data/cartesian.bp -D -l -d
```
I obtain
```
float density {9, 12, 6} = 0.203009 / 0.710419
step 0:
block 0: [0:8, 0: 5, 0:5] = 0.203009 / 0.710419
(0,0,0) 0.498983 0.311612 0.479756 0.428373 0.570884 0.510595
(0,1,0) 0.449472 0.228457 0.397323 0.506079 0.489518 0.450696
(0,2,0) 0.429468 0.22084 0.37172 0.496209 0.459435 0.440417
(0,3,0) 0.444066 0.235825 0.324241 0.463437 0.440521 0.509908
(0,4,0) 0.451586 0.243595 0.305005 0.454953 0.44157 0.504738
(0,5,0) 0.444357 0.235545 0.313118 0.458014 0.35096 0.337945
(1,0,0) 0.639897 0.25037 0.226439 0.221348 0.229602 0.234709
...
(8,2,0) 0.496889 0.501598 0.538273 0.633015 0.60263 0.586176
(8,3,0) 0.488583 0.488283 0.416411 0.56039 0.524052 0.517172
(8,4,0) 0.491629 0.489793 0.416589 0.56162 0.549713 0.503897
(8,5,0) 0.497506 0.49632 0.485055 0.624264 0.555652 0.523123
block 1: [0:8, 5:11, 0:5] = 0.204328 / 0.710419
(0,0,0) 0.444357 0.235545 0.313118 0.458014 0.35096 0.337945
(0,1,0) 0.434614 0.225001 0.340256 0.46951 0.387258 0.372237
(0,2,0) 0.429601 0.216495 0.366333 0.486767 0.423528 0.403335
(0,3,0) 0.514002 0.296396 0.436595 0.524241 0.565466 0.543807
(0,4,0) 0.600716 0.447219 0.603859 0.553651 0.63738 0.638639
(0,5,0) 0.525367 0.352369 0.579496 0.580756 0.635037 0.618327
(0,6,0) 0.509572 0.311612 0.479756 0.428373 0.570884 0.510595
(1,0,0) 0.639897 0.297692 0.254747 0.22968 0.218302 0.217242
....
(7,6,0) 0.639897 0.326836 0.280534 0.260549 0.257555 0.261225
(8,0,0) 0.497506 0.49632 0.485055 0.624264 0.555652 0.523123
(8,1,0) 0.506353 0.503618 0.463391 0.607477 0.51488 0.48344
(8,2,0) 0.522768 0.521673 0.513196 0.628872 0.558281 0.524039
(8,3,0) 0.577195 0.56476 0.58862 0.638639 0.618938 0.593348
(8,4,0) 0.625896 0.613521 0.63159 0.638639 0.639897 0.638639
(8,5,0) 0.599583 0.597883 0.63738 0.638639 0.63738 0.63738
(8,6,0) 0.578709 0.473317 0.634572 0.639897 0.63738 0.629514
```
**Expected behavior**
I feel like the output:
```
step 0:
block 0: [0:8, 0: 5, 0:5] = ...
. . .
block 1: [0:8, 5:11, 0:5] = ...
```
should be:
```
step 0:
block 0: [0:8, 0: 5, 0:5] = ...
. . .
block 1: [0:8, 6:11, 0:5] = ...
```
Not a huge issue.
**Desktop:**
- OS/Platform: Ubuntu 18.04
- gcc 7.4
- e36391e354e6d38a6be4b0f584e6424c6faeaef3