ADIOS2 issueshttps://code.ornl.gov/pnb/ADIOS2/-/issues2019-06-13T16:40:51Zhttps://code.ornl.gov/pnb/ADIOS2/-/issues/1111SST: reading when there are zero size blocks2019-06-13T16:40:51ZPodhorszki, NorbertSST: reading when there are zero size blocks*Created by: pnorbert*
It seems SST reading does not bring the correct data when some processes write zero size blocks.
The sick example was seen in EPOCH, where some variables' data is only written from rank 0 but actually all proces...*Created by: pnorbert*
It seems SST reading does not bring the correct data when some processes write zero size blocks.
The sick example was seen in EPOCH, where some variables' data is only written from rank 0 but actually all processes define and put() the variable. All non-zero rank writes a count=0 size array.
This causes no problem at reading with BPFile. But when reading with SST, the data is invalid.
There is no test or example at the moment to re-create this problem.
In general, zero-sized blocks are allowed as it regularly happens in particle codes (picongpu, xgc, etc).
We need tests like this. Eisenhauer, GregEisenhauer, Greghttps://code.ornl.gov/pnb/ADIOS2/-/issues/1405Gray-scott does not build with static ADIOS2 installation with SZ2019-06-11T19:03:27ZPodhorszki, NorbertGray-scott does not build with static ADIOS2 installation with SZ*Created by: JasonRuonanWang*
w4g@hp ~/adiosvm/Tutorial/gray-scott/build master ● cmake ..
-- The C compiler identification is GNU 7.4.0
-- The CXX compiler identification is GNU 7.4.0
-- Check for working C compiler: /usr/b...*Created by: JasonRuonanWang*
w4g@hp ~/adiosvm/Tutorial/gray-scott/build master ● cmake ..
-- The C compiler identification is GNU 7.4.0
-- The CXX compiler identification is GNU 7.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 MPI_C: /opt/openmpi/lib/libmpi.so (found version "3.1")
-- Found MPI_CXX: /opt/openmpi/lib/libmpi.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1")
-- The Fortran compiler identification is GNU 7.4.0
-- Check for working Fortran compiler: /usr/bin/gfortran
-- Check for working Fortran compiler: /usr/bin/gfortran -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /usr/bin/gfortran supports Fortran 90
-- Checking whether /usr/bin/gfortran supports Fortran 90 -- yes
-- 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: /usr/local/lib/libzfp.so
-- Found MGARD: /usr/local/lib/libmgard.so
-- Found ZeroMQ: /usr/lib/x86_64-linux-gnu/libzmq.so (found version "4.2.5")
-- HDF5: Using hdf5 compiler wrapper to determine C configuration
-- Found HDF5: /opt/phdf5/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "1.10.2") found components: C
-- Found atl: /opt/adios2/lib/cmake/adios2/thirdparty/atl-config.cmake (found suitable version "2.2.1", minimum required is "2.2.1")
-- Found dill: /opt/adios2/lib/cmake/adios2/thirdparty/dill-config.cmake (found version "2.4.0")
-- Found ffs: /opt/adios2/lib/cmake/adios2/thirdparty/ffs-config.cmake (found suitable version "1.6.0", minimum required is "1.6.0")
-- Found enet: /opt/adios2/lib/cmake/adios2/thirdparty/enet-config.cmake (found suitable version "1.3.14", minimum required is "1.3.14")
-- Found EVPath: /opt/adios2/lib/cmake/adios2/thirdparty/EVPathConfigCommon.cmake (found version "4.4.0")
-- Found ADIOS2: /opt/adios2/lib/cmake/adios2/adios2-config.cmake (found version "2.3.1")
-- Configuring done
CMake Error at CMakeLists.txt:13 (add_executable):
Target "gray-scott" links to target "SZ::SZ" but the target was not found.
Perhaps a find_package() call is missing for an IMPORTED target, or an
ALIAS target is missing?
CMake Error at CMakeLists.txt:16 (add_executable):
Target "pdf_calc" links to target "SZ::SZ" but the target was not found.
Perhaps a find_package() call is missing for an IMPORTED target, or an
ALIAS target is missing?
-- Generating done
-- Build files have been written to: /home/w4g/adiosvm/Tutorial/gray-scott/build
✘ w4g@hp ~/adiosvm/Tutorial/gray-scott/build master ●
2.4.0 Production Releasehttps://code.ornl.gov/pnb/ADIOS2/-/issues/1615Large number of data races in unit tests2019-07-30T18:23:35ZPodhorszki, NorbertLarge number of data races in unit tests*Created by: NAThompson*
In preparation for parallel reads, I added the following to the `CMakeLists.txt` and ran the unit tests:
```
if(CMAKE_BUILD_TYPE MATCHES "Debug")
if(CMAKE_CXX_COMPILER_ID MATCHES "^(AppleClang|Clang|GNU)"...*Created by: NAThompson*
In preparation for parallel reads, I added the following to the `CMakeLists.txt` and ran the unit tests:
```
if(CMAKE_BUILD_TYPE MATCHES "Debug")
if(CMAKE_CXX_COMPILER_ID MATCHES "^(AppleClang|Clang|GNU)")
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -O2 -Wfatal-errors -fsanitize=thread -fno-omit-frame-pointer")
endif()
endif()
```
A very large number of race conditions were detected. A few were in `pthread_create`, which arguably is bad, but not the bailiwick of ADIOS. But a large number of them are originating in ADIOS2. I have attached just one of these here, but many tests are afflicted by these problems.
[race.txt](https://github.com/ornladios/ADIOS2/files/3402662/race.txt)
https://code.ornl.gov/pnb/ADIOS2/-/issues/1885CMake: Enabled Fortran Bindings Infect Downstream C++2020-02-05T14:38:53ZPodhorszki, NorbertCMake: Enabled Fortran Bindings Infect Downstream C++*Created by: ax3l*
This issue was originally raised in https://github.com/conda-forge/openpmd-api-feedstock/pull/39#issuecomment-554280078 .
Why do I need as a downstream, C++11-only project a Fortran compiler to be able to parse the...*Created by: ax3l*
This issue was originally raised in https://github.com/conda-forge/openpmd-api-feedstock/pull/39#issuecomment-554280078 .
Why do I need as a downstream, C++11-only project a Fortran compiler to be able to parse the `ADIOS2Config.cmake` file when reading it in as a dependency? (Note: ADIOS2 was build with Fortran support but I do not require those bindings downstream.)
This seams unnecessary to me.
```
-- The Fortran compiler identification is unknown
CMake Error at /home/conda/feedstock_root/build_artifacts/openpmd-api_1573808717385/<...>/lib/cmake/adios2/adios2-config-common.cmake:16 (enable_language):
No CMAKE_Fortran_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "FC" or the CMake cache entry CMAKE_Fortran_COMPILER to the full
path to the compiler, or to the compiler name if it is in the PATH.
Call Stack (most recent call first):
/home/conda/feedstock_root/build_artifacts/openpmd-api_1573808717385/<...>/lib/cmake/adios2/adios2-config.cmake:29 (include)
CMakeLists.txt:232 (find_package)
-- Configuring incomplete, errors occurred!
```
The problem with this is that it commutes to downstream dependencies, even transitively, due to `find_dependencies(ADIOS2)` in downstream `Config.cmake` packages...https://code.ornl.gov/pnb/ADIOS2/-/issues/1972Extended precision floating point support2020-02-18T22:52:03ZPodhorszki, NorbertExtended precision floating point support*Created by: chuckatkins*
This is to track the issues surrounding support for extended precision float, i.e. long double. Some things to consider:
1. The multitude of precision and byte representations to support.
2. Cross-langua...*Created by: chuckatkins*
This is to track the issues surrounding support for extended precision float, i.e. long double. Some things to consider:
1. The multitude of precision and byte representations to support.
2. Cross-language support (Fortran `REAL(16)` may or may not be supported at all and if it is, may not be the same as the corresponding C / C++ `long double`)
3. Padding issues on non-dense representations (i.e. 80-bit long double taking up 128 bits of space)
4. Read support for formats not supported by the current architecture.