Copy disabled (too large)
Download .txt
Showing preview only (107,652K chars total). Download the full file to get everything.
Repository: Nek5000/nekRS
Branch: master
Commit: 96b3cf9e5bac
Files: 12932
Total size: 117.2 MB
Directory structure:
gitextract_6ppq7fkn/
├── .clang-format
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ └── feature_request.md
│ └── workflows/
│ └── ci.yml
├── .gitignore
├── 3rd_party/
│ ├── .gitignore
│ ├── adios/
│ │ ├── .circleci/
│ │ │ └── config.yml
│ │ ├── .clang-format
│ │ ├── .clang-tidy
│ │ ├── .e4s/
│ │ │ └── e4s.yaml
│ │ ├── .gitattributes
│ │ ├── .github/
│ │ │ ├── ISSUE_TEMPLATE/
│ │ │ │ ├── bug_report.md
│ │ │ │ ├── feature_request.md
│ │ │ │ └── new_release.md
│ │ │ ├── actions/
│ │ │ │ └── save-context-artifacts/
│ │ │ │ └── action.yml
│ │ │ └── workflows/
│ │ │ ├── everything.yml
│ │ │ └── pypackaging.yml
│ │ ├── .gitignore
│ │ ├── .gitlab/
│ │ │ ├── config/
│ │ │ │ ├── SpackCIBridge.py
│ │ │ │ ├── ccache.cmake
│ │ │ │ ├── dynamic_pipeline.yml.in
│ │ │ │ ├── generate_pipelines.py
│ │ │ │ └── kokkos.sh
│ │ │ ├── gitlab-ci-ascent.yml
│ │ │ └── gitlab-ci-crusher.yml
│ │ ├── .shellcheck_exclude_paths
│ │ ├── CMakeLists.txt
│ │ ├── CODEOWNERS
│ │ ├── CTestConfig.cmake
│ │ ├── CTestCustom.cmake.in
│ │ ├── Contributing.md
│ │ ├── Copyright.txt
│ │ ├── LICENSE
│ │ ├── ReadMe.md
│ │ ├── bandit.yml
│ │ ├── bindings/
│ │ │ ├── C/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── adios2/
│ │ │ │ │ └── c/
│ │ │ │ │ ├── adios2_c_adios.cpp
│ │ │ │ │ ├── adios2_c_adios.h
│ │ │ │ │ ├── adios2_c_adios_mpi.cpp
│ │ │ │ │ ├── adios2_c_attribute.cpp
│ │ │ │ │ ├── adios2_c_attribute.h
│ │ │ │ │ ├── adios2_c_engine.cpp
│ │ │ │ │ ├── adios2_c_engine.h
│ │ │ │ │ ├── adios2_c_internal.h
│ │ │ │ │ ├── adios2_c_internal.inl
│ │ │ │ │ ├── adios2_c_io.cpp
│ │ │ │ │ ├── adios2_c_io.h
│ │ │ │ │ ├── adios2_c_io.tcc
│ │ │ │ │ ├── adios2_c_io_mpi.cpp
│ │ │ │ │ ├── adios2_c_operator.cpp
│ │ │ │ │ ├── adios2_c_operator.h
│ │ │ │ │ ├── adios2_c_types.h
│ │ │ │ │ ├── adios2_c_variable.cpp
│ │ │ │ │ └── adios2_c_variable.h
│ │ │ │ └── adios2_c.h
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CXX11/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── adios2/
│ │ │ │ │ └── cxx11/
│ │ │ │ │ ├── ADIOS.cpp
│ │ │ │ │ ├── ADIOS.h
│ │ │ │ │ ├── ADIOS.inl
│ │ │ │ │ ├── ADIOSMPI.cpp
│ │ │ │ │ ├── ADIOSView.h
│ │ │ │ │ ├── Attribute.cpp
│ │ │ │ │ ├── Attribute.h
│ │ │ │ │ ├── Engine.cpp
│ │ │ │ │ ├── Engine.h
│ │ │ │ │ ├── Engine.tcc
│ │ │ │ │ ├── Group.cpp
│ │ │ │ │ ├── Group.h
│ │ │ │ │ ├── Group.tcc
│ │ │ │ │ ├── IO.cpp
│ │ │ │ │ ├── IO.h
│ │ │ │ │ ├── IO.tcc
│ │ │ │ │ ├── IOMPI.cpp
│ │ │ │ │ ├── KokkosView.h
│ │ │ │ │ ├── Operator.cpp
│ │ │ │ │ ├── Operator.h
│ │ │ │ │ ├── Query.cpp
│ │ │ │ │ ├── Query.h
│ │ │ │ │ ├── Types.cpp
│ │ │ │ │ ├── Types.h
│ │ │ │ │ ├── Types.tcc
│ │ │ │ │ ├── Variable.cpp
│ │ │ │ │ ├── Variable.h
│ │ │ │ │ ├── Variable.tcc
│ │ │ │ │ ├── VariableDerived.cpp
│ │ │ │ │ ├── VariableDerived.h
│ │ │ │ │ ├── VariableNT.cpp
│ │ │ │ │ ├── VariableNT.h
│ │ │ │ │ └── fstream/
│ │ │ │ │ ├── ADIOS2fstream.cpp
│ │ │ │ │ ├── ADIOS2fstream.h
│ │ │ │ │ ├── ADIOS2fstream.tcc
│ │ │ │ │ └── ADIOS2fstreamMPI.cpp
│ │ │ │ └── adios2.h
│ │ │ ├── Fortran/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── f2c/
│ │ │ │ │ ├── adios2_f2c_adios.cpp
│ │ │ │ │ ├── adios2_f2c_adios_mpi.cpp
│ │ │ │ │ ├── adios2_f2c_attribute.cpp
│ │ │ │ │ ├── adios2_f2c_common.h
│ │ │ │ │ ├── adios2_f2c_engine.cpp
│ │ │ │ │ ├── adios2_f2c_io.cpp
│ │ │ │ │ ├── adios2_f2c_io_mpi.cpp
│ │ │ │ │ ├── adios2_f2c_operator.cpp
│ │ │ │ │ └── adios2_f2c_variable.cpp
│ │ │ │ └── modules/
│ │ │ │ ├── adios2_adios_init_mod.F90
│ │ │ │ ├── adios2_adios_init_mpi_smod.F90
│ │ │ │ ├── adios2_adios_init_serial_smod.F90
│ │ │ │ ├── adios2_adios_mod.f90
│ │ │ │ ├── adios2_attribute_data_mod.f90
│ │ │ │ ├── adios2_attribute_mod.f90
│ │ │ │ ├── adios2_engine_begin_step_mod.f90
│ │ │ │ ├── adios2_engine_get_mod.f90
│ │ │ │ ├── adios2_engine_mod.f90
│ │ │ │ ├── adios2_engine_put_mod.f90
│ │ │ │ ├── adios2_functions_allocate_mod.f90
│ │ │ │ ├── adios2_functions_mod.f90
│ │ │ │ ├── adios2_io_define_attribute_mod.f90
│ │ │ │ ├── adios2_io_define_derived_variable_mod.f90
│ │ │ │ ├── adios2_io_define_variable_mod.f90
│ │ │ │ ├── adios2_io_mod.f90
│ │ │ │ ├── adios2_io_open_mod.F90
│ │ │ │ ├── adios2_io_open_mpi_smod.F90
│ │ │ │ ├── adios2_io_open_serial_smod.F90
│ │ │ │ ├── adios2_mod.f90
│ │ │ │ ├── adios2_operator_mod.f90
│ │ │ │ ├── adios2_parameters_mod.f90
│ │ │ │ ├── adios2_variable_max_mod.f90
│ │ │ │ ├── adios2_variable_min_mod.f90
│ │ │ │ ├── adios2_variable_mod.f90
│ │ │ │ └── contains/
│ │ │ │ ├── adios2_engine_get.f90
│ │ │ │ ├── adios2_engine_get_by_name.f90
│ │ │ │ ├── adios2_engine_get_deferred.f90
│ │ │ │ ├── adios2_engine_get_deferred_by_name.f90
│ │ │ │ ├── adios2_engine_put.f90
│ │ │ │ ├── adios2_engine_put_by_name.f90
│ │ │ │ ├── adios2_engine_put_deferred.f90
│ │ │ │ └── adios2_engine_put_deferred_by_name.f90
│ │ │ ├── Matlab/
│ │ │ │ ├── HOWTO-debug.txt
│ │ │ │ ├── Makefile
│ │ │ │ ├── README.txt
│ │ │ │ ├── adios.m
│ │ │ │ ├── adiosclose.m
│ │ │ │ ├── adiosclosec.c
│ │ │ │ ├── adiosload.m
│ │ │ │ ├── adiosopen.m
│ │ │ │ ├── adiosopenc.c
│ │ │ │ ├── adiosread.m
│ │ │ │ ├── adiosreadc.c
│ │ │ │ └── test/
│ │ │ │ ├── TestADIOSRead.m
│ │ │ │ ├── test1_read.m
│ │ │ │ ├── test1_read.py
│ │ │ │ ├── test1_read_hl.py
│ │ │ │ ├── test1_write.py
│ │ │ │ └── test1_write_hl.py
│ │ │ └── Python/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── __init__.py.in
│ │ │ ├── py11ADIOS.cpp
│ │ │ ├── py11ADIOS.h
│ │ │ ├── py11ADIOSMPI.cpp
│ │ │ ├── py11Attribute.cpp
│ │ │ ├── py11Attribute.h
│ │ │ ├── py11Engine.cpp
│ │ │ ├── py11Engine.h
│ │ │ ├── py11IO.cpp
│ │ │ ├── py11IO.h
│ │ │ ├── py11IOMPI.cpp
│ │ │ ├── py11Operator.cpp
│ │ │ ├── py11Operator.h
│ │ │ ├── py11Query.cpp
│ │ │ ├── py11Query.h
│ │ │ ├── py11Variable.cpp
│ │ │ ├── py11Variable.h
│ │ │ ├── py11glue.cpp
│ │ │ ├── py11types.h
│ │ │ └── test/
│ │ │ ├── __init__.py
│ │ │ └── simple_read_write.py
│ │ ├── cmake/
│ │ │ ├── ADIOSBisonFlexSub.cmake
│ │ │ ├── ADIOSFunctions.cmake
│ │ │ ├── CMakeFindDependencyMacro.cmake
│ │ │ ├── CheckTypeRepresentation.cmake
│ │ │ ├── CheckTypeRepresentationCompile.c.in
│ │ │ ├── CheckTypeRepresentationCompile.f.in
│ │ │ ├── CheckTypeRepresentationRun.c.in
│ │ │ ├── DetectOptions.cmake
│ │ │ ├── EmptyDir.cmake
│ │ │ ├── FindBZip2.cmake
│ │ │ ├── FindCrayDRC.cmake
│ │ │ ├── FindDAOS.cmake
│ │ │ ├── FindDataSpaces.cmake
│ │ │ ├── FindHDF5.cmake
│ │ │ ├── FindIME.cmake
│ │ │ ├── FindLIBFABRIC.cmake
│ │ │ ├── FindMPI.cmake
│ │ │ ├── FindPkgConfig.cmake
│ │ │ ├── FindPython.cmake
│ │ │ ├── FindPythonModule.cmake
│ │ │ ├── FindSZ.cmake
│ │ │ ├── FindSodium.cmake
│ │ │ ├── FindUCX.cmake
│ │ │ ├── FindZeroMQ.cmake
│ │ │ ├── Findpugixml.cmake
│ │ │ ├── GoogleTest.cmake
│ │ │ ├── Internal/
│ │ │ │ └── FloatRepresentationTable.cmake
│ │ │ ├── SSTFunctions.cmake
│ │ │ ├── adios2-config-common.cmake.in
│ │ │ ├── adios2-config-install.cmake.in
│ │ │ ├── adios2-config.cmake.in
│ │ │ ├── check_libfabric_cxi.c
│ │ │ ├── install/
│ │ │ │ ├── packaging/
│ │ │ │ │ └── CMakeLists.txt
│ │ │ │ ├── post/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── adios2-config-dummy/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── foo.F90
│ │ │ │ │ │ ├── foo.c
│ │ │ │ │ │ ├── foo.cxx
│ │ │ │ │ │ ├── foo.h
│ │ │ │ │ │ ├── main.c
│ │ │ │ │ │ ├── main.cxx
│ │ │ │ │ │ └── main.f90
│ │ │ │ │ ├── adios2-config.post.sh.in
│ │ │ │ │ ├── adios2-config.pre.sh.in
│ │ │ │ │ └── generate-adios2-config.sh.in
│ │ │ │ └── pre/
│ │ │ │ └── CMakeLists.txt
│ │ │ └── upstream/
│ │ │ ├── CMakeFindDependencyMacro.cmake
│ │ │ ├── FindBZip2.cmake
│ │ │ ├── FindHDF5.cmake
│ │ │ ├── FindMPI/
│ │ │ │ ├── libver_mpi.c
│ │ │ │ └── test_mpi.c
│ │ │ ├── FindMPI.cmake
│ │ │ ├── FindPkgConfig.cmake
│ │ │ ├── FindPython/
│ │ │ │ └── Support.cmake
│ │ │ ├── FindPython.cmake
│ │ │ └── GoogleTest.cmake
│ │ ├── docs/
│ │ │ ├── README.md
│ │ │ ├── api_doxygen/
│ │ │ │ ├── C/
│ │ │ │ │ └── Doxyfile
│ │ │ │ └── CXX11/
│ │ │ │ └── Doxyfile
│ │ │ ├── environment.yml
│ │ │ └── user_guide/
│ │ │ ├── Makefile
│ │ │ ├── make.bat
│ │ │ └── source/
│ │ │ ├── _static
│ │ │ ├── advanced/
│ │ │ │ ├── aggregation.rst
│ │ │ │ ├── campaign_management.rst
│ │ │ │ ├── ecp_hardware.rst
│ │ │ │ ├── gpu_aware.rst
│ │ │ │ ├── memory_management.rst
│ │ │ │ ├── plugins.rst
│ │ │ │ └── query.rst
│ │ │ ├── advice/
│ │ │ │ └── advice.rst
│ │ │ ├── api_full/
│ │ │ │ ├── api_full.rst
│ │ │ │ ├── c.rst
│ │ │ │ ├── cxx11.rst
│ │ │ │ └── fortran.rst
│ │ │ ├── api_high/
│ │ │ │ ├── api_high.rst
│ │ │ │ ├── cxx11.rst
│ │ │ │ └── matlab.rst
│ │ │ ├── api_python/
│ │ │ │ ├── adios2-doc-read-filereader.py
│ │ │ │ ├── adios2-doc-read-stream.py
│ │ │ │ ├── adios2-doc-write.py
│ │ │ │ ├── api_python.rst
│ │ │ │ ├── python.rst
│ │ │ │ ├── python_bindings.rst
│ │ │ │ ├── python_example.rst
│ │ │ │ └── python_transition_from_high.rst
│ │ │ ├── components/
│ │ │ │ ├── adios.rst
│ │ │ │ ├── anatomy.rst
│ │ │ │ ├── attribute.rst
│ │ │ │ ├── components.rst
│ │ │ │ ├── engine.rst
│ │ │ │ ├── io.rst
│ │ │ │ ├── operator.rst
│ │ │ │ ├── overview.rst
│ │ │ │ ├── runtime.rst
│ │ │ │ └── variable.rst
│ │ │ ├── conf.py
│ │ │ ├── ecosystem/
│ │ │ │ ├── h5vol/
│ │ │ │ │ └── vol.rst
│ │ │ │ ├── h5vol.rst
│ │ │ │ ├── utilities/
│ │ │ │ │ ├── adios2-config.rst
│ │ │ │ │ ├── adios_reorganize.rst
│ │ │ │ │ ├── bpls.rst
│ │ │ │ │ └── sst_conn_tool.rst
│ │ │ │ ├── utilities.rst
│ │ │ │ ├── visualization/
│ │ │ │ │ └── vtk.rst
│ │ │ │ └── visualization.rst
│ │ │ ├── engines/
│ │ │ │ ├── bp3.rst
│ │ │ │ ├── bp4.rst
│ │ │ │ ├── bp5.rst
│ │ │ │ ├── dataman.rst
│ │ │ │ ├── dataspaces.rst
│ │ │ │ ├── engines.rst
│ │ │ │ ├── hdf5.rst
│ │ │ │ ├── inline.rst
│ │ │ │ ├── null.rst
│ │ │ │ ├── plugin.rst
│ │ │ │ ├── ssc.rst
│ │ │ │ ├── sst.rst
│ │ │ │ └── virtual_engines.rst
│ │ │ ├── faq/
│ │ │ │ └── faq.rst
│ │ │ ├── index.rst
│ │ │ ├── introduction/
│ │ │ │ ├── adaptable_io.rst
│ │ │ │ ├── introduction.rst
│ │ │ │ ├── nutshell.rst
│ │ │ │ └── whatsnew.rst
│ │ │ ├── operators/
│ │ │ │ ├── CompressorZFP.rst
│ │ │ │ ├── encryption.rst
│ │ │ │ ├── operators.rst
│ │ │ │ └── plugin.rst
│ │ │ ├── setting_up/
│ │ │ │ ├── doemachines.rst
│ │ │ │ ├── linking.rst
│ │ │ │ ├── package.rst
│ │ │ │ ├── setting_up.rst
│ │ │ │ ├── source/
│ │ │ │ │ ├── cmake.rst
│ │ │ │ │ ├── cpp_c.rst
│ │ │ │ │ ├── ctest.rst
│ │ │ │ │ ├── examples.rst
│ │ │ │ │ ├── fortran.rst
│ │ │ │ │ ├── hpc_systems.rst
│ │ │ │ │ └── python.rst
│ │ │ │ └── source.rst
│ │ │ └── tutorials/
│ │ │ ├── attributes.rst
│ │ │ ├── basicTutorials.rst
│ │ │ ├── downloadAndBuild.rst
│ │ │ ├── helloWorld.rst
│ │ │ ├── operators.rst
│ │ │ ├── overview.rst
│ │ │ ├── steps.rst
│ │ │ └── variables.rst
│ │ ├── examples/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── ReadMe.md
│ │ │ ├── basics/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── ReadMe.md
│ │ │ │ ├── globalArray1D/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── decomp.F90
│ │ │ │ │ ├── decomp.c
│ │ │ │ │ ├── decomp.h
│ │ │ │ │ ├── globalArray1DRead.F90
│ │ │ │ │ ├── globalArray1DRead.c
│ │ │ │ │ ├── globalArray1DWrite.F90
│ │ │ │ │ ├── globalArray1DWrite.c
│ │ │ │ │ ├── mpivars.F90
│ │ │ │ │ ├── mpivars.c
│ │ │ │ │ └── mpivars.h
│ │ │ │ ├── globalArrayND/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── globalArrayNDWrite.cpp
│ │ │ │ ├── joinedArray/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── joinedArrayWrite.cpp
│ │ │ │ ├── localArray/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── localArrayRead.cpp
│ │ │ │ │ └── localArrayWrite.cpp
│ │ │ │ ├── queryWorker/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── ReadMe.md
│ │ │ │ │ ├── configs/
│ │ │ │ │ │ ├── bp4io.xml
│ │ │ │ │ │ ├── bp4io_composite.xml
│ │ │ │ │ │ ├── q1.json
│ │ │ │ │ │ └── q2.json
│ │ │ │ │ └── queryWorker.cpp
│ │ │ │ ├── values/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── mpivars.F90
│ │ │ │ │ ├── values.F90
│ │ │ │ │ └── valuesWrite.cpp
│ │ │ │ └── variablesShapes/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── variablesShapes.cpp
│ │ │ │ └── variablesShapes_hl.cpp
│ │ │ ├── campaign/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── campaign_write.cpp
│ │ │ ├── hello/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── ReadMe.md
│ │ │ │ ├── bpAttributeWriteRead/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── bpAttributeWriteRead.cpp
│ │ │ │ │ └── bpAttributeWriteRead_tutorialSkeleton.cpp
│ │ │ │ ├── bpFWriteCRead/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── CppReader.cpp
│ │ │ │ │ ├── CppWriter.cpp
│ │ │ │ │ ├── FReader.f90
│ │ │ │ │ └── FWriter.f90
│ │ │ │ ├── bpFlushWriter/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── bpFlushWriter.cpp
│ │ │ │ │ └── bpFlushWriter_nompi.cpp
│ │ │ │ ├── bpOperatorSZWriter/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── bpOperatorSZWriter.cpp
│ │ │ │ │ └── bpOperatorSZWriter_tutorialSkeleton.cxx
│ │ │ │ ├── bpReader/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── bpReader.cpp
│ │ │ │ │ ├── bpReaderHeatMap2D-bindings.py
│ │ │ │ │ ├── bpReaderHeatMap2D.cpp
│ │ │ │ │ ├── bpReaderHeatMap2D.py
│ │ │ │ │ ├── bpReaderHeatMap3D.F90
│ │ │ │ │ ├── bpReaderHeatMap3D.cpp
│ │ │ │ │ └── bpReader_tutorialSkeleton.cpp
│ │ │ │ ├── bpStepsWriteRead/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── bpStepsWriteRead.cpp
│ │ │ │ │ └── bpStepsWriteRead_tutorialSkeleton.cxx
│ │ │ │ ├── bpStepsWriteReadCuda/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── bpStepsWriteReadCuda.cu
│ │ │ │ ├── bpStepsWriteReadHip/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── bpStepsWriteReadHip.cpp
│ │ │ │ ├── bpStepsWriteReadKokkos/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── bpStepsWriteReadKokkos.F90
│ │ │ │ │ ├── bpStepsWriteReadKokkos.cpp
│ │ │ │ │ ├── bpWriteReadKokkosView.cpp
│ │ │ │ │ ├── view-cxx.cc
│ │ │ │ │ └── view-f.f90
│ │ │ │ ├── bpThreadWrite/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── bpThreadWrite.cpp
│ │ │ │ ├── bpWriter/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── bpPutDeferred.cpp
│ │ │ │ │ ├── bpSubStreams.cpp
│ │ │ │ │ ├── bpWriter-bindings.py
│ │ │ │ │ ├── bpWriter.F90
│ │ │ │ │ ├── bpWriter.c
│ │ │ │ │ ├── bpWriter.cpp
│ │ │ │ │ ├── bpWriter.py
│ │ │ │ │ └── bpWriter_tutorialSkeleton.cpp
│ │ │ │ ├── datamanKokkos/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── dataManReaderKokkos.cpp
│ │ │ │ │ └── dataManWriterKokkos.cpp
│ │ │ │ ├── datamanReader/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── dataManReader.cpp
│ │ │ │ │ └── dataManReader.py
│ │ │ │ ├── datamanWriter/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── dataManWriter.cpp
│ │ │ │ │ └── dataManWriter.py
│ │ │ │ ├── dataspacesReader/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── dataSpacesReader.cpp
│ │ │ │ ├── dataspacesWriter/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── dataSpacesWriter.cpp
│ │ │ │ ├── hdf5Reader/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── hdf5Reader.cpp
│ │ │ │ │ └── hdf5Reader_nompi.cpp
│ │ │ │ ├── hdf5SubFile/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── hdf5SubFile.cpp
│ │ │ │ ├── hdf5Writer/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── hdf5Writer.cpp
│ │ │ │ │ └── hdf5Writer_nompi.cpp
│ │ │ │ ├── helloWorld/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── hello-world-bindings.py
│ │ │ │ │ ├── hello-world-hl.cpp
│ │ │ │ │ ├── hello-world.c
│ │ │ │ │ ├── hello-world.cpp
│ │ │ │ │ ├── hello-world.py
│ │ │ │ │ └── hello-world_tutorialSkeleton.cpp
│ │ │ │ ├── inlineFWriteCppRead/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── inlineMixedLang.cpp
│ │ │ │ │ └── inlineMixedLang.f90
│ │ │ │ ├── inlineMWE/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── inlineMWE.cpp
│ │ │ │ ├── inlineReaderWriter/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── inlineReaderWriter.cpp
│ │ │ │ ├── skeleton/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── SkeletonArgs.cpp
│ │ │ │ │ ├── SkeletonArgs.h
│ │ │ │ │ ├── SkeletonPrint.h
│ │ │ │ │ ├── bpfile.xml
│ │ │ │ │ ├── skeleton.xml
│ │ │ │ │ ├── skeletonReader.cpp
│ │ │ │ │ └── skeletonWriter.cpp
│ │ │ │ ├── sstKokkos/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── sstReaderKokkos.cpp
│ │ │ │ │ └── sstWriterKokkos.cpp
│ │ │ │ ├── sstReader/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── sstReader-bindings.py
│ │ │ │ │ ├── sstReader.cpp
│ │ │ │ │ └── sstReader.py
│ │ │ │ └── sstWriter/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── sstWriter-bindings.py
│ │ │ │ ├── sstWriter.cpp
│ │ │ │ └── sstWriter.py
│ │ │ ├── plugins/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── ReadMe.md
│ │ │ │ ├── engine/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── ExampleReadPlugin.cpp
│ │ │ │ │ ├── ExampleReadPlugin.h
│ │ │ │ │ ├── ExampleReadPlugin.tcc
│ │ │ │ │ ├── ExampleWritePlugin.cpp
│ │ │ │ │ ├── ExampleWritePlugin.h
│ │ │ │ │ ├── ExampleWritePlugin.tcc
│ │ │ │ │ ├── examplePluginEngineRead.cpp
│ │ │ │ │ ├── examplePluginEngineWrite.cpp
│ │ │ │ │ └── example_engine.xml
│ │ │ │ └── operator/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── examplePluginOperatorRead.cpp
│ │ │ │ ├── examplePluginOperatorWrite.cpp
│ │ │ │ └── example_operator.xml
│ │ │ ├── simulations/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── GrayScott.jl/
│ │ │ │ │ ├── .JuliaFormatter.toml
│ │ │ │ │ ├── Project.toml
│ │ │ │ │ ├── ReadMe.md
│ │ │ │ │ ├── examples/
│ │ │ │ │ │ └── settings-files.json
│ │ │ │ │ ├── gray-scott.jl
│ │ │ │ │ ├── scripts/
│ │ │ │ │ │ ├── config_crusher.sh
│ │ │ │ │ │ ├── config_summit.sh
│ │ │ │ │ │ ├── job_crusher.sh
│ │ │ │ │ │ └── job_summit.sh
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── GrayScott.jl
│ │ │ │ │ │ ├── analysis/
│ │ │ │ │ │ │ └── pdfcalc.jl
│ │ │ │ │ │ ├── helper/
│ │ │ │ │ │ │ ├── Helper.jl
│ │ │ │ │ │ │ ├── helperMPI.jl
│ │ │ │ │ │ │ └── helperString.jl
│ │ │ │ │ │ └── simulation/
│ │ │ │ │ │ ├── IO.jl
│ │ │ │ │ │ ├── Inputs.jl
│ │ │ │ │ │ ├── Simulation.jl
│ │ │ │ │ │ ├── Simulation_AMDGPU.jl
│ │ │ │ │ │ ├── Simulation_CUDA.jl
│ │ │ │ │ │ └── Structs.jl
│ │ │ │ │ └── test/
│ │ │ │ │ ├── Project.toml
│ │ │ │ │ ├── functional/
│ │ │ │ │ │ └── functional-GrayScott.jl
│ │ │ │ │ ├── runtests.jl
│ │ │ │ │ └── unit/
│ │ │ │ │ ├── analysis/
│ │ │ │ │ │ └── unit-pdfcalc.jl
│ │ │ │ │ ├── helper/
│ │ │ │ │ │ └── unit-helperMPI.jl
│ │ │ │ │ └── simulation/
│ │ │ │ │ ├── unit-IO.jl
│ │ │ │ │ ├── unit-Inputs.jl
│ │ │ │ │ ├── unit-Simulation.jl
│ │ │ │ │ └── unit-Simulation_CUDA.jl
│ │ │ │ ├── ReadMe.md
│ │ │ │ ├── gray-scott/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── ReadMe.md
│ │ │ │ │ ├── adios2-fides-staging.xml
│ │ │ │ │ ├── adios2-inline-plugin.xml
│ │ │ │ │ ├── adios2.xml
│ │ │ │ │ ├── analysis/
│ │ │ │ │ │ └── pdf-calc.cpp
│ │ │ │ │ ├── catalyst/
│ │ │ │ │ │ ├── gs-fides.json
│ │ │ │ │ │ ├── gs-pipeline.py
│ │ │ │ │ │ └── setup.sh
│ │ │ │ │ ├── cleanup.sh
│ │ │ │ │ ├── common/
│ │ │ │ │ │ └── timer.hpp
│ │ │ │ │ ├── plot/
│ │ │ │ │ │ ├── decomp.py
│ │ │ │ │ │ ├── gsplot.py
│ │ │ │ │ │ └── pdfplot.py
│ │ │ │ │ ├── simulation/
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── gray-scott.cpp
│ │ │ │ │ │ ├── gray-scott.h
│ │ │ │ │ │ ├── json.hpp
│ │ │ │ │ │ ├── main.cpp
│ │ │ │ │ │ ├── restart.cpp
│ │ │ │ │ │ ├── restart.h
│ │ │ │ │ │ ├── settings-files.json
│ │ │ │ │ │ ├── settings-inline.json
│ │ │ │ │ │ ├── settings-staging.json
│ │ │ │ │ │ ├── settings.cpp
│ │ │ │ │ │ ├── settings.h
│ │ │ │ │ │ ├── writer.cpp
│ │ │ │ │ │ └── writer.h
│ │ │ │ │ ├── visit-bp4.session
│ │ │ │ │ ├── visit-bp4.session.gui
│ │ │ │ │ ├── visit-sst.session
│ │ │ │ │ └── visit-sst.session.gui
│ │ │ │ ├── gray-scott-kokkos/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── ReadMe.md
│ │ │ │ │ ├── gray-scott.cpp
│ │ │ │ │ ├── gray-scott.h
│ │ │ │ │ ├── json.hpp
│ │ │ │ │ ├── main.cpp
│ │ │ │ │ ├── restart.cpp
│ │ │ │ │ ├── restart.h
│ │ │ │ │ ├── settings.cpp
│ │ │ │ │ ├── settings.h
│ │ │ │ │ ├── timer.hpp
│ │ │ │ │ ├── writer.cpp
│ │ │ │ │ └── writer.h
│ │ │ │ ├── gray-scott-struct/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── ReadMe.md
│ │ │ │ │ ├── adios2-inline-plugin.xml
│ │ │ │ │ ├── adios2.xml
│ │ │ │ │ ├── analysis/
│ │ │ │ │ │ └── pdf-calc.cpp
│ │ │ │ │ ├── catalyst/
│ │ │ │ │ │ ├── gs-fides.json
│ │ │ │ │ │ ├── gs-pipeline.py
│ │ │ │ │ │ └── setup.sh
│ │ │ │ │ ├── cleanup.sh
│ │ │ │ │ ├── common/
│ │ │ │ │ │ └── timer.hpp
│ │ │ │ │ ├── plot/
│ │ │ │ │ │ ├── decomp.py
│ │ │ │ │ │ ├── gsplot.py
│ │ │ │ │ │ └── pdfplot.py
│ │ │ │ │ ├── simulation/
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── gray-scott.cpp
│ │ │ │ │ │ ├── gray-scott.h
│ │ │ │ │ │ ├── json.hpp
│ │ │ │ │ │ ├── main.cpp
│ │ │ │ │ │ ├── restart.cpp
│ │ │ │ │ │ ├── restart.h
│ │ │ │ │ │ ├── settings-files.json
│ │ │ │ │ │ ├── settings-inline.json
│ │ │ │ │ │ ├── settings-staging.json
│ │ │ │ │ │ ├── settings.cpp
│ │ │ │ │ │ ├── settings.h
│ │ │ │ │ │ ├── writer.cpp
│ │ │ │ │ │ └── writer.h
│ │ │ │ │ ├── test-firstrun.json
│ │ │ │ │ ├── test-restart.json
│ │ │ │ │ ├── visit-bp4.session
│ │ │ │ │ ├── visit-bp4.session.gui
│ │ │ │ │ ├── visit-sst.session
│ │ │ │ │ └── visit-sst.session.gui
│ │ │ │ ├── heatTransfer/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── ReadMe.md
│ │ │ │ │ ├── heat_bp3.xml
│ │ │ │ │ ├── heat_bp3_zfp.xml
│ │ │ │ │ ├── heat_bp4.xml
│ │ │ │ │ ├── heat_bp4_zfp.xml
│ │ │ │ │ ├── heat_dataman.xml
│ │ │ │ │ ├── heat_dataspaces.xml
│ │ │ │ │ ├── heat_file.xml
│ │ │ │ │ ├── heat_hdf5.xml
│ │ │ │ │ ├── heat_inline.xml
│ │ │ │ │ ├── heat_nullcore.xml
│ │ │ │ │ ├── heat_ssc.xml
│ │ │ │ │ ├── heat_sst_bp.xml
│ │ │ │ │ ├── heat_sst_bp_rdma.xml
│ │ │ │ │ ├── heat_sst_ffs.xml
│ │ │ │ │ ├── heat_sst_ffs_rdma.xml
│ │ │ │ │ ├── inline/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── InlineIO.cpp
│ │ │ │ │ │ ├── InlineIO.h
│ │ │ │ │ │ └── main.cpp
│ │ │ │ │ ├── read/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── PrintDataStep.h
│ │ │ │ │ │ ├── ReadSettings.cpp
│ │ │ │ │ │ ├── ReadSettings.h
│ │ │ │ │ │ └── heatRead.cpp
│ │ │ │ │ ├── readFileOnly/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── PrintData.h
│ │ │ │ │ │ └── heatReadFileOnly.cpp
│ │ │ │ │ └── write/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── HeatTransfer.cpp
│ │ │ │ │ ├── HeatTransfer.h
│ │ │ │ │ ├── IO.h
│ │ │ │ │ ├── IO_adios2.cpp
│ │ │ │ │ ├── IO_ascii.cpp
│ │ │ │ │ ├── IO_h5mixer.cpp
│ │ │ │ │ ├── IO_hdf5_a.cpp
│ │ │ │ │ ├── IO_ph5.cpp
│ │ │ │ │ ├── Settings.cpp
│ │ │ │ │ ├── Settings.h
│ │ │ │ │ └── main.cpp
│ │ │ │ ├── korteweg-de-vries/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── KdV.cpp
│ │ │ │ │ ├── ReadMe.md
│ │ │ │ │ └── graph_solution.py
│ │ │ │ └── lorenz_ode/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── ReadMe.md
│ │ │ │ ├── lorenz.hpp
│ │ │ │ ├── lorenzReader.cpp
│ │ │ │ └── lorenzWriter.cpp
│ │ │ └── useCases/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── ReadMe.md
│ │ │ ├── fidesOneCell/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── ReadMe.md
│ │ │ │ ├── fidesOneCell.cpp
│ │ │ │ └── fidesOneCell.json
│ │ │ └── insituGlobalArrays/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── insituGlobalArraysReaderNxN.cpp
│ │ │ └── insituGlobalArraysWriter.cpp
│ │ ├── plugins/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── engines/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── ParaViewFidesEngine.cpp
│ │ │ │ └── ParaViewFidesEngine.h
│ │ │ └── operators/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── EncryptionOperator.cpp
│ │ │ └── EncryptionOperator.h
│ │ ├── pyproject.toml
│ │ ├── python/
│ │ │ ├── CMakeLists.txt
│ │ │ └── adios2/
│ │ │ ├── __init__.py
│ │ │ ├── adios.py
│ │ │ ├── attribute.py
│ │ │ ├── engine.py
│ │ │ ├── file_reader.py
│ │ │ ├── io.py
│ │ │ ├── operator.py
│ │ │ ├── stream.py
│ │ │ └── variable.py
│ │ ├── readthedocs.yml
│ │ ├── requirements.txt
│ │ ├── scripts/
│ │ │ ├── build_scripts/
│ │ │ │ ├── build-adios2-cuda-perlmutter.sh
│ │ │ │ ├── build-adios2-cuda-summit.sh
│ │ │ │ ├── build-adios2-kokkos-crusher.sh
│ │ │ │ ├── build-adios2-kokkos-perlmutter.sh
│ │ │ │ ├── build-adios2-kokkos-summit.sh
│ │ │ │ └── build-adios2-sycl-polaris.sh
│ │ │ ├── ci/
│ │ │ │ ├── circle/
│ │ │ │ │ ├── findStatus.py
│ │ │ │ │ ├── postCDashStatus.sh
│ │ │ │ │ └── run.sh
│ │ │ │ ├── cmake/
│ │ │ │ │ ├── adios-asan.supp
│ │ │ │ │ ├── ci-ascent-common.cmake
│ │ │ │ │ ├── ci-ascent-cuda.cmake
│ │ │ │ │ ├── ci-ascent-kokkos-cuda.cmake
│ │ │ │ │ ├── ci-ascent-nvhpc.cmake
│ │ │ │ │ ├── ci-ascent-xl.cmake
│ │ │ │ │ ├── ci-common.cmake
│ │ │ │ │ ├── ci-crusher-cray.cmake
│ │ │ │ │ ├── ci-crusher-kokkos-hip.cmake
│ │ │ │ │ ├── ci-el7-spack.cmake
│ │ │ │ │ ├── ci-el7.cmake
│ │ │ │ │ ├── ci-el8-icc-mpich.cmake
│ │ │ │ │ ├── ci-el8-icc-ompi.cmake
│ │ │ │ │ ├── ci-el8-icc-serial.cmake
│ │ │ │ │ ├── ci-el8-oneapi-mpich.cmake
│ │ │ │ │ ├── ci-el8-oneapi-ompi.cmake
│ │ │ │ │ ├── ci-el8-oneapi-serial.cmake
│ │ │ │ │ ├── ci-fedora-asan.cmake
│ │ │ │ │ ├── ci-fedora-msan.cmake
│ │ │ │ │ ├── ci-fedora-openmpi-ubsan.cmake
│ │ │ │ │ ├── ci-fedora-tsan.cmake
│ │ │ │ │ ├── ci-fedora-ubsan.cmake
│ │ │ │ │ ├── ci-macos-11-xcode13_0-shared-serial.cmake
│ │ │ │ │ ├── ci-macos-12-xcode13_4_1-shared-serial.cmake
│ │ │ │ │ ├── ci-macos-12-xcode13_4_1-static-serial.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-clang10-mpich.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-clang10-ompi.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-clang10-serial.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-clang6-mpich.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-clang6-ompi.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-clang6-serial.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-clang6-static-ompi.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-gcc10-mpich.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-gcc10-ompi.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-gcc10-serial.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-gcc11-mpich.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-gcc11-ompi.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-gcc11-serial.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-gcc8-mpich.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-gcc8-ompi.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-gcc8-serial-codeql.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-gcc8-serial.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-gcc8-static-ompi.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-gcc8-static-serial.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-gcc9-mpich.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-gcc9-ompi.cmake
│ │ │ │ │ ├── ci-ubuntu20.04-gcc9-serial.cmake
│ │ │ │ │ ├── ci-win2019-vs2019-msmpi.cmake
│ │ │ │ │ ├── ci-win2019-vs2019-ninja.cmake
│ │ │ │ │ ├── ci-win2019-vs2019-ompi.cmake
│ │ │ │ │ ├── ci-win2019-vs2019-serial.cmake
│ │ │ │ │ ├── ci-win2022-vs2022-ompi.cmake
│ │ │ │ │ ├── ci-win2022-vs2022-serial.cmake
│ │ │ │ │ └── ci-win2022-vs2022-static-serial.cmake
│ │ │ │ ├── gh-actions/
│ │ │ │ │ ├── check-branch-name.sh
│ │ │ │ │ ├── config/
│ │ │ │ │ │ ├── adios-version.cmake
│ │ │ │ │ │ └── ninja.cmake
│ │ │ │ │ ├── get-changed-files.sh
│ │ │ │ │ ├── linux-setup.sh
│ │ │ │ │ ├── macos-setup.sh
│ │ │ │ │ ├── run.sh
│ │ │ │ │ └── windows-setup.ps1
│ │ │ │ ├── gitlab-ci/
│ │ │ │ │ ├── run.sh
│ │ │ │ │ └── setup-vars.sh
│ │ │ │ ├── images/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── 0001-mpich-support-ch3-sock.patch
│ │ │ │ │ ├── Dockerfile.ci-el8-intel
│ │ │ │ │ ├── Dockerfile.ci-spack-ubuntu20.04-base
│ │ │ │ │ ├── Dockerfile.ci-spack-ubuntu20.04-clang
│ │ │ │ │ ├── Dockerfile.ci-spack-ubuntu20.04-gcc
│ │ │ │ │ ├── Dockerfile.ci-spack-ubuntu20.04-intel
│ │ │ │ │ ├── build-el8.sh
│ │ │ │ │ ├── build-ubuntu.sh
│ │ │ │ │ ├── fedora-asan/
│ │ │ │ │ │ └── Dockerfile
│ │ │ │ │ ├── fedora-full-stack-onbuild/
│ │ │ │ │ │ └── Dockerfile
│ │ │ │ │ ├── fedora-msan/
│ │ │ │ │ │ ├── Dockerfile
│ │ │ │ │ │ └── toolchain.cmake
│ │ │ │ │ ├── fedora-sanitizers-base/
│ │ │ │ │ │ └── Dockerfile
│ │ │ │ │ ├── fedora-tsan/
│ │ │ │ │ │ ├── Dockerfile
│ │ │ │ │ │ └── toolchain.cmake
│ │ │ │ │ ├── fedora-ubsan/
│ │ │ │ │ │ └── Dockerfile
│ │ │ │ │ ├── formatting/
│ │ │ │ │ │ └── Dockerfile
│ │ │ │ │ ├── oneAPI.repo
│ │ │ │ │ ├── packages.yaml
│ │ │ │ │ └── spack/
│ │ │ │ │ └── Dockerfile
│ │ │ │ ├── scripts/
│ │ │ │ │ ├── github-list-prs.py
│ │ │ │ │ ├── github-prs-to-gitlab.sh
│ │ │ │ │ ├── run-black.sh
│ │ │ │ │ ├── run-clang-format.sh
│ │ │ │ │ ├── run-flake8.sh
│ │ │ │ │ ├── run-pylint.sh
│ │ │ │ │ └── run-shellcheck.sh
│ │ │ │ └── setup-run/
│ │ │ │ ├── ci-Windows.sh
│ │ │ │ ├── ci-el8-icc.sh
│ │ │ │ ├── ci-el8-oneapi.sh
│ │ │ │ ├── ci-ubuntu20.04-clang10.sh
│ │ │ │ ├── ci-ubuntu20.04-clang6.sh
│ │ │ │ ├── ci-ubuntu20.04-gcc10.sh
│ │ │ │ ├── ci-ubuntu20.04-gcc11.sh
│ │ │ │ ├── ci-ubuntu20.04-gcc8.sh
│ │ │ │ └── ci-ubuntu20.04-gcc9.sh
│ │ │ ├── conda/
│ │ │ │ └── adios2/
│ │ │ │ ├── LICENSE
│ │ │ │ ├── meta.yaml
│ │ │ │ └── superbuild/
│ │ │ │ └── CMakeLists.txt
│ │ │ ├── dashboard/
│ │ │ │ ├── EnvironmentModules.cmake
│ │ │ │ ├── adios_common.cmake
│ │ │ │ └── common.cmake
│ │ │ ├── developer/
│ │ │ │ ├── create-changelog.sh
│ │ │ │ ├── git/
│ │ │ │ │ ├── git-clang-format
│ │ │ │ │ ├── setup-aliases
│ │ │ │ │ ├── setup-hooks
│ │ │ │ │ └── setup-remotes
│ │ │ │ ├── merge-pr-from-release.sh
│ │ │ │ ├── run-clang-format.sh
│ │ │ │ └── setup.sh
│ │ │ ├── docker/
│ │ │ │ ├── Dockerfile.complete
│ │ │ │ ├── Dockerfile.dependencies
│ │ │ │ ├── modules.yaml
│ │ │ │ ├── packages.yaml
│ │ │ │ └── setup-user.sh
│ │ │ └── runconf/
│ │ │ ├── runconf.sh
│ │ │ └── runconf_olcf.sh
│ │ ├── source/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── adios2/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── common/
│ │ │ │ │ ├── ADIOSConfig.h.in
│ │ │ │ │ ├── ADIOSMacros.h
│ │ │ │ │ ├── ADIOSTypes.cpp
│ │ │ │ │ ├── ADIOSTypes.h
│ │ │ │ │ └── ADIOSTypes.inl
│ │ │ │ ├── core/
│ │ │ │ │ ├── ADIOS.cpp
│ │ │ │ │ ├── ADIOS.h
│ │ │ │ │ ├── Attribute.cpp
│ │ │ │ │ ├── Attribute.h
│ │ │ │ │ ├── Attribute.tcc
│ │ │ │ │ ├── AttributeBase.cpp
│ │ │ │ │ ├── AttributeBase.h
│ │ │ │ │ ├── CoreTypes.h
│ │ │ │ │ ├── Engine.cpp
│ │ │ │ │ ├── Engine.h
│ │ │ │ │ ├── Engine.tcc
│ │ │ │ │ ├── Group.cpp
│ │ │ │ │ ├── Group.h
│ │ │ │ │ ├── Group.tcc
│ │ │ │ │ ├── IO.cpp
│ │ │ │ │ ├── IO.h
│ │ │ │ │ ├── IO.tcc
│ │ │ │ │ ├── IOHDF5.cpp
│ │ │ │ │ ├── IOMPI.cpp
│ │ │ │ │ ├── Info.cpp
│ │ │ │ │ ├── Info.h
│ │ │ │ │ ├── Operator.cpp
│ │ │ │ │ ├── Operator.h
│ │ │ │ │ ├── Span.cpp
│ │ │ │ │ ├── Span.h
│ │ │ │ │ ├── Span.tcc
│ │ │ │ │ ├── Stream.cpp
│ │ │ │ │ ├── Stream.h
│ │ │ │ │ ├── Stream.tcc
│ │ │ │ │ ├── Variable.cpp
│ │ │ │ │ ├── Variable.h
│ │ │ │ │ ├── Variable.tcc
│ │ │ │ │ ├── VariableBase.cpp
│ │ │ │ │ ├── VariableBase.h
│ │ │ │ │ ├── VariableDerived.cpp
│ │ │ │ │ ├── VariableDerived.h
│ │ │ │ │ ├── VariableStruct.cpp
│ │ │ │ │ └── VariableStruct.h
│ │ │ │ ├── engine/
│ │ │ │ │ ├── bp3/
│ │ │ │ │ │ ├── BP3Reader.cpp
│ │ │ │ │ │ ├── BP3Reader.h
│ │ │ │ │ │ ├── BP3Reader.tcc
│ │ │ │ │ │ ├── BP3Writer.cpp
│ │ │ │ │ │ ├── BP3Writer.h
│ │ │ │ │ │ └── BP3Writer.tcc
│ │ │ │ │ ├── bp4/
│ │ │ │ │ │ ├── BP4Reader.cpp
│ │ │ │ │ │ ├── BP4Reader.h
│ │ │ │ │ │ ├── BP4Reader.tcc
│ │ │ │ │ │ ├── BP4Writer.cpp
│ │ │ │ │ │ ├── BP4Writer.h
│ │ │ │ │ │ └── BP4Writer.tcc
│ │ │ │ │ ├── bp5/
│ │ │ │ │ │ ├── BP5Engine.cpp
│ │ │ │ │ │ ├── BP5Engine.h
│ │ │ │ │ │ ├── BP5Reader.cpp
│ │ │ │ │ │ ├── BP5Reader.h
│ │ │ │ │ │ ├── BP5Reader.tcc
│ │ │ │ │ │ ├── BP5Writer.cpp
│ │ │ │ │ │ ├── BP5Writer.h
│ │ │ │ │ │ ├── BP5Writer.tcc
│ │ │ │ │ │ ├── BP5Writer_EveryoneWrites_Async.cpp
│ │ │ │ │ │ ├── BP5Writer_TwoLevelShm.cpp
│ │ │ │ │ │ └── BP5Writer_TwoLevelShm_Async.cpp
│ │ │ │ │ ├── campaign/
│ │ │ │ │ │ ├── CampaignData.cpp
│ │ │ │ │ │ ├── CampaignData.h
│ │ │ │ │ │ ├── CampaignManager.cpp
│ │ │ │ │ │ ├── CampaignManager.h
│ │ │ │ │ │ ├── CampaignReader.cpp
│ │ │ │ │ │ ├── CampaignReader.h
│ │ │ │ │ │ ├── CampaignReader.tcc
│ │ │ │ │ │ └── CampaignRecord.h
│ │ │ │ │ ├── daos/
│ │ │ │ │ │ ├── BP5Writer_TwoLevelShm.cpp
│ │ │ │ │ │ ├── DaosEngine.cpp
│ │ │ │ │ │ ├── DaosEngine.h
│ │ │ │ │ │ ├── DaosReader.cpp
│ │ │ │ │ │ ├── DaosReader.h
│ │ │ │ │ │ ├── DaosReader.tcc
│ │ │ │ │ │ ├── DaosWriter.cpp
│ │ │ │ │ │ ├── DaosWriter.h
│ │ │ │ │ │ ├── DaosWriter.tcc
│ │ │ │ │ │ ├── DaosWriter_EveryoneWrites_Async.cpp
│ │ │ │ │ │ ├── DaosWriter_TwoLevelShm.cpp
│ │ │ │ │ │ └── DaosWriter_TwoLevelShm_Async.cpp
│ │ │ │ │ ├── dataman/
│ │ │ │ │ │ ├── DataManMonitor.cpp
│ │ │ │ │ │ ├── DataManMonitor.h
│ │ │ │ │ │ ├── DataManReader.cpp
│ │ │ │ │ │ ├── DataManReader.h
│ │ │ │ │ │ ├── DataManReader.tcc
│ │ │ │ │ │ ├── DataManWriter.cpp
│ │ │ │ │ │ ├── DataManWriter.h
│ │ │ │ │ │ └── DataManWriter.tcc
│ │ │ │ │ ├── dataspaces/
│ │ │ │ │ │ ├── DataSpacesReader.cpp
│ │ │ │ │ │ ├── DataSpacesReader.h
│ │ │ │ │ │ ├── DataSpacesReader.tcc
│ │ │ │ │ │ ├── DataSpacesWriter.cpp
│ │ │ │ │ │ ├── DataSpacesWriter.h
│ │ │ │ │ │ └── DataSpacesWriter.tcc
│ │ │ │ │ ├── hdf5/
│ │ │ │ │ │ ├── HDF5ReaderP.cpp
│ │ │ │ │ │ ├── HDF5ReaderP.h
│ │ │ │ │ │ ├── HDF5ReaderP.tcc
│ │ │ │ │ │ ├── HDF5WriterP.cpp
│ │ │ │ │ │ └── HDF5WriterP.h
│ │ │ │ │ ├── inline/
│ │ │ │ │ │ ├── InlineReader.cpp
│ │ │ │ │ │ ├── InlineReader.h
│ │ │ │ │ │ ├── InlineReader.tcc
│ │ │ │ │ │ ├── InlineWriter.cpp
│ │ │ │ │ │ ├── InlineWriter.h
│ │ │ │ │ │ └── InlineWriter.tcc
│ │ │ │ │ ├── mhs/
│ │ │ │ │ │ ├── MhsReader.cpp
│ │ │ │ │ │ ├── MhsReader.h
│ │ │ │ │ │ ├── MhsReader.tcc
│ │ │ │ │ │ ├── MhsWriter.cpp
│ │ │ │ │ │ ├── MhsWriter.h
│ │ │ │ │ │ └── MhsWriter.tcc
│ │ │ │ │ ├── null/
│ │ │ │ │ │ ├── NullReader.cpp
│ │ │ │ │ │ ├── NullReader.h
│ │ │ │ │ │ ├── NullReader.tcc
│ │ │ │ │ │ ├── NullWriter.cpp
│ │ │ │ │ │ ├── NullWriter.h
│ │ │ │ │ │ └── NullWriter.tcc
│ │ │ │ │ ├── plugin/
│ │ │ │ │ │ ├── PluginEngine.cpp
│ │ │ │ │ │ ├── PluginEngine.h
│ │ │ │ │ │ ├── PluginEngineInterface.cpp
│ │ │ │ │ │ └── PluginEngineInterface.h
│ │ │ │ │ ├── skeleton/
│ │ │ │ │ │ ├── SkeletonReader.cpp
│ │ │ │ │ │ ├── SkeletonReader.h
│ │ │ │ │ │ ├── SkeletonReader.tcc
│ │ │ │ │ │ ├── SkeletonWriter.cpp
│ │ │ │ │ │ ├── SkeletonWriter.h
│ │ │ │ │ │ └── SkeletonWriter.tcc
│ │ │ │ │ ├── ssc/
│ │ │ │ │ │ ├── SscHelper.cpp
│ │ │ │ │ │ ├── SscHelper.h
│ │ │ │ │ │ ├── SscReader.cpp
│ │ │ │ │ │ ├── SscReader.h
│ │ │ │ │ │ ├── SscReaderBase.cpp
│ │ │ │ │ │ ├── SscReaderBase.h
│ │ │ │ │ │ ├── SscReaderGeneric.cpp
│ │ │ │ │ │ ├── SscReaderGeneric.h
│ │ │ │ │ │ ├── SscReaderGeneric.tcc
│ │ │ │ │ │ ├── SscReaderNaive.cpp
│ │ │ │ │ │ ├── SscReaderNaive.h
│ │ │ │ │ │ ├── SscReaderNaive.tcc
│ │ │ │ │ │ ├── SscWriter.cpp
│ │ │ │ │ │ ├── SscWriter.h
│ │ │ │ │ │ ├── SscWriterBase.cpp
│ │ │ │ │ │ ├── SscWriterBase.h
│ │ │ │ │ │ ├── SscWriterGeneric.cpp
│ │ │ │ │ │ ├── SscWriterGeneric.h
│ │ │ │ │ │ ├── SscWriterNaive.cpp
│ │ │ │ │ │ └── SscWriterNaive.h
│ │ │ │ │ └── sst/
│ │ │ │ │ ├── SstParamParser.cpp
│ │ │ │ │ ├── SstParamParser.h
│ │ │ │ │ ├── SstReader.cpp
│ │ │ │ │ ├── SstReader.h
│ │ │ │ │ ├── SstReader.tcc
│ │ │ │ │ ├── SstWriter.cpp
│ │ │ │ │ ├── SstWriter.h
│ │ │ │ │ └── SstWriter.tcc
│ │ │ │ ├── helper/
│ │ │ │ │ ├── adiosCUDA.cu
│ │ │ │ │ ├── adiosCUDA.h
│ │ │ │ │ ├── adiosComm.cpp
│ │ │ │ │ ├── adiosComm.h
│ │ │ │ │ ├── adiosComm.inl
│ │ │ │ │ ├── adiosComm.tcc
│ │ │ │ │ ├── adiosCommDummy.cpp
│ │ │ │ │ ├── adiosCommDummy.h
│ │ │ │ │ ├── adiosCommMPI.cpp
│ │ │ │ │ ├── adiosCommMPI.h
│ │ │ │ │ ├── adiosDynamicBinder.cpp
│ │ │ │ │ ├── adiosDynamicBinder.h
│ │ │ │ │ ├── adiosFunctions.h
│ │ │ │ │ ├── adiosGPUFunctions.h
│ │ │ │ │ ├── adiosJSONcomplex.h
│ │ │ │ │ ├── adiosLog.cpp
│ │ │ │ │ ├── adiosLog.h
│ │ │ │ │ ├── adiosMath.cpp
│ │ │ │ │ ├── adiosMath.h
│ │ │ │ │ ├── adiosMath.inl
│ │ │ │ │ ├── adiosMemory.cpp
│ │ │ │ │ ├── adiosMemory.h
│ │ │ │ │ ├── adiosMemory.inl
│ │ │ │ │ ├── adiosMemory.tcc
│ │ │ │ │ ├── adiosMpiHandshake.cpp
│ │ │ │ │ ├── adiosMpiHandshake.h
│ │ │ │ │ ├── adiosNetwork.cpp
│ │ │ │ │ ├── adiosNetwork.h
│ │ │ │ │ ├── adiosPluginManager.cpp
│ │ │ │ │ ├── adiosPluginManager.h
│ │ │ │ │ ├── adiosRangeFilter.cpp
│ │ │ │ │ ├── adiosRangeFilter.h
│ │ │ │ │ ├── adiosString.cpp
│ │ │ │ │ ├── adiosString.h
│ │ │ │ │ ├── adiosString.tcc
│ │ │ │ │ ├── adiosSystem.cpp
│ │ │ │ │ ├── adiosSystem.h
│ │ │ │ │ ├── adiosType.cpp
│ │ │ │ │ ├── adiosType.h
│ │ │ │ │ ├── adiosType.inl
│ │ │ │ │ ├── adiosXML.cpp
│ │ │ │ │ ├── adiosXML.h
│ │ │ │ │ ├── adiosXMLUtil.cpp
│ │ │ │ │ ├── adiosXMLUtil.h
│ │ │ │ │ ├── adiosYAML.cpp
│ │ │ │ │ ├── adiosYAML.h
│ │ │ │ │ └── kokkos/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── adiosKokkos.cpp
│ │ │ │ │ └── adiosKokkos.h
│ │ │ │ ├── operator/
│ │ │ │ │ ├── OperatorFactory.cpp
│ │ │ │ │ ├── OperatorFactory.h
│ │ │ │ │ ├── callback/
│ │ │ │ │ │ ├── Signature1.cpp
│ │ │ │ │ │ ├── Signature1.h
│ │ │ │ │ │ ├── Signature2.cpp
│ │ │ │ │ │ └── Signature2.h
│ │ │ │ │ ├── compress/
│ │ │ │ │ │ ├── CompressBZIP2.cpp
│ │ │ │ │ │ ├── CompressBZIP2.h
│ │ │ │ │ │ ├── CompressBlosc.cpp
│ │ │ │ │ │ ├── CompressBlosc.h
│ │ │ │ │ │ ├── CompressLibPressio.cpp
│ │ │ │ │ │ ├── CompressLibPressio.h
│ │ │ │ │ │ ├── CompressMGARD.cpp
│ │ │ │ │ │ ├── CompressMGARD.h
│ │ │ │ │ │ ├── CompressMGARDPlus.cpp
│ │ │ │ │ │ ├── CompressMGARDPlus.h
│ │ │ │ │ │ ├── CompressNull.cpp
│ │ │ │ │ │ ├── CompressNull.h
│ │ │ │ │ │ ├── CompressPNG.cpp
│ │ │ │ │ │ ├── CompressPNG.h
│ │ │ │ │ │ ├── CompressSZ.cpp
│ │ │ │ │ │ ├── CompressSZ.h
│ │ │ │ │ │ ├── CompressSirius.cpp
│ │ │ │ │ │ ├── CompressSirius.h
│ │ │ │ │ │ ├── CompressZFP.cpp
│ │ │ │ │ │ └── CompressZFP.h
│ │ │ │ │ ├── plugin/
│ │ │ │ │ │ ├── PluginOperator.cpp
│ │ │ │ │ │ ├── PluginOperator.h
│ │ │ │ │ │ ├── PluginOperatorInterface.cpp
│ │ │ │ │ │ └── PluginOperatorInterface.h
│ │ │ │ │ └── refactor/
│ │ │ │ │ ├── RefactorMDR.cpp
│ │ │ │ │ └── RefactorMDR.h
│ │ │ │ └── toolkit/
│ │ │ │ ├── aggregator/
│ │ │ │ │ └── mpi/
│ │ │ │ │ ├── MPIAggregator.cpp
│ │ │ │ │ ├── MPIAggregator.h
│ │ │ │ │ ├── MPIChain.cpp
│ │ │ │ │ ├── MPIChain.h
│ │ │ │ │ ├── MPIShmChain.cpp
│ │ │ │ │ └── MPIShmChain.h
│ │ │ │ ├── burstbuffer/
│ │ │ │ │ ├── FileDrainer.cpp
│ │ │ │ │ ├── FileDrainer.h
│ │ │ │ │ ├── FileDrainerSingleThread.cpp
│ │ │ │ │ └── FileDrainerSingleThread.h
│ │ │ │ ├── dataspaces/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── DSpacesConfig.h.in
│ │ │ │ │ ├── ds.h
│ │ │ │ │ ├── ds_data.h
│ │ │ │ │ └── ds_writer.c
│ │ │ │ ├── derived/
│ │ │ │ │ ├── ExprHelper.h
│ │ │ │ │ ├── Expression.cpp
│ │ │ │ │ ├── Expression.h
│ │ │ │ │ ├── Function.cpp
│ │ │ │ │ ├── Function.h
│ │ │ │ │ ├── Function.tcc
│ │ │ │ │ └── parser/
│ │ │ │ │ ├── ASTDriver.cpp
│ │ │ │ │ ├── ASTDriver.h
│ │ │ │ │ ├── ASTNode.cpp
│ │ │ │ │ ├── ASTNode.h
│ │ │ │ │ ├── lexer.l
│ │ │ │ │ ├── parser.y
│ │ │ │ │ └── pregen-source/
│ │ │ │ │ ├── lexer.cpp
│ │ │ │ │ ├── lexer.h
│ │ │ │ │ ├── location.hh
│ │ │ │ │ ├── parser.cpp
│ │ │ │ │ └── parser.h
│ │ │ │ ├── format/
│ │ │ │ │ ├── bp/
│ │ │ │ │ │ ├── BPBase.cpp
│ │ │ │ │ │ ├── BPBase.h
│ │ │ │ │ │ ├── BPBase.inl
│ │ │ │ │ │ ├── BPBase.tcc
│ │ │ │ │ │ ├── BPSerializer.cpp
│ │ │ │ │ │ ├── BPSerializer.h
│ │ │ │ │ │ ├── BPSerializer.inl
│ │ │ │ │ │ ├── BPSerializer.tcc
│ │ │ │ │ │ ├── bp3/
│ │ │ │ │ │ │ ├── BP3Base.cpp
│ │ │ │ │ │ │ ├── BP3Base.h
│ │ │ │ │ │ │ ├── BP3Deserializer.cpp
│ │ │ │ │ │ │ ├── BP3Deserializer.h
│ │ │ │ │ │ │ ├── BP3Deserializer.tcc
│ │ │ │ │ │ │ ├── BP3Serializer.cpp
│ │ │ │ │ │ │ ├── BP3Serializer.h
│ │ │ │ │ │ │ └── BP3Serializer.tcc
│ │ │ │ │ │ ├── bp4/
│ │ │ │ │ │ │ ├── BP4Base.cpp
│ │ │ │ │ │ │ ├── BP4Base.h
│ │ │ │ │ │ │ ├── BP4Deserializer.cpp
│ │ │ │ │ │ │ ├── BP4Deserializer.h
│ │ │ │ │ │ │ ├── BP4Deserializer.tcc
│ │ │ │ │ │ │ ├── BP4Serializer.cpp
│ │ │ │ │ │ │ ├── BP4Serializer.h
│ │ │ │ │ │ │ └── BP4Serializer.tcc
│ │ │ │ │ │ └── bpBackCompatOperation/
│ │ │ │ │ │ ├── BPBackCompatOperation.h
│ │ │ │ │ │ └── compress/
│ │ │ │ │ │ ├── BPBackCompatBlosc.cpp
│ │ │ │ │ │ └── BPBackCompatBlosc.h
│ │ │ │ │ ├── bp5/
│ │ │ │ │ │ ├── BP5Base.cpp
│ │ │ │ │ │ ├── BP5Base.h
│ │ │ │ │ │ ├── BP5Deserializer.cpp
│ │ │ │ │ │ ├── BP5Deserializer.h
│ │ │ │ │ │ ├── BP5Deserializer.tcc
│ │ │ │ │ │ ├── BP5Serializer.cpp
│ │ │ │ │ │ └── BP5Serializer.h
│ │ │ │ │ ├── buffer/
│ │ │ │ │ │ ├── Buffer.cpp
│ │ │ │ │ │ ├── Buffer.h
│ │ │ │ │ │ ├── BufferV.cpp
│ │ │ │ │ │ ├── BufferV.h
│ │ │ │ │ │ ├── chunk/
│ │ │ │ │ │ │ ├── ChunkV.cpp
│ │ │ │ │ │ │ └── ChunkV.h
│ │ │ │ │ │ ├── ffs/
│ │ │ │ │ │ │ ├── BufferFFS.cpp
│ │ │ │ │ │ │ ├── BufferFFS.h
│ │ │ │ │ │ │ └── BufferSTL.tcc
│ │ │ │ │ │ ├── heap/
│ │ │ │ │ │ │ ├── BufferMalloc.cpp
│ │ │ │ │ │ │ ├── BufferMalloc.h
│ │ │ │ │ │ │ ├── BufferMalloc.tcc
│ │ │ │ │ │ │ ├── BufferSTL.cpp
│ │ │ │ │ │ │ ├── BufferSTL.h
│ │ │ │ │ │ │ └── BufferSTL.tcc
│ │ │ │ │ │ ├── ipc/
│ │ │ │ │ │ │ ├── BufferSystemV.cpp
│ │ │ │ │ │ │ └── BufferSystemV.h
│ │ │ │ │ │ └── malloc/
│ │ │ │ │ │ ├── MallocV.cpp
│ │ │ │ │ │ └── MallocV.h
│ │ │ │ │ └── dataman/
│ │ │ │ │ ├── DataManSerializer.cpp
│ │ │ │ │ ├── DataManSerializer.h
│ │ │ │ │ └── DataManSerializer.tcc
│ │ │ │ ├── interop/
│ │ │ │ │ └── hdf5/
│ │ │ │ │ ├── HDF5Common.cpp
│ │ │ │ │ ├── HDF5Common.h
│ │ │ │ │ ├── HDF5Common.tcc
│ │ │ │ │ └── HDF5CommonMPI.cpp
│ │ │ │ ├── profiling/
│ │ │ │ │ └── iochrono/
│ │ │ │ │ ├── IOChrono.cpp
│ │ │ │ │ ├── IOChrono.h
│ │ │ │ │ ├── Timer.cpp
│ │ │ │ │ └── Timer.h
│ │ │ │ ├── query/
│ │ │ │ │ ├── BlockIndex.cpp
│ │ │ │ │ ├── BlockIndex.h
│ │ │ │ │ ├── Index.h
│ │ │ │ │ ├── JsonWorker.cpp
│ │ │ │ │ ├── Query.cpp
│ │ │ │ │ ├── Query.h
│ │ │ │ │ ├── Query.tcc
│ │ │ │ │ ├── Util.h
│ │ │ │ │ ├── Worker.cpp
│ │ │ │ │ ├── Worker.h
│ │ │ │ │ └── XmlWorker.cpp
│ │ │ │ ├── remote/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Remote.cpp
│ │ │ │ │ ├── Remote.h
│ │ │ │ │ ├── remote_common.cpp
│ │ │ │ │ ├── remote_common.h
│ │ │ │ │ └── remote_server.cpp
│ │ │ │ ├── shm/
│ │ │ │ │ ├── SerializeProcesses.cpp
│ │ │ │ │ ├── SerializeProcesses.h
│ │ │ │ │ ├── Spinlock.cpp
│ │ │ │ │ ├── Spinlock.h
│ │ │ │ │ └── TokenChain.h
│ │ │ │ ├── sst/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── SSTConfig.h.in
│ │ │ │ │ ├── cp/
│ │ │ │ │ │ ├── cp_common.c
│ │ │ │ │ │ ├── cp_internal.h
│ │ │ │ │ │ ├── cp_reader.c
│ │ │ │ │ │ ├── cp_writer.c
│ │ │ │ │ │ ├── ffs_marshal.c
│ │ │ │ │ │ ├── ffs_marshal.h
│ │ │ │ │ │ └── ffs_zfp.c
│ │ │ │ │ ├── dp/
│ │ │ │ │ │ ├── daos_dp.c
│ │ │ │ │ │ ├── dp.c
│ │ │ │ │ │ ├── dummy_dp.c
│ │ │ │ │ │ ├── evpath_dp.c
│ │ │ │ │ │ ├── mpi_dp.c
│ │ │ │ │ │ ├── rdma_dp.c
│ │ │ │ │ │ └── ucx_dp.c
│ │ │ │ │ ├── dp_interface.h
│ │ │ │ │ ├── sst.h
│ │ │ │ │ ├── sst_comm.cpp
│ │ │ │ │ ├── sst_comm.h
│ │ │ │ │ ├── sst_comm_fwd.h
│ │ │ │ │ ├── sst_data.h
│ │ │ │ │ └── util/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── sst_conn_tool.c
│ │ │ │ │ └── sst_conn_tool.cxx
│ │ │ │ ├── transport/
│ │ │ │ │ ├── Transport.cpp
│ │ │ │ │ ├── Transport.h
│ │ │ │ │ ├── file/
│ │ │ │ │ │ ├── FileAWSSDK.cpp
│ │ │ │ │ │ ├── FileAWSSDK.h
│ │ │ │ │ │ ├── FileDaos.cpp
│ │ │ │ │ │ ├── FileDaos.h
│ │ │ │ │ │ ├── FileFStream.cpp
│ │ │ │ │ │ ├── FileFStream.h
│ │ │ │ │ │ ├── FileHTTP.cpp
│ │ │ │ │ │ ├── FileHTTP.h
│ │ │ │ │ │ ├── FileIME.cpp
│ │ │ │ │ │ ├── FileIME.h
│ │ │ │ │ │ ├── FilePOSIX.cpp
│ │ │ │ │ │ ├── FilePOSIX.h
│ │ │ │ │ │ ├── FileRemote.cpp
│ │ │ │ │ │ ├── FileRemote.h
│ │ │ │ │ │ ├── FileStdio.cpp
│ │ │ │ │ │ └── FileStdio.h
│ │ │ │ │ ├── null/
│ │ │ │ │ │ ├── NullTransport.cpp
│ │ │ │ │ │ └── NullTransport.h
│ │ │ │ │ └── shm/
│ │ │ │ │ ├── ShmSystemV.cpp
│ │ │ │ │ └── ShmSystemV.h
│ │ │ │ ├── transportman/
│ │ │ │ │ ├── TransportMan.cpp
│ │ │ │ │ └── TransportMan.h
│ │ │ │ └── zmq/
│ │ │ │ ├── zmqpubsub/
│ │ │ │ │ ├── ZmqPubSub.cpp
│ │ │ │ │ └── ZmqPubSub.h
│ │ │ │ └── zmqreqrep/
│ │ │ │ ├── ZmqReqRep.cpp
│ │ │ │ └── ZmqReqRep.h
│ │ │ ├── h5vol/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── H5Vol.c
│ │ │ │ ├── H5Vol.h
│ │ │ │ ├── H5VolError.h
│ │ │ │ ├── H5VolReadWrite.c
│ │ │ │ ├── H5VolReadWrite.h
│ │ │ │ ├── H5VolUtil.c
│ │ │ │ ├── H5VolUtil.h
│ │ │ │ ├── H5Vol_attr.c
│ │ │ │ ├── H5Vol_dataset.c
│ │ │ │ ├── H5Vol_def.h
│ │ │ │ ├── H5Vol_file.c
│ │ │ │ ├── H5Vol_group.c
│ │ │ │ ├── H5Vol_link.c
│ │ │ │ ├── H5Vol_object.c
│ │ │ │ └── READ.ME
│ │ │ └── utils/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Utils.cpp
│ │ │ ├── Utils.h
│ │ │ ├── adios2_deactivate_bp
│ │ │ ├── adios2_json_pp.py
│ │ │ ├── adios_campaign_manager/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── adios2_campaign_manager.py
│ │ │ ├── adios_iotest/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── adiosStream.cpp
│ │ │ │ ├── adiosStream.h
│ │ │ │ ├── adios_iotest.cpp
│ │ │ │ ├── decomp.cpp
│ │ │ │ ├── decomp.h
│ │ │ │ ├── hdf5Stream.cpp
│ │ │ │ ├── hdf5Stream.h
│ │ │ │ ├── ioGroup.cpp
│ │ │ │ ├── ioGroup.h
│ │ │ │ ├── iotest-config/
│ │ │ │ │ ├── coupling2.xml
│ │ │ │ │ ├── coupling2_blocking_01_simple.txt
│ │ │ │ │ ├── coupling2_blocking_02_dump_result.txt
│ │ │ │ │ ├── manyvars.txt
│ │ │ │ │ ├── pipe2.xml
│ │ │ │ │ ├── pipe2_01_simple.txt
│ │ │ │ │ ├── pipe2_02_link.txt
│ │ │ │ │ ├── pipe2_03_conditional.txt
│ │ │ │ │ ├── pipe2_04_nonblocking.txt
│ │ │ │ │ ├── pipe2_05_add_variables.txt
│ │ │ │ │ ├── pipe2_06_busy.txt
│ │ │ │ │ ├── wf_2_to_1.txt
│ │ │ │ │ └── wf_2_to_1.xml
│ │ │ │ ├── processConfig.cpp
│ │ │ │ ├── processConfig.h
│ │ │ │ ├── settings.cpp
│ │ │ │ ├── settings.h
│ │ │ │ ├── stream.cpp
│ │ │ │ └── stream.h
│ │ │ ├── adios_reorganize/
│ │ │ │ ├── Reorganize.cpp
│ │ │ │ ├── Reorganize.h
│ │ │ │ ├── adios2_reorganize_wrapper
│ │ │ │ └── main.cpp
│ │ │ ├── bp4dbg/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── adios2/
│ │ │ │ │ └── bp4dbg/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── data.py
│ │ │ │ │ ├── idxtable.py
│ │ │ │ │ ├── metadata.py
│ │ │ │ │ └── utils.py
│ │ │ │ └── bp4dbg.py
│ │ │ ├── bp5dbg/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── adios2/
│ │ │ │ │ └── bp5dbg/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── idxtable.py
│ │ │ │ │ ├── metadata.py
│ │ │ │ │ ├── metametadata.py
│ │ │ │ │ └── utils.py
│ │ │ │ └── bp5dbg.py
│ │ │ ├── bpls/
│ │ │ │ ├── bpls.cmake.gen.in
│ │ │ │ ├── bpls.cpp
│ │ │ │ └── bpls.h
│ │ │ └── verinfo.h.in
│ │ ├── testing/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── adios2/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── backward_compatibility/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── TestBP4ReadOldCompressed.cpp
│ │ │ │ │ ├── create_compressed_file.txt
│ │ │ │ │ └── create_compressed_file.xml
│ │ │ │ ├── bindings/
│ │ │ │ │ ├── C/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── SmallTestData_c.h
│ │ │ │ │ │ ├── TestBPAvailableVariablesAttribites.cpp
│ │ │ │ │ │ ├── TestBPMemorySpace.cpp
│ │ │ │ │ │ ├── TestBPWriteAggregateReadLocal.cpp
│ │ │ │ │ │ ├── TestBPWriteReadMultiblock.cpp
│ │ │ │ │ │ ├── TestBPWriteTypes.cpp
│ │ │ │ │ │ └── TestNullWriteRead.cpp
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fortran/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── SmallTestData_mod.F90
│ │ │ │ │ │ ├── TestAdios2BindingsFortranIO.F90
│ │ │ │ │ │ ├── TestBPMemorySpace.F90
│ │ │ │ │ │ ├── TestBPMemorySpaceGPU.F90
│ │ │ │ │ │ ├── TestBPReadGlobalsByName.F90
│ │ │ │ │ │ ├── TestBPWriteMemorySelectionRead2D.F90
│ │ │ │ │ │ ├── TestBPWriteMemorySelectionRead3D.F90
│ │ │ │ │ │ ├── TestBPWriteReadAttributes.F90
│ │ │ │ │ │ ├── TestBPWriteReadHeatMap2D.F90
│ │ │ │ │ │ ├── TestBPWriteReadHeatMap3D.F90
│ │ │ │ │ │ ├── TestBPWriteReadHeatMap4D.F90
│ │ │ │ │ │ ├── TestBPWriteReadHeatMap5D.F90
│ │ │ │ │ │ ├── TestBPWriteReadHeatMap6D.F90
│ │ │ │ │ │ ├── TestBPWriteTypes.F90
│ │ │ │ │ │ ├── TestBPWriteTypesByName.F90
│ │ │ │ │ │ ├── TestBPWriteTypesLocal.F90
│ │ │ │ │ │ ├── TestBPWriteVariableAttributes.F90
│ │ │ │ │ │ ├── TestF2C_BPReadFBlocks.cpp
│ │ │ │ │ │ ├── TestNullEngine.F90
│ │ │ │ │ │ ├── TestRemove.F90
│ │ │ │ │ │ └── operation/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── TestBPWriteReadSZ2D.F90
│ │ │ │ │ │ ├── TestBPWriteReadSZ3D.F90
│ │ │ │ │ │ ├── TestBPWriteReadZfp2D.F90
│ │ │ │ │ │ └── TestBPWriteReadZfp2DRemove.F90
│ │ │ │ │ └── python/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── TestBPBlocksInfo.py
│ │ │ │ │ ├── TestBPReadMultisteps.py
│ │ │ │ │ ├── TestBPSelectSteps.py
│ │ │ │ │ ├── TestBPWriteRead2D.py
│ │ │ │ │ ├── TestBPWriteReadString.py
│ │ │ │ │ ├── TestBPWriteReadTypes.py
│ │ │ │ │ ├── TestBPWriteReadTypes_nompi.py
│ │ │ │ │ ├── TestGetException_nompi.py
│ │ │ │ │ ├── TestNullEngine.py
│ │ │ │ │ ├── TestQuery.py
│ │ │ │ │ ├── TestQueryLocalArray.py
│ │ │ │ │ ├── adios2NPTypes.py
│ │ │ │ │ └── types_np.h5
│ │ │ │ ├── derived/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── TestBPDerivedCorrectness.cpp
│ │ │ │ ├── engine/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── SmallTestData.h
│ │ │ │ │ ├── bp/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── TestBPAccuracyDefaults.cpp
│ │ │ │ │ │ ├── TestBPAppendAfterSteps.cpp
│ │ │ │ │ │ ├── TestBPBufferSize.cpp
│ │ │ │ │ │ ├── TestBPChangingShape.cpp
│ │ │ │ │ │ ├── TestBPChangingShapeWithinStep.cpp
│ │ │ │ │ │ ├── TestBPDirectIO.cpp
│ │ │ │ │ │ ├── TestBPFStreamWriteReadHighLevelAPI.cpp
│ │ │ │ │ │ ├── TestBPFortranToCppReader.cpp
│ │ │ │ │ │ ├── TestBPFortranToCppWriter.F90
│ │ │ │ │ │ ├── TestBPInquireDefine.cpp
│ │ │ │ │ │ ├── TestBPInquireVariableException.cpp
│ │ │ │ │ │ ├── TestBPJoinedArray.cpp
│ │ │ │ │ │ ├── TestBPLargeMetadata.cpp
│ │ │ │ │ │ ├── TestBPNoXMLRecovery.cpp
│ │ │ │ │ │ ├── TestBPParameterSelectSteps.cpp
│ │ │ │ │ │ ├── TestBPReadMultithreaded.cpp
│ │ │ │ │ │ ├── TestBPSelectionsCuda.cpp
│ │ │ │ │ │ ├── TestBPSelectionsOnColumnMajorData.cpp
│ │ │ │ │ │ ├── TestBPSelectionsOnRowMajorData.cpp
│ │ │ │ │ │ ├── TestBPStepsFileGlobalArray.cpp
│ │ │ │ │ │ ├── TestBPStepsFileLocalArray.cpp
│ │ │ │ │ │ ├── TestBPStepsInSituGlobalArray.cpp
│ │ │ │ │ │ ├── TestBPStepsInSituLocalArray.cpp
│ │ │ │ │ │ ├── TestBPTimeAggregation.cpp
│ │ │ │ │ │ ├── TestBPWriteAggregateRead.cpp
│ │ │ │ │ │ ├── TestBPWriteAppendReadADIOS2.cpp
│ │ │ │ │ │ ├── TestBPWriteFlushRead.cpp
│ │ │ │ │ │ ├── TestBPWriteMemorySelectionRead.cpp
│ │ │ │ │ │ ├── TestBPWriteMultiblockRead.cpp
│ │ │ │ │ │ ├── TestBPWriteNull.cpp
│ │ │ │ │ │ ├── TestBPWriteProfilingJSON.cpp
│ │ │ │ │ │ ├── TestBPWriteReadADIOS2.cpp
│ │ │ │ │ │ ├── TestBPWriteReadADIOS2fstream.cpp
│ │ │ │ │ │ ├── TestBPWriteReadADIOS2stdio.cpp
│ │ │ │ │ │ ├── TestBPWriteReadAsStreamADIOS2.cpp
│ │ │ │ │ │ ├── TestBPWriteReadAsStreamADIOS2_Threads.cpp
│ │ │ │ │ │ ├── TestBPWriteReadAttributes.cpp
│ │ │ │ │ │ ├── TestBPWriteReadAttributesMultirank.cpp
│ │ │ │ │ │ ├── TestBPWriteReadBlockInfo.cpp
│ │ │ │ │ │ ├── TestBPWriteReadCuda.cpp
│ │ │ │ │ │ ├── TestBPWriteReadFlatten.cpp
│ │ │ │ │ │ ├── TestBPWriteReadLocalVariables.cpp
│ │ │ │ │ │ ├── TestBPWriteReadLocalVariablesSel.cpp
│ │ │ │ │ │ ├── TestBPWriteReadLocalVariablesSelHighLevel.cpp
│ │ │ │ │ │ ├── TestBPWriteReadMultiblock.cpp
│ │ │ │ │ │ ├── TestBPWriteReadVariableSpan.cpp
│ │ │ │ │ │ ├── TestBPWriteReadVector.cpp
│ │ │ │ │ │ └── operations/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── CudaRoutines.cu
│ │ │ │ │ │ ├── CudaRoutines.h
│ │ │ │ │ │ ├── TestBPWriteReadBZIP2.cpp
│ │ │ │ │ │ ├── TestBPWriteReadBlosc.cpp
│ │ │ │ │ │ ├── TestBPWriteReadBlosc2.cpp
│ │ │ │ │ │ ├── TestBPWriteReadLocalVariables.cpp
│ │ │ │ │ │ ├── TestBPWriteReadMGARD.cpp
│ │ │ │ │ │ ├── TestBPWriteReadMGARDCuda.cpp
│ │ │ │ │ │ ├── TestBPWriteReadMGARDMDR.cpp
│ │ │ │ │ │ ├── TestBPWriteReadMGARDPlus.cpp
│ │ │ │ │ │ ├── TestBPWriteReadPNG.cpp
│ │ │ │ │ │ ├── TestBPWriteReadSZ.cpp
│ │ │ │ │ │ ├── TestBPWriteReadSzComplex.cpp
│ │ │ │ │ │ ├── TestBPWriteReadZfp.cpp
│ │ │ │ │ │ ├── TestBPWriteReadZfpComplex.cpp
│ │ │ │ │ │ ├── TestBPWriteReadZfpConfig.cpp
│ │ │ │ │ │ ├── TestBPWriteReadZfpCuda.cpp
│ │ │ │ │ │ ├── TestBPWriteReadZfpHighLevelAPI.cpp
│ │ │ │ │ │ ├── TestBPWriteReadZfpRemoveOperations.cpp
│ │ │ │ │ │ ├── configZfp_rate10.xml
│ │ │ │ │ │ ├── configZfp_rate10.yaml
│ │ │ │ │ │ ├── configZfp_rate10Simple.xml
│ │ │ │ │ │ ├── configZfp_rate8.xml
│ │ │ │ │ │ ├── configZfp_rate8.yaml
│ │ │ │ │ │ ├── configZfp_rate8Simple.xml
│ │ │ │ │ │ ├── configZfp_rate9.xml
│ │ │ │ │ │ ├── configZfp_rate9.yaml
│ │ │ │ │ │ └── configZfp_rate9Simple.xml
│ │ │ │ │ ├── common/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── TestEngineCommon.cpp
│ │ │ │ │ ├── dataman/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── TestDataMan1D.cpp
│ │ │ │ │ │ ├── TestDataMan1D.py
│ │ │ │ │ │ ├── TestDataMan1DSuperLarge.cpp
│ │ │ │ │ │ ├── TestDataMan1xN.py
│ │ │ │ │ │ ├── TestDataMan2DMemSelect.cpp
│ │ │ │ │ │ ├── TestDataMan2DSz.cpp
│ │ │ │ │ │ ├── TestDataMan2DZfp.cpp
│ │ │ │ │ │ ├── TestDataMan3DMemSelect.cpp
│ │ │ │ │ │ ├── TestDataManReaderDoubleBuffer.cpp
│ │ │ │ │ │ ├── TestDataManReaderSingleBuffer.cpp
│ │ │ │ │ │ ├── TestDataManReliable.cpp
│ │ │ │ │ │ ├── TestDataManSingleValues.py
│ │ │ │ │ │ ├── TestDataManWriterDoubleBuffer.cpp
│ │ │ │ │ │ └── TestDataManWriterSingleBuffer.cpp
│ │ │ │ │ ├── hdf5/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── TestHDF5Append.cpp
│ │ │ │ │ │ ├── TestHDF5StreamWriteReadHighLevelAPI.cpp
│ │ │ │ │ │ ├── TestHDF5WriteMemorySelectionRead.cpp
│ │ │ │ │ │ ├── TestHDF5WriteReadAsStream.cpp
│ │ │ │ │ │ ├── TestHDF5WriteReadAttributesADIOS2.cpp
│ │ │ │ │ │ └── TestNativeHDF5WriteRead.cpp
│ │ │ │ │ ├── inline/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── TestInlineWriteRead.cpp
│ │ │ │ │ ├── mhs/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── TestMhsCommon.h
│ │ │ │ │ │ ├── TestMhsMultiRank.cpp
│ │ │ │ │ │ ├── TestMhsMultiReader.cpp
│ │ │ │ │ │ └── TestMhsSingleRank.cpp
│ │ │ │ │ ├── null/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── TestNullWriteRead.cpp
│ │ │ │ │ ├── nullcore/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── TestNullCoreWrite.cpp
│ │ │ │ │ ├── skeleton/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── TestSkeletonReader.cpp
│ │ │ │ │ │ ├── TestSkeletonReaderExpectedOutput.txt
│ │ │ │ │ │ ├── TestSkeletonWriter.cpp
│ │ │ │ │ │ └── TestSkeletonWriterExpectedOutput.txt
│ │ │ │ │ ├── ssc/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── TestSsc3DMemSelect.cpp
│ │ │ │ │ │ ├── TestSsc7d.cpp
│ │ │ │ │ │ ├── TestSscBase.cpp
│ │ │ │ │ │ ├── TestSscBaseThreading.cpp
│ │ │ │ │ │ ├── TestSscBaseUnlocked.cpp
│ │ │ │ │ │ ├── TestSscCommon.h
│ │ │ │ │ │ ├── TestSscLockBeforeEndStep.cpp
│ │ │ │ │ │ ├── TestSscMoreReadersThanWriters.cpp
│ │ │ │ │ │ ├── TestSscMoreWritersThanReaders.cpp
│ │ │ │ │ │ ├── TestSscNoAttributes.cpp
│ │ │ │ │ │ ├── TestSscNoSelection.cpp
│ │ │ │ │ │ ├── TestSscOnlyOneStep.cpp
│ │ │ │ │ │ ├── TestSscOnlyTwoSteps.cpp
│ │ │ │ │ │ ├── TestSscReaderMultiblock.cpp
│ │ │ │ │ │ ├── TestSscSingleStep.cpp
│ │ │ │ │ │ ├── TestSscString.cpp
│ │ │ │ │ │ ├── TestSscStruct.cpp
│ │ │ │ │ │ ├── TestSscSuperLarge.cpp
│ │ │ │ │ │ ├── TestSscUnbalanced.cpp
│ │ │ │ │ │ ├── TestSscVaryingSteps.cpp
│ │ │ │ │ │ ├── TestSscWriterMultiblock.cpp
│ │ │ │ │ │ ├── TestSscXgc2Way.cpp
│ │ │ │ │ │ ├── TestSscXgc3Way.cpp
│ │ │ │ │ │ ├── TestSscXgc3WayMatchedSteps.cpp
│ │ │ │ │ │ └── TestSscZeroBlock.cpp
│ │ │ │ │ ├── sst/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── TestSstParamFails.cpp
│ │ │ │ │ │ └── TestSstWriterFails.cpp
│ │ │ │ │ └── staging-common/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── ParseArgs.h
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── TestCommonClient.cpp
│ │ │ │ │ ├── TestCommonRead.cpp
│ │ │ │ │ ├── TestCommonReadAttrs.cpp
│ │ │ │ │ ├── TestCommonReadF.F90
│ │ │ │ │ ├── TestCommonReadLocal.cpp
│ │ │ │ │ ├── TestCommonReadR64.cpp
│ │ │ │ │ ├── TestCommonReadShared.cpp
│ │ │ │ │ ├── TestCommonServer.cpp
│ │ │ │ │ ├── TestCommonSpanRead.cpp
│ │ │ │ │ ├── TestCommonSpanWrite.cpp
│ │ │ │ │ ├── TestCommonWrite.cpp
│ │ │ │ │ ├── TestCommonWriteAttrs.cpp
│ │ │ │ │ ├── TestCommonWriteF.F90
│ │ │ │ │ ├── TestCommonWriteLocal.cpp
│ │ │ │ │ ├── TestCommonWriteModes.cpp
│ │ │ │ │ ├── TestCommonWriteShared.cpp
│ │ │ │ │ ├── TestData.h
│ │ │ │ │ ├── TestData2.h
│ │ │ │ │ ├── TestData_mod.F90
│ │ │ │ │ ├── TestDefSyncWrite.cpp
│ │ │ │ │ ├── TestDistributionRead.cpp
│ │ │ │ │ ├── TestDistributionWrite.cpp
│ │ │ │ │ ├── TestLocalRead.cpp
│ │ │ │ │ ├── TestLocalWrite.cpp
│ │ │ │ │ ├── TestOnDemandMPI.cpp
│ │ │ │ │ ├── TestOnDemandRead.cpp
│ │ │ │ │ ├── TestOnDemandWrite.cpp
│ │ │ │ │ ├── TestReadJoined.cpp
│ │ │ │ │ ├── TestShapeChangingWrite.cpp
│ │ │ │ │ ├── TestStagingMPMD.cpp
│ │ │ │ │ ├── TestStructRead.cpp
│ │ │ │ │ ├── TestStructWrite.cpp
│ │ │ │ │ ├── TestSupp.cmake
│ │ │ │ │ ├── TestThreads.cpp
│ │ │ │ │ ├── TestWriteJoined.cpp
│ │ │ │ │ └── run_test.py.gen.in
│ │ │ │ ├── helper/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── TestDivideBlock.cpp
│ │ │ │ │ ├── TestHelperStrings.cpp
│ │ │ │ │ ├── TestMinMaxs.cpp
│ │ │ │ │ ├── TestRangeFilter.cpp
│ │ │ │ │ └── TestReadNonBPFile.cpp
│ │ │ │ ├── hierarchy/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── TestBPHierarchicalReading.cpp
│ │ │ │ ├── interface/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── TestADIOSDefineAttribute.cpp
│ │ │ │ │ ├── TestADIOSDefineVariable.cpp
│ │ │ │ │ ├── TestADIOSInfo.cpp
│ │ │ │ │ ├── TestADIOSInterface.cpp
│ │ │ │ │ ├── TestADIOSInterfaceWrite.cpp
│ │ │ │ │ ├── TestADIOSNoMpi.cpp
│ │ │ │ │ └── TestADIOSSelection.cpp
│ │ │ │ ├── performance/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── manyvars/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── PerfManyVars.c
│ │ │ │ │ │ └── TestManyVars.cpp
│ │ │ │ │ ├── metadata/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── PerfMetaData.cpp
│ │ │ │ │ │ └── README
│ │ │ │ │ └── query/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── TestBPQuery.cpp
│ │ │ │ ├── python/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── TestADIOS.py
│ │ │ │ │ ├── TestAttribute.py
│ │ │ │ │ ├── TestBPChangingShapeHighLevelAPI.py
│ │ │ │ │ ├── TestBPPNGHighLevelAPI.py
│ │ │ │ │ ├── TestBPWriteReadString.py
│ │ │ │ │ ├── TestBPWriteTypesHighLevelAPI.py
│ │ │ │ │ ├── TestBPWriteTypesHighLevelAPILocal.py
│ │ │ │ │ ├── TestBPWriteTypesHighLevelAPI_HDF5.py
│ │ │ │ │ ├── TestBPZfpHighLevelAPI.py
│ │ │ │ │ ├── TestEngine.py
│ │ │ │ │ ├── TestFileReader.py
│ │ │ │ │ ├── TestIO.py
│ │ │ │ │ ├── TestOperator.py
│ │ │ │ │ ├── TestStream.py
│ │ │ │ │ ├── TestVariable.py
│ │ │ │ │ └── adios2NPTypes.py
│ │ │ │ ├── transports/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── TestFile.cpp
│ │ │ │ ├── unit/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── TestChunkV.cpp
│ │ │ │ │ └── TestPosixTransport.cpp
│ │ │ │ ├── xml/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── TestXMLConfig.cpp
│ │ │ │ │ ├── TestXMLConfigSerial.cpp
│ │ │ │ │ ├── config1.xml
│ │ │ │ │ ├── config2.xml
│ │ │ │ │ ├── configOpNoneException.xml
│ │ │ │ │ ├── configOpNullException.xml
│ │ │ │ │ ├── configOpTypeException.xml
│ │ │ │ │ └── configRemoveIO.xml
│ │ │ │ └── yaml/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── TestYAMLConfig.cpp
│ │ │ │ ├── TestYAMLConfigSerial.cpp
│ │ │ │ ├── config1.yaml
│ │ │ │ ├── configOpNullException.yaml
│ │ │ │ ├── configOpTypeException.yaml
│ │ │ │ └── proto.yaml
│ │ │ ├── contract/
│ │ │ │ ├── examples/
│ │ │ │ │ ├── build.sh
│ │ │ │ │ ├── config.sh
│ │ │ │ │ ├── depends.sh
│ │ │ │ │ ├── install.sh
│ │ │ │ │ ├── setup.sh
│ │ │ │ │ └── test.sh
│ │ │ │ ├── lammps/
│ │ │ │ │ ├── adios2_config.xml
│ │ │ │ │ ├── build.sh
│ │ │ │ │ ├── check_results.sh
│ │ │ │ │ ├── config.sh
│ │ │ │ │ ├── depends.sh
│ │ │ │ │ ├── in.test
│ │ │ │ │ ├── install.sh
│ │ │ │ │ ├── setup.sh
│ │ │ │ │ └── test.sh
│ │ │ │ ├── scorpio/
│ │ │ │ │ ├── 0.dump
│ │ │ │ │ ├── 1.dump
│ │ │ │ │ ├── 2.dump
│ │ │ │ │ ├── 3.dump
│ │ │ │ │ ├── build.sh
│ │ │ │ │ ├── config.sh
│ │ │ │ │ ├── depends.sh
│ │ │ │ │ ├── install.sh
│ │ │ │ │ ├── setup.sh
│ │ │ │ │ └── test.sh
│ │ │ │ └── tau/
│ │ │ │ ├── build.sh
│ │ │ │ ├── config.sh
│ │ │ │ ├── depends.sh
│ │ │ │ ├── install.sh
│ │ │ │ ├── setup.sh
│ │ │ │ └── test.sh
│ │ │ ├── examples/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── heatTransfer/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── HeatTransfer.Dump.txt
│ │ │ │ ├── TestBPFileMx1.cmake
│ │ │ │ ├── TestBPFileMx1_zfp.cmake
│ │ │ │ ├── TestBPFileMxM.cmake
│ │ │ │ ├── TestBPFileMxN.cmake
│ │ │ │ ├── TestInlineMxM.cmake
│ │ │ │ ├── TestSSCMx1.cmake
│ │ │ │ ├── TestSSCMxM.cmake
│ │ │ │ ├── TestSSCMxN.cmake
│ │ │ │ ├── TestSSTBPMx1.cmake
│ │ │ │ ├── TestSSTBPMxM.cmake
│ │ │ │ ├── TestSSTBPMxN.cmake
│ │ │ │ ├── TestSSTBPRDMAMxN.cmake
│ │ │ │ ├── TestSSTFFSMx1.cmake
│ │ │ │ ├── TestSSTFFSMxM.cmake
│ │ │ │ ├── TestSSTFFSMxN.cmake
│ │ │ │ └── TestSSTFFSRDMAMxN.cmake
│ │ │ ├── h5vol/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── TestH5VolWriteReadBPFile.cpp
│ │ │ ├── install/
│ │ │ │ ├── C/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── main_mpi.c
│ │ │ │ │ └── main_nompi.c
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── CXX11/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── main_mpi.cxx
│ │ │ │ │ └── main_nompi.cxx
│ │ │ │ ├── CatalystEnginePlugin/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test-catalyst-config.xml
│ │ │ │ │ └── testCatalystEngine.cpp
│ │ │ │ ├── EncryptionOperator/
│ │ │ │ │ └── CMakeLists.txt
│ │ │ │ ├── EnginePlugin/
│ │ │ │ │ └── CMakeLists.txt
│ │ │ │ ├── Fortran/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── main_mpi.f90
│ │ │ │ │ ├── main_mpi_check.F90
│ │ │ │ │ ├── main_nompi.f90
│ │ │ │ │ └── main_nompi_check.F90
│ │ │ │ ├── run_cmake.cmake
│ │ │ │ ├── run_install.cmake
│ │ │ │ └── run_make.cmake
│ │ │ └── utils/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── SmallTestData_c.h
│ │ │ ├── changingshape/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── TestUtilsChangingShape.bplsla.expected.txt
│ │ │ │ ├── TestUtilsChangingShape.bplsldAlternatingStepsAndChangingShapeVar.expected.txt
│ │ │ │ ├── TestUtilsChangingShape.bplsldAlternatingStepsAndChangingShapeVarSelection.expected.txt
│ │ │ │ ├── TestUtilsChangingShape.bplsldAlternatingStepsVarSelection.expected.txt
│ │ │ │ ├── TestUtilsChangingShape.bplsldChangingShapeVarOneStep.expected.txt
│ │ │ │ ├── TestUtilsChangingShape.bplsldFixedShapeVarTooManySteps.expected.txt
│ │ │ │ └── TestUtilsChangingShape.cpp
│ │ │ ├── cwriter/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── TestUtilsCWriter.bplsAl.expected.txt
│ │ │ │ ├── TestUtilsCWriter.bplsh.expected.txt
│ │ │ │ ├── TestUtilsCWriter.bplsla.expected.txt
│ │ │ │ ├── TestUtilsCWriter.bplsldDav.expected.txt
│ │ │ │ ├── TestUtilsCWriter.bplsldDavvv.expected.txt
│ │ │ │ ├── TestUtilsCWriter.bplsldvarI16.expected.txt
│ │ │ │ └── TestUtilsCWriter.c
│ │ │ └── iotest/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── IOTest.BurstBuffer.1to1.BP4.Stream.Read.bpls.txt
│ │ │ ├── IOTest.BurstBuffer.1to1.BP4.Stream.Write.bpls.txt
│ │ │ ├── IOTest.BurstBuffer.3to1.BP4.Stream.Read.bpls.txt
│ │ │ ├── IOTest.BurstBuffer.3to1.BP4.Stream.Write.bpls.txt
│ │ │ ├── IOTest.BurstBuffer.nproc1.BP4.Write.bpls.txt
│ │ │ ├── IOTest.BurstBuffer.nproc2.BP4.Write.bpls.txt
│ │ │ ├── IOTest.Pipe2.BP.Read.bpls.txt
│ │ │ ├── IOTest.Pipe2.BP.Write.bpls.txt
│ │ │ ├── IOTest.Pipe2.HDF5.Read.bpls.txt
│ │ │ ├── IOTest.Pipe2.HDF5.Write.bpls.txt
│ │ │ ├── IOTest.Pipe2.SSC.bpls.txt
│ │ │ ├── IOTest.Pipe2.SST.bpls.txt
│ │ │ ├── burstbuffer-32KB.txt
│ │ │ ├── burstbuffer-BP4-nsub1.xml
│ │ │ ├── burstbuffer-BP4-nsub2.yaml
│ │ │ ├── burstbuffer-nodrain-BP4-nsub1.xml
│ │ │ ├── pipe2-BP.xml
│ │ │ ├── pipe2-BP4-burstbuffer-nsub2.xml
│ │ │ ├── pipe2-BP4-burstbuffer.xml
│ │ │ ├── pipe2-HDF5.txt
│ │ │ ├── pipe2-HDF5.xml
│ │ │ ├── pipe2-SSC.xml
│ │ │ ├── pipe2-SST.xml
│ │ │ └── pipe2.txt
│ │ └── thirdparty/
│ │ ├── .clang-tidy
│ │ ├── CMakeLists.txt
│ │ ├── EVPath/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── EVPath/
│ │ │ │ ├── .depends
│ │ │ │ ├── .github/
│ │ │ │ │ └── workflows/
│ │ │ │ │ ├── build-and-test.yml
│ │ │ │ │ └── triggers.yml
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .indent.pro
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── CTestConfig.cmake
│ │ │ │ ├── CTestCustom.ctest.in
│ │ │ │ ├── EVPathConfig.cmake.in
│ │ │ │ ├── EVPathConfigCommon.cmake.in
│ │ │ │ ├── EVPathConfigInstall.cmake
│ │ │ │ ├── EVPathConfigVersion.cmake.in
│ │ │ │ ├── LICENSE
│ │ │ │ ├── chr_time.c
│ │ │ │ ├── chr_time.h
│ │ │ │ ├── cm.c
│ │ │ │ ├── cm_control.c
│ │ │ │ ├── cm_evol.c
│ │ │ │ ├── cm_formats.c
│ │ │ │ ├── cm_internal.h
│ │ │ │ ├── cm_lock.c
│ │ │ │ ├── cm_pbio.c
│ │ │ │ ├── cm_perf.c
│ │ │ │ ├── cm_schedule.h
│ │ │ │ ├── cm_threadio.c
│ │ │ │ ├── cm_transport.c
│ │ │ │ ├── cm_transport.h
│ │ │ │ ├── cm_util.c
│ │ │ │ ├── cmake/
│ │ │ │ │ ├── AddLibtoolLibrary.cmake
│ │ │ │ │ ├── CERCS_package.cmake
│ │ │ │ │ ├── CheckBrokenTitanCompiler.cmake
│ │ │ │ │ ├── CreateLibtoolFile.cmake
│ │ │ │ │ ├── FindCERCSProject.cmake
│ │ │ │ │ ├── FindIBVERBS.cmake
│ │ │ │ │ ├── FindLIBFABRIC.cmake
│ │ │ │ │ ├── FindNNTI.cmake
│ │ │ │ │ ├── FindNVML.cmake
│ │ │ │ │ ├── FindPkgConfig.cmake
│ │ │ │ │ ├── GOOD_MEMLOCK_LIMIT.c
│ │ │ │ │ ├── check_mac_sysctl.c
│ │ │ │ │ ├── check_sysconf.c
│ │ │ │ │ ├── check_sysinfo.c
│ │ │ │ │ └── upstream/
│ │ │ │ │ └── FindPkgConfig.cmake
│ │ │ │ ├── cmdemo.c
│ │ │ │ ├── cmenet.c
│ │ │ │ ├── cmepoll.c
│ │ │ │ ├── cmfabric.c
│ │ │ │ ├── cmib.c
│ │ │ │ ├── cmmulticast.c
│ │ │ │ ├── cmnnti.c
│ │ │ │ ├── cmprobe.c
│ │ │ │ ├── cmselect.c
│ │ │ │ ├── cmsockets.c
│ │ │ │ ├── cmudp.c
│ │ │ │ ├── cmudt4.cpp
│ │ │ │ ├── config.h.cmake
│ │ │ │ ├── dfg_tests/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── anon_multi_test.c
│ │ │ │ │ ├── auto_tree_test.c
│ │ │ │ │ ├── chain_test.c
│ │ │ │ │ ├── dchain_test.c
│ │ │ │ │ ├── delayed_submit.c
│ │ │ │ │ ├── evtest.c
│ │ │ │ │ ├── fail_chain_test.c
│ │ │ │ │ ├── filter_test.c
│ │ │ │ │ ├── force_test.c
│ │ │ │ │ ├── master_not_client.c
│ │ │ │ │ ├── metrics_test.c
│ │ │ │ │ ├── multi_sink.c
│ │ │ │ │ ├── multi_test.c
│ │ │ │ │ ├── named_stones.c
│ │ │ │ │ ├── rawtest.c
│ │ │ │ │ ├── reconfig_chain_test.c
│ │ │ │ │ ├── reconfig_tree_test.c
│ │ │ │ │ ├── router_test.c
│ │ │ │ │ ├── self_reconfig_test.c
│ │ │ │ │ ├── source_split.c
│ │ │ │ │ ├── test_support.c
│ │ │ │ │ ├── test_support.h
│ │ │ │ │ └── tree_test.c
│ │ │ │ ├── dlloader.c
│ │ │ │ ├── dlloader.h
│ │ │ │ ├── doc/
│ │ │ │ │ ├── Doxyfile
│ │ │ │ │ ├── cm.dox
│ │ │ │ │ ├── cm.tex
│ │ │ │ │ ├── creation.dox
│ │ │ │ │ ├── evdfg.dox
│ │ │ │ │ ├── evpath.dox
│ │ │ │ │ ├── func1.eps
│ │ │ │ │ ├── func1.fig
│ │ │ │ │ ├── func1.fig.bak
│ │ │ │ │ ├── mainpage.dox
│ │ │ │ │ ├── net.fig
│ │ │ │ │ ├── overlay.eps
│ │ │ │ │ ├── overlay.fig
│ │ │ │ │ ├── struct.eps
│ │ │ │ │ └── struct.fig
│ │ │ │ ├── ev_dfg.c
│ │ │ │ ├── ev_dfg.h
│ │ │ │ ├── ev_dfg_internal.h
│ │ │ │ ├── ev_internal.h
│ │ │ │ ├── ev_select.h
│ │ │ │ ├── evp.c
│ │ │ │ ├── evp_compat.c
│ │ │ │ ├── evp_threads.c
│ │ │ │ ├── evpath.h
│ │ │ │ ├── evpath.pc.in
│ │ │ │ ├── evpath.supp
│ │ │ │ ├── evpath_config.in
│ │ │ │ ├── examples/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── IPMI_recv.c
│ │ │ │ │ ├── derived_recv.c
│ │ │ │ │ ├── derived_recv2.c
│ │ │ │ │ ├── derived_send.c
│ │ │ │ │ ├── derived_send2.c
│ │ │ │ │ ├── dfg_client.c
│ │ │ │ │ ├── dfg_client2.c
│ │ │ │ │ ├── dfg_client3.c
│ │ │ │ │ ├── dfg_master.c
│ │ │ │ │ ├── dfg_master2.c
│ │ │ │ │ ├── dfg_master3.c
│ │ │ │ │ ├── dfg_master4.c
│ │ │ │ │ ├── messages.h
│ │ │ │ │ ├── multi_send.c
│ │ │ │ │ ├── net_recv.c
│ │ │ │ │ ├── net_send.c
│ │ │ │ │ ├── transform_recv.c
│ │ │ │ │ ├── transform_recv2.c
│ │ │ │ │ ├── transform_recv3.c
│ │ │ │ │ └── triv.c
│ │ │ │ ├── gen_interface.pl
│ │ │ │ ├── ip_config.c
│ │ │ │ ├── libvirt.c
│ │ │ │ ├── metrics.c
│ │ │ │ ├── models.c
│ │ │ │ ├── models.h
│ │ │ │ ├── mpi_tests/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── bulk_cm.c
│ │ │ │ │ └── simple_cm.c
│ │ │ │ ├── mtests/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── bulktest.c
│ │ │ │ │ ├── cmconn.c
│ │ │ │ │ ├── cmping.c
│ │ │ │ │ ├── cmtest.c
│ │ │ │ │ ├── run_remote_tests.pl
│ │ │ │ │ ├── support.c
│ │ │ │ │ ├── take_test.c
│ │ │ │ │ ├── test_spec
│ │ │ │ │ ├── trans_test.c
│ │ │ │ │ └── transport_test.pl
│ │ │ │ ├── qual_hostname.c
│ │ │ │ ├── response.c
│ │ │ │ ├── response.h
│ │ │ │ ├── rtests/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── evtest.c
│ │ │ │ │ ├── extract_test.c
│ │ │ │ │ └── remote_terminal_test.c
│ │ │ │ ├── scripts/
│ │ │ │ │ ├── ci/
│ │ │ │ │ │ ├── cmake/
│ │ │ │ │ │ │ ├── alma8-clang.cmake
│ │ │ │ │ │ │ ├── alma8-gcc.cmake
│ │ │ │ │ │ │ ├── alma8-intel.cmake
│ │ │ │ │ │ │ ├── alma8-inteloneapi.cmake
│ │ │ │ │ │ │ ├── centos7-clang.cmake
│ │ │ │ │ │ │ ├── centos7-gcc.cmake
│ │ │ │ │ │ │ ├── centos7-nvhpc.cmake
│ │ │ │ │ │ │ ├── common.cmake
│ │ │ │ │ │ │ ├── macos-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu1604-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu1604-gcc.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-gcc.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-intel.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-inteloneapi.cmake
│ │ │ │ │ │ │ ├── ubuntu2004-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu2004-gcc.cmake
│ │ │ │ │ │ │ ├── ubuntu2004-nvhpc.cmake
│ │ │ │ │ │ │ ├── unix-common.cmake
│ │ │ │ │ │ │ ├── windows-common.cmake
│ │ │ │ │ │ │ ├── windows-vs2019-clang.cmake
│ │ │ │ │ │ │ └── windows-vs2019-msvc.cmake
│ │ │ │ │ │ ├── gh-actions/
│ │ │ │ │ │ │ └── run.sh
│ │ │ │ │ │ ├── scripts/
│ │ │ │ │ │ │ └── post-cdash-status.sh
│ │ │ │ │ │ └── setup/
│ │ │ │ │ │ ├── install-atl.sh
│ │ │ │ │ │ ├── install-dill.sh
│ │ │ │ │ │ ├── install-ffs.sh
│ │ │ │ │ │ ├── linux.sh
│ │ │ │ │ │ ├── macos.sh
│ │ │ │ │ │ └── windows.sh
│ │ │ │ │ └── dashboard/
│ │ │ │ │ ├── common.cmake
│ │ │ │ │ └── evpath_common.cmake
│ │ │ │ ├── stone.txt
│ │ │ │ ├── tests/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── auto_test.c
│ │ │ │ │ ├── block_test.c
│ │ │ │ │ ├── bulktest.c
│ │ │ │ │ ├── cmconn.c
│ │ │ │ │ ├── cmping.c
│ │ │ │ │ ├── congest_bulktest.c
│ │ │ │ │ ├── congestion_test.c
│ │ │ │ │ ├── evtest.c
│ │ │ │ │ ├── executing_stone_test.c
│ │ │ │ │ ├── extract_test.c
│ │ │ │ │ ├── filter2_test.c
│ │ │ │ │ ├── filter_test.c
│ │ │ │ │ ├── http_test.c
│ │ │ │ │ ├── multi_thread.c
│ │ │ │ │ ├── multiq_test.c
│ │ │ │ │ ├── no_type_router_test.c
│ │ │ │ │ ├── rawtest.c
│ │ │ │ │ ├── rawtest2.c
│ │ │ │ │ ├── router_test.c
│ │ │ │ │ ├── router_test2.c
│ │ │ │ │ ├── split_test.c
│ │ │ │ │ ├── store_limit_test.c
│ │ │ │ │ ├── store_pressure_test.c
│ │ │ │ │ ├── store_send_test.c
│ │ │ │ │ ├── submit_test.c
│ │ │ │ │ ├── submit_wait_test.c
│ │ │ │ │ ├── support.c
│ │ │ │ │ ├── take_test.c
│ │ │ │ │ ├── testdll/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── foo.c
│ │ │ │ │ ├── thin_client.c
│ │ │ │ │ ├── thin_test.c
│ │ │ │ │ └── transform_test.c
│ │ │ │ ├── thin_server.c
│ │ │ │ ├── version.c
│ │ │ │ └── zpl-enet/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── LICENSE
│ │ │ │ ├── ORIGIN
│ │ │ │ ├── README.md
│ │ │ │ ├── appveyor.yml
│ │ │ │ ├── include/
│ │ │ │ │ └── enet.h
│ │ │ │ ├── misc/
│ │ │ │ │ ├── ChangeLog
│ │ │ │ │ └── docs/
│ │ │ │ │ ├── FAQ.dox
│ │ │ │ │ ├── design.dox
│ │ │ │ │ ├── install.dox
│ │ │ │ │ ├── license.dox
│ │ │ │ │ ├── mainpage.dox
│ │ │ │ │ └── tutorial.dox
│ │ │ │ ├── package.json
│ │ │ │ └── test/
│ │ │ │ ├── build.c
│ │ │ │ └── library.c
│ │ │ ├── Readme.txt
│ │ │ └── update.sh
│ │ ├── GTest/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Readme.txt
│ │ │ ├── googletest/
│ │ │ │ ├── .clang-format
│ │ │ │ ├── .github/
│ │ │ │ │ ├── ISSUE_TEMPLATE/
│ │ │ │ │ │ ├── 00-bug_report.md
│ │ │ │ │ │ ├── 10-feature_request.md
│ │ │ │ │ │ └── config.yml
│ │ │ │ │ └── workflows/
│ │ │ │ │ └── gtest-ci.yml
│ │ │ │ ├── .gitignore
│ │ │ │ ├── BUILD.bazel
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── CONTRIBUTING.md
│ │ │ │ ├── CONTRIBUTORS
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── WORKSPACE
│ │ │ │ ├── ci/
│ │ │ │ │ ├── linux-presubmit.sh
│ │ │ │ │ └── macos-presubmit.sh
│ │ │ │ ├── docs/
│ │ │ │ │ ├── _config.yml
│ │ │ │ │ ├── _data/
│ │ │ │ │ │ └── navigation.yml
│ │ │ │ │ ├── _sass/
│ │ │ │ │ │ └── main.scss
│ │ │ │ │ ├── advanced.md
│ │ │ │ │ ├── assets/
│ │ │ │ │ │ └── css/
│ │ │ │ │ │ └── style.scss
│ │ │ │ │ ├── community_created_documentation.md
│ │ │ │ │ ├── faq.md
│ │ │ │ │ ├── gmock_cheat_sheet.md
│ │ │ │ │ ├── gmock_cook_book.md
│ │ │ │ │ ├── gmock_faq.md
│ │ │ │ │ ├── gmock_for_dummies.md
│ │ │ │ │ ├── index.md
│ │ │ │ │ ├── pkgconfig.md
│ │ │ │ │ ├── platforms.md
│ │ │ │ │ ├── primer.md
│ │ │ │ │ ├── quickstart-bazel.md
│ │ │ │ │ ├── quickstart-cmake.md
│ │ │ │ │ ├── reference/
│ │ │ │ │ │ ├── actions.md
│ │ │ │ │ │ ├── assertions.md
│ │ │ │ │ │ ├── matchers.md
│ │ │ │ │ │ ├── mocking.md
│ │ │ │ │ │ └── testing.md
│ │ │ │ │ └── samples.md
│ │ │ │ ├── googlemock/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── cmake/
│ │ │ │ │ │ ├── gmock.pc.in
│ │ │ │ │ │ └── gmock_main.pc.in
│ │ │ │ │ ├── docs/
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── include/
│ │ │ │ │ │ └── gmock/
│ │ │ │ │ │ ├── gmock-actions.h
│ │ │ │ │ │ ├── gmock-cardinalities.h
│ │ │ │ │ │ ├── gmock-function-mocker.h
│ │ │ │ │ │ ├── gmock-matchers.h
│ │ │ │ │ │ ├── gmock-more-actions.h
│ │ │ │ │ │ ├── gmock-more-matchers.h
│ │ │ │ │ │ ├── gmock-nice-strict.h
│ │ │ │ │ │ ├── gmock-spec-builders.h
│ │ │ │ │ │ ├── gmock.h
│ │ │ │ │ │ └── internal/
│ │ │ │ │ │ ├── custom/
│ │ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ │ ├── gmock-generated-actions.h
│ │ │ │ │ │ │ ├── gmock-matchers.h
│ │ │ │ │ │ │ └── gmock-port.h
│ │ │ │ │ │ ├── gmock-internal-utils.h
│ │ │ │ │ │ ├── gmock-port.h
│ │ │ │ │ │ └── gmock-pp.h
│ │ │ │ │ ├── src/
│ │ │ │ │ │ ├── gmock-all.cc
│ │ │ │ │ │ ├── gmock-cardinalities.cc
│ │ │ │ │ │ ├── gmock-internal-utils.cc
│ │ │ │ │ │ ├── gmock-matchers.cc
│ │ │ │ │ │ ├── gmock-spec-builders.cc
│ │ │ │ │ │ ├── gmock.cc
│ │ │ │ │ │ └── gmock_main.cc
│ │ │ │ │ └── test/
│ │ │ │ │ ├── BUILD.bazel
│ │ │ │ │ ├── gmock-actions_test.cc
│ │ │ │ │ ├── gmock-cardinalities_test.cc
│ │ │ │ │ ├── gmock-function-mocker_test.cc
│ │ │ │ │ ├── gmock-internal-utils_test.cc
│ │ │ │ │ ├── gmock-matchers-arithmetic_test.cc
│ │ │ │ │ ├── gmock-matchers-comparisons_test.cc
│ │ │ │ │ ├── gmock-matchers-containers_test.cc
│ │ │ │ │ ├── gmock-matchers-misc_test.cc
│ │ │ │ │ ├── gmock-matchers_test.h
│ │ │ │ │ ├── gmock-more-actions_test.cc
│ │ │ │ │ ├── gmock-nice-strict_test.cc
│ │ │ │ │ ├── gmock-port_test.cc
│ │ │ │ │ ├── gmock-pp-string_test.cc
│ │ │ │ │ ├── gmock-pp_test.cc
│ │ │ │ │ ├── gmock-spec-builders_test.cc
│ │ │ │ │ ├── gmock_all_test.cc
│ │ │ │ │ ├── gmock_ex_test.cc
│ │ │ │ │ ├── gmock_leak_test.py
│ │ │ │ │ ├── gmock_leak_test_.cc
│ │ │ │ │ ├── gmock_link2_test.cc
│ │ │ │ │ ├── gmock_link_test.cc
│ │ │ │ │ ├── gmock_link_test.h
│ │ │ │ │ ├── gmock_output_test.py
│ │ │ │ │ ├── gmock_output_test_.cc
│ │ │ │ │ ├── gmock_output_test_golden.txt
│ │ │ │ │ ├── gmock_stress_test.cc
│ │ │ │ │ ├── gmock_test.cc
│ │ │ │ │ └── gmock_test_utils.py
│ │ │ │ └── googletest/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── README.md
│ │ │ │ ├── cmake/
│ │ │ │ │ ├── Config.cmake.in
│ │ │ │ │ ├── gtest.pc.in
│ │ │ │ │ ├── gtest_main.pc.in
│ │ │ │ │ ├── internal_utils.cmake
│ │ │ │ │ └── libgtest.la.in
│ │ │ │ ├── docs/
│ │ │ │ │ └── README.md
│ │ │ │ ├── include/
│ │ │ │ │ └── gtest/
│ │ │ │ │ ├── gtest-assertion-result.h
│ │ │ │ │ ├── gtest-death-test.h
│ │ │ │ │ ├── gtest-matchers.h
│ │ │ │ │ ├── gtest-message.h
│ │ │ │ │ ├── gtest-param-test.h
│ │ │ │ │ ├── gtest-printers.h
│ │ │ │ │ ├── gtest-spi.h
│ │ │ │ │ ├── gtest-test-part.h
│ │ │ │ │ ├── gtest-typed-test.h
│ │ │ │ │ ├── gtest.h
│ │ │ │ │ ├── gtest_pred_impl.h
│ │ │ │ │ ├── gtest_prod.h
│ │ │ │ │ └── internal/
│ │ │ │ │ ├── custom/
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── gtest-port.h
│ │ │ │ │ │ ├── gtest-printers.h
│ │ │ │ │ │ └── gtest.h
│ │ │ │ │ ├── gtest-death-test-internal.h
│ │ │ │ │ ├── gtest-filepath.h
│ │ │ │ │ ├── gtest-internal.h
│ │ │ │ │ ├── gtest-param-util.h
│ │ │ │ │ ├── gtest-port-arch.h
│ │ │ │ │ ├── gtest-port.h
│ │ │ │ │ ├── gtest-string.h
│ │ │ │ │ └── gtest-type-util.h
│ │ │ │ ├── samples/
│ │ │ │ │ ├── prime_tables.h
│ │ │ │ │ ├── sample1.cc
│ │ │ │ │ ├── sample1.h
│ │ │ │ │ ├── sample10_unittest.cc
│ │ │ │ │ ├── sample1_unittest.cc
│ │ │ │ │ ├── sample2.cc
│ │ │ │ │ ├── sample2.h
│ │ │ │ │ ├── sample2_unittest.cc
│ │ │ │ │ ├── sample3-inl.h
│ │ │ │ │ ├── sample3_unittest.cc
│ │ │ │ │ ├── sample4.cc
│ │ │ │ │ ├── sample4.h
│ │ │ │ │ ├── sample4_unittest.cc
│ │ │ │ │ ├── sample5_unittest.cc
│ │ │ │ │ ├── sample6_unittest.cc
│ │ │ │ │ ├── sample7_unittest.cc
│ │ │ │ │ ├── sample8_unittest.cc
│ │ │ │ │ └── sample9_unittest.cc
│ │ │ │ ├── src/
│ │ │ │ │ ├── gtest-all.cc
│ │ │ │ │ ├── gtest-assertion-result.cc
│ │ │ │ │ ├── gtest-death-test.cc
│ │ │ │ │ ├── gtest-filepath.cc
│ │ │ │ │ ├── gtest-internal-inl.h
│ │ │ │ │ ├── gtest-matchers.cc
│ │ │ │ │ ├── gtest-port.cc
│ │ │ │ │ ├── gtest-printers.cc
│ │ │ │ │ ├── gtest-test-part.cc
│ │ │ │ │ ├── gtest-typed-test.cc
│ │ │ │ │ ├── gtest.cc
│ │ │ │ │ └── gtest_main.cc
│ │ │ │ └── test/
│ │ │ │ ├── BUILD.bazel
│ │ │ │ ├── googletest-break-on-failure-unittest.py
│ │ │ │ ├── googletest-break-on-failure-unittest_.cc
│ │ │ │ ├── googletest-catch-exceptions-test.py
│ │ │ │ ├── googletest-catch-exceptions-test_.cc
│ │ │ │ ├── googletest-color-test.py
│ │ │ │ ├── googletest-color-test_.cc
│ │ │ │ ├── googletest-death-test-test.cc
│ │ │ │ ├── googletest-death-test_ex_test.cc
│ │ │ │ ├── googletest-env-var-test.py
│ │ │ │ ├── googletest-env-var-test_.cc
│ │ │ │ ├── googletest-failfast-unittest.py
│ │ │ │ ├── googletest-failfast-unittest_.cc
│ │ │ │ ├── googletest-filepath-test.cc
│ │ │ │ ├── googletest-filter-unittest.py
│ │ │ │ ├── googletest-filter-unittest_.cc
│ │ │ │ ├── googletest-global-environment-unittest.py
│ │ │ │ ├── googletest-global-environment-unittest_.cc
│ │ │ │ ├── googletest-json-outfiles-test.py
│ │ │ │ ├── googletest-json-output-unittest.py
│ │ │ │ ├── googletest-list-tests-unittest.py
│ │ │ │ ├── googletest-list-tests-unittest_.cc
│ │ │ │ ├── googletest-listener-test.cc
│ │ │ │ ├── googletest-message-test.cc
│ │ │ │ ├── googletest-options-test.cc
│ │ │ │ ├── googletest-output-test-golden-lin.txt
│ │ │ │ ├── googletest-output-test.py
│ │ │ │ ├── googletest-output-test_.cc
│ │ │ │ ├── googletest-param-test-invalid-name1-test.py
│ │ │ │ ├── googletest-param-test-invalid-name1-test_.cc
│ │ │ │ ├── googletest-param-test-invalid-name2-test.py
│ │ │ │ ├── googletest-param-test-invalid-name2-test_.cc
│ │ │ │ ├── googletest-param-test-test.cc
│ │ │ │ ├── googletest-param-test-test.h
│ │ │ │ ├── googletest-param-test2-test.cc
│ │ │ │ ├── googletest-port-test.cc
│ │ │ │ ├── googletest-printers-test.cc
│ │ │ │ ├── googletest-setuptestsuite-test.py
│ │ │ │ ├── googletest-setuptestsuite-test_.cc
│ │ │ │ ├── googletest-shuffle-test.py
│ │ │ │ ├── googletest-shuffle-test_.cc
│ │ │ │ ├── googletest-test-part-test.cc
│ │ │ │ ├── googletest-throw-on-failure-test.py
│ │ │ │ ├── googletest-throw-on-failure-test_.cc
│ │ │ │ ├── googletest-uninitialized-test.py
│ │ │ │ ├── googletest-uninitialized-test_.cc
│ │ │ │ ├── gtest-typed-test2_test.cc
│ │ │ │ ├── gtest-typed-test_test.cc
│ │ │ │ ├── gtest-typed-test_test.h
│ │ │ │ ├── gtest-unittest-api_test.cc
│ │ │ │ ├── gtest_all_test.cc
│ │ │ │ ├── gtest_assert_by_exception_test.cc
│ │ │ │ ├── gtest_environment_test.cc
│ │ │ │ ├── gtest_help_test.py
│ │ │ │ ├── gtest_help_test_.cc
│ │ │ │ ├── gtest_json_test_utils.py
│ │ │ │ ├── gtest_list_output_unittest.py
│ │ │ │ ├── gtest_list_output_unittest_.cc
│ │ │ │ ├── gtest_main_unittest.cc
│ │ │ │ ├── gtest_no_test_unittest.cc
│ │ │ │ ├── gtest_pred_impl_unittest.cc
│ │ │ │ ├── gtest_premature_exit_test.cc
│ │ │ │ ├── gtest_prod_test.cc
│ │ │ │ ├── gtest_repeat_test.cc
│ │ │ │ ├── gtest_skip_check_output_test.py
│ │ │ │ ├── gtest_skip_environment_check_output_test.py
│ │ │ │ ├── gtest_skip_in_environment_setup_test.cc
│ │ │ │ ├── gtest_skip_test.cc
│ │ │ │ ├── gtest_sole_header_test.cc
│ │ │ │ ├── gtest_stress_test.cc
│ │ │ │ ├── gtest_test_macro_stack_footprint_test.cc
│ │ │ │ ├── gtest_test_utils.py
│ │ │ │ ├── gtest_testbridge_test.py
│ │ │ │ ├── gtest_testbridge_test_.cc
│ │ │ │ ├── gtest_throw_on_failure_ex_test.cc
│ │ │ │ ├── gtest_unittest.cc
│ │ │ │ ├── gtest_xml_outfile1_test_.cc
│ │ │ │ ├── gtest_xml_outfile2_test_.cc
│ │ │ │ ├── gtest_xml_outfiles_test.py
│ │ │ │ ├── gtest_xml_output_unittest.py
│ │ │ │ ├── gtest_xml_output_unittest_.cc
│ │ │ │ ├── gtest_xml_test_utils.py
│ │ │ │ ├── production.cc
│ │ │ │ └── production.h
│ │ │ └── update.sh
│ │ ├── KWSys/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Readme.txt
│ │ │ ├── adios2sys/
│ │ │ │ ├── Base64.c
│ │ │ │ ├── Base64.h.in
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── CONTRIBUTING.rst
│ │ │ │ ├── CTestConfig.cmake
│ │ │ │ ├── CTestCustom.cmake.in
│ │ │ │ ├── CommandLineArguments.cxx
│ │ │ │ ├── CommandLineArguments.hxx.in
│ │ │ │ ├── Configure.h.in
│ │ │ │ ├── Configure.hxx.in
│ │ │ │ ├── ConsoleBuf.hxx.in
│ │ │ │ ├── Copyright.txt
│ │ │ │ ├── Directory.cxx
│ │ │ │ ├── Directory.hxx.in
│ │ │ │ ├── DynamicLoader.cxx
│ │ │ │ ├── DynamicLoader.hxx.in
│ │ │ │ ├── Encoding.h.in
│ │ │ │ ├── Encoding.hxx.in
│ │ │ │ ├── EncodingC.c
│ │ │ │ ├── EncodingCXX.cxx
│ │ │ │ ├── ExtraTest.cmake.in
│ │ │ │ ├── FStream.cxx
│ │ │ │ ├── FStream.hxx.in
│ │ │ │ ├── Glob.cxx
│ │ │ │ ├── Glob.hxx.in
│ │ │ │ ├── MD5.c
│ │ │ │ ├── MD5.h.in
│ │ │ │ ├── Process.h.in
│ │ │ │ ├── ProcessUNIX.c
│ │ │ │ ├── ProcessWin32.c
│ │ │ │ ├── README.rst
│ │ │ │ ├── RegularExpression.cxx
│ │ │ │ ├── RegularExpression.hxx.in
│ │ │ │ ├── Status.cxx
│ │ │ │ ├── Status.hxx.in
│ │ │ │ ├── String.c
│ │ │ │ ├── String.h.in
│ │ │ │ ├── System.c
│ │ │ │ ├── System.h.in
│ │ │ │ ├── SystemInformation.cxx
│ │ │ │ ├── SystemInformation.hxx.in
│ │ │ │ ├── SystemTools.cxx
│ │ │ │ ├── SystemTools.hxx.in
│ │ │ │ ├── Terminal.c
│ │ │ │ ├── Terminal.h.in
│ │ │ │ ├── kwsysHeaderDump.pl
│ │ │ │ ├── kwsysPlatformTests.cmake
│ │ │ │ ├── kwsysPlatformTestsC.c
│ │ │ │ ├── kwsysPlatformTestsCXX.cxx
│ │ │ │ ├── kwsysPrivate.h
│ │ │ │ ├── testCommandLineArguments.cxx
│ │ │ │ ├── testCommandLineArguments1.cxx
│ │ │ │ ├── testConfigure.cxx
│ │ │ │ ├── testConsoleBuf.cxx
│ │ │ │ ├── testConsoleBuf.hxx
│ │ │ │ ├── testConsoleBufChild.cxx
│ │ │ │ ├── testDirectory.cxx
│ │ │ │ ├── testDynamicLoader.cxx
│ │ │ │ ├── testDynload.c
│ │ │ │ ├── testDynload.h
│ │ │ │ ├── testDynloadImpl.c
│ │ │ │ ├── testDynloadImpl.h
│ │ │ │ ├── testDynloadUse.c
│ │ │ │ ├── testEncode.c
│ │ │ │ ├── testEncoding.cxx
│ │ │ │ ├── testFStream.cxx
│ │ │ │ ├── testFail.c
│ │ │ │ ├── testProcess.c
│ │ │ │ ├── testStatus.cxx
│ │ │ │ ├── testSystemInformation.cxx
│ │ │ │ ├── testSystemTools.cxx
│ │ │ │ ├── testSystemTools.h.in
│ │ │ │ └── testTerminal.c
│ │ │ └── update.sh
│ │ ├── atl/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Readme.txt
│ │ │ ├── atl/
│ │ │ │ ├── .github/
│ │ │ │ │ └── workflows/
│ │ │ │ │ ├── build-and-test.yml
│ │ │ │ │ └── triggers.yml
│ │ │ │ ├── .gitignore
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── CTestConfig.cmake
│ │ │ │ ├── CTestCustom.cmake.in
│ │ │ │ ├── LICENSE
│ │ │ │ ├── atl-config.cmake.in
│ │ │ │ ├── atl-config.in
│ │ │ │ ├── atl.h
│ │ │ │ ├── atl.pc.in
│ │ │ │ ├── atl.supp
│ │ │ │ ├── atom.c
│ │ │ │ ├── atom_check.c
│ │ │ │ ├── atom_internal.h
│ │ │ │ ├── atom_server.c
│ │ │ │ ├── atom_test.c
│ │ │ │ ├── attr.c
│ │ │ │ ├── attr_dump.c
│ │ │ │ ├── attr_test.c
│ │ │ │ ├── config.h.cmake
│ │ │ │ ├── lookup3.c
│ │ │ │ ├── scripts/
│ │ │ │ │ ├── ci/
│ │ │ │ │ │ ├── cmake/
│ │ │ │ │ │ │ ├── centos7-clang.cmake
│ │ │ │ │ │ │ ├── centos7-gcc.cmake
│ │ │ │ │ │ │ ├── centos7-nvhpc.cmake
│ │ │ │ │ │ │ ├── centos8-clang.cmake
│ │ │ │ │ │ │ ├── centos8-gcc.cmake
│ │ │ │ │ │ │ ├── centos8-intel.cmake
│ │ │ │ │ │ │ ├── centos8-inteloneapi.cmake
│ │ │ │ │ │ │ ├── common.cmake
│ │ │ │ │ │ │ ├── macos-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu1604-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu1604-gcc.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-gcc.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-intel.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-inteloneapi.cmake
│ │ │ │ │ │ │ ├── ubuntu2004-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu2004-gcc.cmake
│ │ │ │ │ │ │ ├── ubuntu2004-nvhpc.cmake
│ │ │ │ │ │ │ ├── unix-common.cmake
│ │ │ │ │ │ │ ├── windows-common.cmake
│ │ │ │ │ │ │ ├── windows-vs2019-clang.cmake
│ │ │ │ │ │ │ └── windows-vs2019-msvc.cmake
│ │ │ │ │ │ ├── gh-actions/
│ │ │ │ │ │ │ └── run.sh
│ │ │ │ │ │ ├── scripts/
│ │ │ │ │ │ │ └── post-cdash-status.sh
│ │ │ │ │ │ └── setup/
│ │ │ │ │ │ ├── linux.sh
│ │ │ │ │ │ ├── macos.sh
│ │ │ │ │ │ └── windows.sh
│ │ │ │ │ └── dashboard/
│ │ │ │ │ ├── atl_common.cmake
│ │ │ │ │ └── common.cmake
│ │ │ │ ├── tclHash.c
│ │ │ │ ├── tclHash.h
│ │ │ │ └── unix_defs.h
│ │ │ └── update.sh
│ │ ├── dill/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Readme.txt
│ │ │ ├── dill/
│ │ │ │ ├── .clang-format
│ │ │ │ ├── .github/
│ │ │ │ │ └── workflows/
│ │ │ │ │ ├── build-and-test.yml
│ │ │ │ │ └── triggers.yml
│ │ │ │ ├── .gitignore
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── CTestConfig.cmake
│ │ │ │ ├── CTestCustom.cmake.in
│ │ │ │ ├── LICENSE
│ │ │ │ ├── PORTING
│ │ │ │ ├── arm5.c
│ │ │ │ ├── arm5.h
│ │ │ │ ├── arm5.ops
│ │ │ │ ├── arm5_rt.c
│ │ │ │ ├── arm6.c
│ │ │ │ ├── arm6.h
│ │ │ │ ├── arm6.ops
│ │ │ │ ├── arm6_rt.c
│ │ │ │ ├── arm8.c
│ │ │ │ ├── arm8.h
│ │ │ │ ├── arm8.ops
│ │ │ │ ├── arm8_rt.c
│ │ │ │ ├── base.ops
│ │ │ │ ├── cmake/
│ │ │ │ │ ├── Compile.cmake
│ │ │ │ │ ├── FindBinUtils.cmake
│ │ │ │ │ └── FindLibFFI.cmake
│ │ │ │ ├── config.h.cmake
│ │ │ │ ├── dill-config-common.cmake.in
│ │ │ │ ├── dill-config-install.cmake.in
│ │ │ │ ├── dill-config-version.cmake.in
│ │ │ │ ├── dill-config.cmake.in
│ │ │ │ ├── dill-config.in
│ │ │ │ ├── dill.pc.in
│ │ │ │ ├── dill.supp
│ │ │ │ ├── dill_cplus.c
│ │ │ │ ├── dill_internal.h
│ │ │ │ ├── dill_pkg.c
│ │ │ │ ├── dill_util.c
│ │ │ │ ├── ia64.c
│ │ │ │ ├── ia64.h
│ │ │ │ ├── ia64.ops
│ │ │ │ ├── ia64_rt.c
│ │ │ │ ├── powerpc.c
│ │ │ │ ├── powerpc.h
│ │ │ │ ├── powerpc.ops
│ │ │ │ ├── powerpc_rt.c
│ │ │ │ ├── ppc64le.c
│ │ │ │ ├── ppc64le.h
│ │ │ │ ├── ppc64le.ops
│ │ │ │ ├── ppc64le_rt.c
│ │ │ │ ├── scripts/
│ │ │ │ │ ├── ci/
│ │ │ │ │ │ ├── cmake/
│ │ │ │ │ │ │ ├── alma8-clang.cmake
│ │ │ │ │ │ │ ├── alma8-gcc.cmake
│ │ │ │ │ │ │ ├── alma8-intel.cmake
│ │ │ │ │ │ │ ├── alma8-inteloneapi.cmake
│ │ │ │ │ │ │ ├── centos7-clang.cmake
│ │ │ │ │ │ │ ├── centos7-gcc.cmake
│ │ │ │ │ │ │ ├── centos7-nvhpc.cmake
│ │ │ │ │ │ │ ├── common.cmake
│ │ │ │ │ │ │ ├── macos-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu1604-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu1604-gcc.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-gcc.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-intel.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-inteloneapi.cmake
│ │ │ │ │ │ │ ├── ubuntu2004-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu2004-gcc.cmake
│ │ │ │ │ │ │ ├── ubuntu2004-nvhpc.cmake
│ │ │ │ │ │ │ ├── unix-common.cmake
│ │ │ │ │ │ │ ├── windows-common.cmake
│ │ │ │ │ │ │ ├── windows2019-vs2019-clang.cmake
│ │ │ │ │ │ │ └── windows2022-vs2022-msvc.cmake
│ │ │ │ │ │ ├── gh-actions/
│ │ │ │ │ │ │ └── run.sh
│ │ │ │ │ │ ├── scripts/
│ │ │ │ │ │ │ └── post-cdash-status.sh
│ │ │ │ │ │ └── setup/
│ │ │ │ │ │ ├── linux.sh
│ │ │ │ │ │ ├── macos.sh
│ │ │ │ │ │ └── windows.sh
│ │ │ │ │ └── dashboard/
│ │ │ │ │ ├── common.cmake
│ │ │ │ │ └── dill_common.cmake
│ │ │ │ ├── sparc.c
│ │ │ │ ├── sparc.h
│ │ │ │ ├── sparc.ops
│ │ │ │ ├── sparc_rt.c
│ │ │ │ ├── tests/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Makefile.am
│ │ │ │ │ ├── call-gen
│ │ │ │ │ ├── cplus.cc
│ │ │ │ │ ├── ctest.c
│ │ │ │ │ ├── pkg_test.c
│ │ │ │ │ ├── rtest.c
│ │ │ │ │ ├── stest.c
│ │ │ │ │ ├── t1.c
│ │ │ │ │ └── test-gen
│ │ │ │ ├── virtual.c
│ │ │ │ ├── virtual.h
│ │ │ │ ├── virtual.ops
│ │ │ │ ├── vm.c
│ │ │ │ ├── vtests/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Makefile.am
│ │ │ │ │ ├── basic_call.c
│ │ │ │ │ ├── branch.c
│ │ │ │ │ ├── general.ops
│ │ │ │ │ ├── multi_test.c
│ │ │ │ │ ├── opt.c
│ │ │ │ │ ├── pkg_test.c
│ │ │ │ │ ├── prefix_test.c
│ │ │ │ │ └── t1.c
│ │ │ │ ├── x86.c
│ │ │ │ ├── x86.h
│ │ │ │ ├── x86.ops
│ │ │ │ ├── x86_64.c
│ │ │ │ ├── x86_64.h
│ │ │ │ ├── x86_64.ops
│ │ │ │ ├── x86_64_disassembler.c
│ │ │ │ ├── x86_64_rt.c
│ │ │ │ └── x86_rt.c
│ │ │ └── update.sh
│ │ ├── enet/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Readme.txt
│ │ │ ├── enet/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── CMakeLists.txt.not_using
│ │ │ │ ├── ChangeLog
│ │ │ │ ├── Doxyfile
│ │ │ │ ├── DoxygenLayout.xml
│ │ │ │ ├── LICENSE
│ │ │ │ ├── Makefile.am
│ │ │ │ ├── Makefile.in
│ │ │ │ ├── README
│ │ │ │ ├── aclocal.m4
│ │ │ │ ├── callbacks.c
│ │ │ │ ├── compress.c
│ │ │ │ ├── config.guess
│ │ │ │ ├── config.sub
│ │ │ │ ├── configure
│ │ │ │ ├── configure.ac
│ │ │ │ ├── depcomp
│ │ │ │ ├── docs/
│ │ │ │ │ ├── FAQ.dox
│ │ │ │ │ ├── design.dox
│ │ │ │ │ ├── install.dox
│ │ │ │ │ ├── license.dox
│ │ │ │ │ ├── mainpage.dox
│ │ │ │ │ └── tutorial.dox
│ │ │ │ ├── enet-config.cmake.in
│ │ │ │ ├── enet-config.in
│ │ │ │ ├── enet.dsp
│ │ │ │ ├── enet.pc.in
│ │ │ │ ├── enet_dll.cbp
│ │ │ │ ├── host.c
│ │ │ │ ├── include/
│ │ │ │ │ └── enet/
│ │ │ │ │ ├── callbacks.h
│ │ │ │ │ ├── enet.h
│ │ │ │ │ ├── list.h
│ │ │ │ │ ├── protocol.h
│ │ │ │ │ ├── time.h
│ │ │ │ │ ├── types.h
│ │ │ │ │ ├── unix.h
│ │ │ │ │ ├── utility.h
│ │ │ │ │ └── win32.h
│ │ │ │ ├── install-sh
│ │ │ │ ├── libenet.pc.in
│ │ │ │ ├── list.c
│ │ │ │ ├── ltmain.sh
│ │ │ │ ├── m4/
│ │ │ │ │ ├── .keep
│ │ │ │ │ ├── libtool.m4
│ │ │ │ │ ├── ltoptions.m4
│ │ │ │ │ ├── ltsugar.m4
│ │ │ │ │ ├── ltversion.m4
│ │ │ │ │ └── lt~obsolete.m4
│ │ │ │ ├── missing
│ │ │ │ ├── packet.c
│ │ │ │ ├── peer.c
│ │ │ │ ├── premake4.lua
│ │ │ │ ├── protocol.c
│ │ │ │ ├── unix.c
│ │ │ │ └── win32.c
│ │ │ └── update.sh
│ │ ├── ffs/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Readme.txt
│ │ │ ├── ffs/
│ │ │ │ ├── .depends
│ │ │ │ ├── .github/
│ │ │ │ │ └── workflows/
│ │ │ │ │ ├── build-and-test.yml
│ │ │ │ │ └── triggers.yml
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .indent.pro
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── CTestConfig.cmake
│ │ │ │ ├── CTestCustom.ctest.in
│ │ │ │ ├── LICENSE
│ │ │ │ ├── cmake/
│ │ │ │ │ └── BisonFlexSub.cmake
│ │ │ │ ├── cod/
│ │ │ │ │ ├── .depends
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── cg.c
│ │ │ │ │ ├── cod.h
│ │ │ │ │ ├── cod.l
│ │ │ │ │ ├── cod.structs
│ │ │ │ │ ├── cod.y
│ │ │ │ │ ├── cod_internal.h
│ │ │ │ │ ├── doc/
│ │ │ │ │ │ ├── Doxyfile
│ │ │ │ │ │ ├── cod.tex
│ │ │ │ │ │ └── mainpage.dox
│ │ │ │ │ ├── gcctestsuite.pl
│ │ │ │ │ ├── gen_tests.pl
│ │ │ │ │ ├── pregen_source/
│ │ │ │ │ │ ├── Linux/
│ │ │ │ │ │ │ ├── cod.l
│ │ │ │ │ │ │ ├── cod.tab.c
│ │ │ │ │ │ │ ├── cod.tab.h
│ │ │ │ │ │ │ ├── cod.y
│ │ │ │ │ │ │ └── lex.yy.c
│ │ │ │ │ │ └── Windows/
│ │ │ │ │ │ ├── cod.l
│ │ │ │ │ │ ├── cod.tab.c
│ │ │ │ │ │ ├── cod.tab.h
│ │ │ │ │ │ ├── cod.y
│ │ │ │ │ │ └── lex.yy.c
│ │ │ │ │ ├── standard.c
│ │ │ │ │ ├── struct.pl
│ │ │ │ │ └── tests/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── atl_test.c
│ │ │ │ │ ├── compound_assignment.c
│ │ │ │ │ ├── control.c
│ │ │ │ │ ├── data_funcs.c
│ │ │ │ │ ├── data_funcs.h
│ │ │ │ │ ├── general.ops
│ │ │ │ │ ├── gray-images.c
│ │ │ │ │ ├── gray.c
│ │ │ │ │ ├── mix.c
│ │ │ │ │ ├── strings.c
│ │ │ │ │ ├── structs.c
│ │ │ │ │ ├── t1.c
│ │ │ │ │ ├── t10.c
│ │ │ │ │ ├── t11.c
│ │ │ │ │ ├── t12.c
│ │ │ │ │ ├── t2.c
│ │ │ │ │ ├── t3.c
│ │ │ │ │ ├── t4.c
│ │ │ │ │ ├── t5.c
│ │ │ │ │ ├── t6.c
│ │ │ │ │ ├── t7.c
│ │ │ │ │ ├── t8.c
│ │ │ │ │ ├── t9.c
│ │ │ │ │ ├── test_output/
│ │ │ │ │ │ ├── t1/
│ │ │ │ │ │ │ ├── t1.ia64
│ │ │ │ │ │ │ ├── t1.rhe4
│ │ │ │ │ │ │ ├── t1.rhe4-64
│ │ │ │ │ │ │ ├── t1.sun8
│ │ │ │ │ │ │ └── t1.sun8-64
│ │ │ │ │ │ ├── t5/
│ │ │ │ │ │ │ ├── t5.ia64
│ │ │ │ │ │ │ ├── t5.rhe4
│ │ │ │ │ │ │ ├── t5.rhe4-64
│ │ │ │ │ │ │ ├── t5.sun8
│ │ │ │ │ │ │ └── t5.sun8-64
│ │ │ │ │ │ └── tests
│ │ │ │ │ ├── time.c
│ │ │ │ │ └── xform.c
│ │ │ │ ├── config.h.cmake
│ │ │ │ ├── doc/
│ │ │ │ │ ├── IO.bib
│ │ │ │ │ ├── IO.tex
│ │ │ │ │ ├── code.sty
│ │ │ │ │ ├── decode_test.c
│ │ │ │ │ ├── encode_test.c
│ │ │ │ │ ├── examples/
│ │ │ │ │ │ ├── dynamic_data2.c
│ │ │ │ │ │ ├── ffs_decode.c
│ │ │ │ │ │ ├── ffs_decode2.c
│ │ │ │ │ │ ├── ffs_decode3.c
│ │ │ │ │ │ ├── ffs_encode.c
│ │ │ │ │ │ ├── ffs_encode2.c
│ │ │ │ │ │ ├── ffs_read.c
│ │ │ │ │ │ ├── ffs_read2.c
│ │ │ │ │ │ ├── ffs_write.c
│ │ │ │ │ │ └── ffs_write2.c
│ │ │ │ │ ├── format_server.tex
│ │ │ │ │ ├── indent.sty
│ │ │ │ │ ├── manual.tex
│ │ │ │ │ ├── manual_body.tex
│ │ │ │ │ ├── manual_test.c
│ │ │ │ │ ├── manual_test2.c
│ │ │ │ │ ├── server.eps
│ │ │ │ │ ├── server.fig
│ │ │ │ │ ├── string_mem.eps
│ │ │ │ │ ├── string_mem.fig
│ │ │ │ │ ├── xml_output
│ │ │ │ │ └── xml_output2
│ │ │ │ ├── ffs/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── evol.c
│ │ │ │ │ ├── ffs.c
│ │ │ │ │ ├── ffs.h.in
│ │ │ │ │ ├── ffs_conv.c
│ │ │ │ │ ├── ffs_file.c
│ │ │ │ │ ├── ffs_formats.c
│ │ │ │ │ ├── ffs_gen.c
│ │ │ │ │ ├── ffs_gen.h
│ │ │ │ │ ├── ffs_internal.h
│ │ │ │ │ ├── ffs_malloc.c
│ │ │ │ │ ├── ffs_marshal.c
│ │ │ │ │ ├── ffs_marshal.h
│ │ │ │ │ ├── io_malloc.h
│ │ │ │ │ ├── io_test_formats.h
│ │ │ │ │ ├── progs/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── FFScp.c
│ │ │ │ │ │ ├── FFSdump.c
│ │ │ │ │ │ ├── FFSsort.c
│ │ │ │ │ │ └── sort_test_generate.c
│ │ │ │ │ ├── sax.c
│ │ │ │ │ ├── string_conversion.c
│ │ │ │ │ ├── tests/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── adios2_bug.c
│ │ │ │ │ │ ├── append.c
│ │ │ │ │ │ ├── compat_test.c
│ │ │ │ │ │ ├── context_test.c
│ │ │ │ │ │ ├── context_test2.c
│ │ │ │ │ │ ├── ffs_file_test.c
│ │ │ │ │ │ ├── ffs_index_test.c
│ │ │ │ │ │ ├── ffs_write.c
│ │ │ │ │ │ ├── fortran_test.c
│ │ │ │ │ │ ├── get_set_test.c
│ │ │ │ │ │ ├── io_align_test.c
│ │ │ │ │ │ ├── io_def_write.c
│ │ │ │ │ │ ├── io_default_test.c
│ │ │ │ │ │ ├── io_dyn_read.c
│ │ │ │ │ │ ├── io_read.c
│ │ │ │ │ │ ├── io_read2.c
│ │ │ │ │ │ ├── marshal_test.c
│ │ │ │ │ │ ├── marshal_test2.c
│ │ │ │ │ │ ├── no_leaf_test.c
│ │ │ │ │ │ ├── self_format_test.c
│ │ │ │ │ │ ├── test_file_unique.c
│ │ │ │ │ │ ├── test_funcs.c
│ │ │ │ │ │ ├── test_funcs.h
│ │ │ │ │ │ └── xml_test.c
│ │ │ │ │ └── xml.c
│ │ │ │ ├── ffs-config.cmake.in
│ │ │ │ ├── ffs-config.in
│ │ │ │ ├── ffs.pc.in
│ │ │ │ ├── ffs.supp
│ │ │ │ ├── fm/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fm.h
│ │ │ │ │ ├── fm_dump.c
│ │ │ │ │ ├── fm_formats.c
│ │ │ │ │ ├── fm_get.c
│ │ │ │ │ ├── fm_internal.h
│ │ │ │ │ ├── io_interface.h
│ │ │ │ │ ├── lookup3.c
│ │ │ │ │ ├── nt_io.c
│ │ │ │ │ ├── null_io.c
│ │ │ │ │ ├── progs/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── edu.gatech.cercs.formatproxy.plist
│ │ │ │ │ │ ├── format_cmd.c
│ │ │ │ │ │ ├── format_dump.c
│ │ │ │ │ │ ├── format_info.c
│ │ │ │ │ │ ├── format_server.c
│ │ │ │ │ │ └── server.c
│ │ │ │ │ ├── self_ip_addr.c
│ │ │ │ │ ├── server_acts.c
│ │ │ │ │ ├── string_conversion.c
│ │ │ │ │ ├── tests/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── align_test.c
│ │ │ │ │ │ ├── compat_test.c
│ │ │ │ │ │ ├── format_test.c
│ │ │ │ │ │ ├── scale_test.c
│ │ │ │ │ │ ├── self_format_test.c
│ │ │ │ │ │ ├── test_funcs.c
│ │ │ │ │ │ └── test_funcs.h
│ │ │ │ │ ├── unix_io.c
│ │ │ │ │ └── xml.c
│ │ │ │ ├── scripts/
│ │ │ │ │ ├── ci/
│ │ │ │ │ │ ├── cmake/
│ │ │ │ │ │ │ ├── alma8-clang.cmake
│ │ │ │ │ │ │ ├── alma8-gcc.cmake
│ │ │ │ │ │ │ ├── alma8-intel.cmake
│ │ │ │ │ │ │ ├── alma8-inteloneapi.cmake
│ │ │ │ │ │ │ ├── centos7-clang.cmake
│ │ │ │ │ │ │ ├── centos7-gcc.cmake
│ │ │ │ │ │ │ ├── centos7-nvhpc.cmake
│ │ │ │ │ │ │ ├── centos8-clang.cmake
│ │ │ │ │ │ │ ├── centos8-gcc.cmake
│ │ │ │ │ │ │ ├── centos8-intel.cmake
│ │ │ │ │ │ │ ├── centos8-inteloneapi.cmake
│ │ │ │ │ │ │ ├── common.cmake
│ │ │ │ │ │ │ ├── macos-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu1604-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu1604-gcc.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-gcc.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-intel.cmake
│ │ │ │ │ │ │ ├── ubuntu1804-inteloneapi.cmake
│ │ │ │ │ │ │ ├── ubuntu2004-clang.cmake
│ │ │ │ │ │ │ ├── ubuntu2004-gcc.cmake
│ │ │ │ │ │ │ ├── ubuntu2004-nvhpc.cmake
│ │ │ │ │ │ │ ├── unix-common.cmake
│ │ │ │ │ │ │ ├── windows-common.cmake
│ │ │ │ │ │ │ ├── windows-vs2019-clang.cmake
│ │ │ │ │ │ │ ├── windows-vs2019-msvc.cmake
│ │ │ │ │ │ │ ├── windows2019-vs2019-clang.cmake
│ │ │ │ │ │ │ ├── windows2022-vs2022-msvc-static.cmake
│ │ │ │ │ │ │ └── windows2022-vs2022-msvc.cmake
│ │ │ │ │ │ ├── gh-actions/
│ │ │ │ │ │ │ └── run.sh
│ │ │ │ │ │ ├── scripts/
│ │ │ │ │ │ │ └── post-cdash-status.sh
│ │ │ │ │ │ └── setup/
│ │ │ │ │ │ ├── install-atl.sh
│ │ │ │ │ │ ├── install-dill.sh
│ │ │ │ │ │ ├── linux.sh
│ │ │ │ │ │ ├── macos.sh
│ │ │ │ │ │ └── windows.sh
│ │ │ │ │ └── dashboard/
│ │ │ │ │ ├── common.cmake
│ │ │ │ │ └── ffs_common.cmake
│ │ │ │ └── version.c
│ │ │ └── update.sh
│ │ ├── mingw-w64/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Readme.txt
│ │ │ ├── mingw-w64/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── mingw-w64-crt/
│ │ │ │ │ └── misc/
│ │ │ │ │ └── getopt.c
│ │ │ │ └── mingw-w64-headers/
│ │ │ │ └── crt/
│ │ │ │ └── getopt.h
│ │ │ └── update.sh
│ │ ├── nlohmann_json/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Readme.txt
│ │ │ ├── nlohmann_json_wrapper/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── nlohmann_json.hpp
│ │ │ │ └── single_include/
│ │ │ │ └── nlohmann/
│ │ │ │ └── json.hpp
│ │ │ └── update.sh
│ │ ├── perfstubs/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Readme.txt
│ │ │ ├── adios2-perfstubs-interface.h.in
│ │ │ ├── perfstubs/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ └── perfstubs_api/
│ │ │ │ ├── README.md
│ │ │ │ ├── config.h.in
│ │ │ │ ├── timer.c
│ │ │ │ ├── timer.h
│ │ │ │ └── tool.h
│ │ │ ├── perfstubs.supp
│ │ │ └── update.sh
│ │ ├── pugixml/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Readme.txt
│ │ │ ├── pugixml/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── src/
│ │ │ │ ├── pugiconfig.hpp
│ │ │ │ ├── pugixml.cpp
│ │ │ │ └── pugixml.hpp
│ │ │ └── update.sh
│ │ ├── pybind11/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Readme.txt
│ │ │ ├── pybind11/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── include/
│ │ │ │ └── pybind11/
│ │ │ │ ├── attr.h
│ │ │ │ ├── buffer_info.h
│ │ │ │ ├── cast.h
│ │ │ │ ├── chrono.h
│ │ │ │ ├── common.h
│ │ │ │ ├── complex.h
│ │ │ │ ├── detail/
│ │ │ │ │ ├── class.h
│ │ │ │ │ ├── common.h
│ │ │ │ │ ├── descr.h
│ │ │ │ │ ├── init.h
│ │ │ │ │ ├── internals.h
│ │ │ │ │ ├── type_caster_base.h
│ │ │ │ │ └── typeid.h
│ │ │ │ ├── eigen.h
│ │ │ │ ├── embed.h
│ │ │ │ ├── eval.h
│ │ │ │ ├── functional.h
│ │ │ │ ├── gil.h
│ │ │ │ ├── iostream.h
│ │ │ │ ├── numpy.h
│ │ │ │ ├── operators.h
│ │ │ │ ├── options.h
│ │ │ │ ├── pybind11.h
│ │ │ │ ├── pytypes.h
│ │ │ │ ├── stl/
│ │ │ │ │ └── filesystem.h
│ │ │ │ ├── stl.h
│ │ │ │ └── stl_bind.h
│ │ │ └── update.sh
│ │ ├── update-common.sh
│ │ └── yaml-cpp/
│ │ ├── CMakeLists.txt
│ │ ├── Readme.txt
│ │ ├── update.sh
│ │ └── yaml-cpp/
│ │ ├── CMakeLists.txt
│ │ ├── LICENSE
│ │ ├── include/
│ │ │ └── yaml-cpp/
│ │ │ ├── anchor.h
│ │ │ ├── binary.h
│ │ │ ├── contrib/
│ │ │ │ ├── anchordict.h
│ │ │ │ └── graphbuilder.h
│ │ │ ├── depthguard.h
│ │ │ ├── dll.h
│ │ │ ├── emitfromevents.h
│ │ │ ├── emitter.h
│ │ │ ├── emitterdef.h
│ │ │ ├── emittermanip.h
│ │ │ ├── emitterstyle.h
│ │ │ ├── eventhandler.h
│ │ │ ├── exceptions.h
│ │ │ ├── mark.h
│ │ │ ├── node/
│ │ │ │ ├── convert.h
│ │ │ │ ├── detail/
│ │ │ │ │ ├── impl.h
│ │ │ │ │ ├── iterator.h
│ │ │ │ │ ├── iterator_fwd.h
│ │ │ │ │ ├── memory.h
│ │ │ │ │ ├── node.h
│ │ │ │ │ ├── node_data.h
│ │ │ │ │ ├── node_iterator.h
│ │ │ │ │ └── node_ref.h
│ │ │ │ ├── emit.h
│ │ │ │ ├── impl.h
│ │ │ │ ├── iterator.h
│ │ │ │ ├── node.h
│ │ │ │ ├── parse.h
│ │ │ │ ├── ptr.h
│ │ │ │ └── type.h
│ │ │ ├── noexcept.h
│ │ │ ├── null.h
│ │ │ ├── ostream_wrapper.h
│ │ │ ├── parser.h
│ │ │ ├── stlemitter.h
│ │ │ ├── traits.h
│ │ │ └── yaml.h
│ │ └── src/
│ │ ├── binary.cpp
│ │ ├── collectionstack.h
│ │ ├── contrib/
│ │ │ ├── graphbuilder.cpp
│ │ │ ├── graphbuilderadapter.cpp
│ │ │ ├── graphbuilderadapter.h
│ │ │ ├── yaml-cpp.natvis
│ │ │ └── yaml-cpp.natvis.md
│ │ ├── convert.cpp
│ │ ├── depthguard.cpp
│ │ ├── directives.cpp
│ │ ├── directives.h
│ │ ├── emit.cpp
│ │ ├── emitfromevents.cpp
│ │ ├── emitter.cpp
│ │ ├── emitterstate.cpp
│ │ ├── emitterstate.h
│ │ ├── emitterutils.cpp
│ │ ├── emitterutils.h
│ │ ├── exceptions.cpp
│ │ ├── exp.cpp
│ │ ├── exp.h
│ │ ├── indentation.h
│ │ ├── memory.cpp
│ │ ├── node.cpp
│ │ ├── node_data.cpp
│ │ ├── nodebuilder.cpp
│ │ ├── nodebuilder.h
│ │ ├── nodeevents.cpp
│ │ ├── nodeevents.h
│ │ ├── null.cpp
│ │ ├── ostream_wrapper.cpp
│ │ ├── parse.cpp
│ │ ├── parser.cpp
│ │ ├── ptr_vector.h
│ │ ├── regex_yaml.cpp
│ │ ├── regex_yaml.h
│ │ ├── regeximpl.h
│ │ ├── scanner.cpp
│ │ ├── scanner.h
│ │ ├── scanscalar.cpp
│ │ ├── scanscalar.h
│ │ ├── scantag.cpp
│ │ ├── scantag.h
│ │ ├── scantoken.cpp
│ │ ├── setting.h
│ │ ├── simplekey.cpp
│ │ ├── singledocparser.cpp
│ │ ├── singledocparser.h
│ │ ├── stream.cpp
│ │ ├── stream.h
│ │ ├── streamcharsource.h
│ │ ├── stringsource.h
│ │ ├── tag.cpp
│ │ ├── tag.h
│ │ └── token.h
│ ├── cpptrace/
│ │ ├── CHANGELOG.md
│ │ ├── CMakeLists.txt
│ │ ├── CONTRIBUTING.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── SECURITY.md
│ │ ├── ci/
│ │ │ ├── build-in-all-configs.py
│ │ │ ├── dump_msvc_env.ps1
│ │ │ ├── setup-prerequisites-mingw.ps1
│ │ │ ├── setup-prerequisites.sh
│ │ │ ├── speedtest.py
│ │ │ ├── test-all-configs.py
│ │ │ └── util.py
│ │ ├── cmake/
│ │ │ ├── InstallRules.cmake
│ │ │ ├── OptionVariables.cmake
│ │ │ ├── PreventInSourceBuilds.cmake
│ │ │ ├── ProjectIsTopLevel.cmake
│ │ │ ├── has_backtrace.cpp
│ │ │ ├── has_cxx_exception_type.cpp
│ │ │ ├── has_cxxabi.cpp
│ │ │ ├── has_dl.cpp
│ │ │ ├── has_dl_find_object.cpp
│ │ │ ├── has_execinfo.cpp
│ │ │ ├── has_stackwalk.cpp
│ │ │ ├── has_unwind.cpp
│ │ │ └── in/
│ │ │ └── cpptrace-config-cmake.in
│ │ ├── docs/
│ │ │ ├── c-api.md
│ │ │ └── signal-safe-tracing.md
│ │ ├── include/
│ │ │ ├── cpptrace/
│ │ │ │ └── cpptrace.hpp
│ │ │ └── ctrace/
│ │ │ └── ctrace.h
│ │ ├── sonar-project.properties
│ │ └── src/
│ │ ├── binary/
│ │ │ ├── elf.hpp
│ │ │ ├── mach-o.hpp
│ │ │ ├── object.hpp
│ │ │ ├── pe.hpp
│ │ │ └── safe_dl.hpp
│ │ ├── cpptrace.cpp
│ │ ├── ctrace.cpp
│ │ ├── demangle/
│ │ │ ├── demangle.hpp
│ │ │ ├── demangle_with_cxxabi.cpp
│ │ │ ├── demangle_with_nothing.cpp
│ │ │ └── demangle_with_winapi.cpp
│ │ ├── symbols/
│ │ │ ├── symbols.hpp
│ │ │ ├── symbols_core.cpp
│ │ │ ├── symbols_with_addr2line.cpp
│ │ │ ├── symbols_with_dbghelp.cpp
│ │ │ ├── symbols_with_dl.cpp
│ │ │ ├── symbols_with_libbacktrace.cpp
│ │ │ ├── symbols_with_libdwarf.cpp
│ │ │ └── symbols_with_nothing.cpp
│ │ ├── unwind/
│ │ │ ├── unwind.hpp
│ │ │ ├── unwind_with_dbghelp.cpp
│ │ │ ├── unwind_with_execinfo.cpp
│ │ │ ├── unwind_with_libunwind.cpp
│ │ │ ├── unwind_with_nothing.cpp
│ │ │ ├── unwind_with_unwind.cpp
│ │ │ └── unwind_with_winapi.cpp
│ │ └── utils/
│ │ ├── common.hpp
│ │ ├── dbghelp_syminit_manager.hpp
│ │ ├── dwarf.hpp
│ │ ├── error.hpp
│ │ ├── exception_type.hpp
│ │ ├── program_name.hpp
│ │ └── utils.hpp
│ ├── cvode/
│ │ ├── .readthedocs.yaml
│ │ ├── CHANGELOG.md
│ │ ├── CITATIONS.md
│ │ ├── CMakeLists.txt
│ │ ├── CONTRIBUTING.md
│ │ ├── LICENSE
│ │ ├── NOTICE
│ │ ├── README.md
│ │ ├── benchmarks/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── advection_reaction_3D/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── ParallelGrid.hpp
│ │ │ │ ├── README.md
│ │ │ │ ├── advection_reaction_3D.cpp
│ │ │ │ ├── advection_reaction_3D.hpp
│ │ │ │ ├── arkode_driver.cpp
│ │ │ │ ├── backends.hpp
│ │ │ │ ├── check_retval.h
│ │ │ │ ├── cvode_driver.cpp
│ │ │ │ ├── ida_driver.cpp
│ │ │ │ ├── rhs3D.hpp
│ │ │ │ └── scripts/
│ │ │ │ ├── compare_error.py
│ │ │ │ ├── compute_error.py
│ │ │ │ └── pickle_solution_output.py
│ │ │ ├── diffusion_2D/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── README.md
│ │ │ │ ├── diffusion_2D.cpp
│ │ │ │ ├── diffusion_2D.hpp
│ │ │ │ ├── main_arkode.cpp
│ │ │ │ ├── main_cvode.cpp
│ │ │ │ ├── main_ida.cpp
│ │ │ │ ├── mpi_gpu/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── buffers.cpp
│ │ │ │ │ ├── diffusion.cpp
│ │ │ │ │ ├── solution.cpp
│ │ │ │ │ └── utils.cpp
│ │ │ │ ├── mpi_serial/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── buffers.cpp
│ │ │ │ │ ├── diffusion.cpp
│ │ │ │ │ ├── solution.cpp
│ │ │ │ │ └── utils.cpp
│ │ │ │ └── preconditioner_jacobi.cpp
│ │ │ └── nvector/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── cuda/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── test_nvector_performance_cuda.cu
│ │ │ ├── hip/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── test_nvector_performance_hip.cpp
│ │ │ ├── kokkos/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── test_nvector_performance_kokkos.cpp
│ │ │ ├── mpiplusx/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── test_nvector_performance_mpiplusx.c
│ │ │ ├── openmp/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── test_nvector_performance_openmp.c
│ │ │ ├── openmpdev/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── test_nvector_performance_openmpdev.c
│ │ │ ├── parallel/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── test_nvector_performance_parallel.c
│ │ │ ├── parhyp/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── test_nvector_performance_parhyp.c
│ │ │ ├── petsc/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── test_nvector_performance_petsc.c
│ │ │ ├── plot_nvector_performance_results.py
│ │ │ ├── plot_nvector_performance_speedup.py
│ │ │ ├── pthreads/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── test_nvector_performance_pthreads.c
│ │ │ ├── raja/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── test_nvector_performance_raja.cpp
│ │ │ ├── serial/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── test_nvector_performance_serial.c
│ │ │ ├── sycl/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── test_nvector_performance_sycl.cpp
│ │ │ ├── test_nvector_performance.c
│ │ │ └── test_nvector_performance.h
│ │ ├── cmake/
│ │ │ ├── SUNDIALSConfig.cmake.in
│ │ │ ├── SundialsBuildOptionsPost.cmake
│ │ │ ├── SundialsBuildOptionsPre.cmake
│ │ │ ├── SundialsDeprecated.cmake
│ │ │ ├── SundialsExampleOptions.cmake
│ │ │ ├── SundialsIndexSize.cmake
│ │ │ ├── SundialsSetupCXX.cmake
│ │ │ ├── SundialsSetupCompilers.cmake
│ │ │ ├── SundialsSetupConfig.cmake
│ │ │ ├── SundialsSetupCuda.cmake
│ │ │ ├── SundialsSetupFortran.cmake
│ │ │ ├── SundialsSetupHIP.cmake
│ │ │ ├── SundialsSetupTPLs.cmake
│ │ │ ├── SundialsSetupTesting.cmake
│ │ │ ├── SundialsTPLOptions.cmake
│ │ │ ├── macros/
│ │ │ │ ├── SundialsAddExamplesGinkgo.cmake
│ │ │ │ ├── SundialsAddExecutable.cmake
│ │ │ │ ├── SundialsAddLibrary.cmake
│ │ │ │ ├── SundialsAddTest.cmake
│ │ │ │ ├── SundialsAddTestInstall.cmake
│ │ │ │ ├── SundialsCMakeMacros.cmake
│ │ │ │ ├── SundialsInstallExamples.cmake
│ │ │ │ ├── SundialsInstallExamplesGinkgo.cmake
│ │ │ │ ├── SundialsOption.cmake
│ │ │ │ └── SundialsTryCompileExecute.cmake
│ │ │ └── tpl/
│ │ │ ├── FindHYPRE.cmake
│ │ │ ├── FindKLU.cmake
│ │ │ ├── FindMAGMA.cmake
│ │ │ ├── FindPETSC.cmake
│ │ │ ├── FindSUPERLUDIST.cmake
│ │ │ ├── FindSUPERLUMT.cmake
│ │ │ ├── FindTrilinos.cmake
│ │ │ ├── FindXBRAID.cmake
│ │ │ ├── SundialsCaliper.cmake
│ │ │ ├── SundialsGinkgo.cmake
│ │ │ ├── SundialsHypre.cmake
│ │ │ ├── SundialsKLU.cmake
│ │ │ ├── SundialsKokkos.cmake
│ │ │ ├── SundialsKokkosKernels.cmake
│ │ │ ├── SundialsLapack.cmake
│ │ │ ├── SundialsMAGMA.cmake
│ │ │ ├── SundialsMPI.cmake
│ │ │ ├── SundialsONEMKL.cmake
│ │ │ ├── SundialsOpenMP.cmake
│ │ │ ├── SundialsPETSC.cmake
│ │ │ ├── SundialsPOSIXTimers.cmake
│ │ │ ├── SundialsPthread.cmake
│ │ │ ├── SundialsRAJA.cmake
│ │ │ ├── SundialsSuperLUDIST.cmake
│ │ │ ├── SundialsSuperLUMT.cmake
│ │ │ ├── SundialsTrilinos.cmake
│ │ │ └── SundialsXBRAID.cmake
│ │ ├── doc/
│ │ │ ├── cvode/
│ │ │ │ └── guide/
│ │ │ │ ├── Makefile
│ │ │ │ └── source/
│ │ │ │ ├── Constants.rst
│ │ │ │ ├── History_link.rst
│ │ │ │ ├── Install_link.rst
│ │ │ │ ├── Introduction.rst
│ │ │ │ ├── Landing.rst
│ │ │ │ ├── Mathematics.rst
│ │ │ │ ├── Organization.rst
│ │ │ │ ├── References.rst
│ │ │ │ ├── Usage/
│ │ │ │ │ └── index.rst
│ │ │ │ ├── conf.py
│ │ │ │ ├── figs/
│ │ │ │ │ ├── arkode/
│ │ │ │ │ │ └── time_adaptivity.fig
│ │ │ │ │ ├── bandmat.eps
│ │ │ │ │ ├── bandmat.fig
│ │ │ │ │ ├── cmake/
│ │ │ │ │ │ ├── CMake.screens.docx
│ │ │ │ │ │ ├── ccmakeempty.eps
│ │ │ │ │ │ ├── ccmakeinstalldir.eps
│ │ │ │ │ │ ├── cmaketest.eps
│ │ │ │ │ │ ├── testrunnerbot.eps
│ │ │ │ │ │ └── testrunnertop.eps
│ │ │ │ │ ├── cscmat.eps
│ │ │ │ │ ├── cscmat.fig
│ │ │ │ │ ├── doc_logo.eps
│ │ │ │ │ ├── doc_logo_blue.eps
│ │ │ │ │ ├── sunorg.pptx
│ │ │ │ │ └── warning.fig
│ │ │ │ ├── index.rst
│ │ │ │ ├── nvectors/
│ │ │ │ │ ├── CVODE_requirements.rst
│ │ │ │ │ ├── NVector_API_link.rst
│ │ │ │ │ ├── NVector_links.rst
│ │ │ │ │ └── index.rst
│ │ │ │ ├── sundials/
│ │ │ │ │ ├── Fortran_link.rst
│ │ │ │ │ ├── GPU_link.rst
│ │ │ │ │ ├── Logging_link.rst
│ │ │ │ │ ├── Profiling_link.rst
│ │ │ │ │ ├── SUNContext_link.rst
│ │ │ │ │ ├── index.rst
│ │ │ │ │ └── version_information_link.rst
│ │ │ │ ├── sunlinsol/
│ │ │ │ │ ├── CVODE_interface.rst
│ │ │ │ │ ├── SUNLinSol_API_link.rst
│ │ │ │ │ ├── SUNLinSol_links.rst
│ │ │ │ │ └── index.rst
│ │ │ │ ├── sunmatrix/
│ │ │ │ │ ├── CVODE_requirements.rst
│ │ │ │ │ ├── SUNMatrix_links.rst
│ │ │ │ │ └── index.rst
│ │ │ │ ├── sunmemory/
│ │ │ │ │ ├── SUNMemory_links.rst
│ │ │ │ │ └── index.rst
│ │ │ │ └── sunnonlinsol/
│ │ │ │ ├── CVODE_interface.rst
│ │ │ │ ├── SUNNonlinSol_API_link.rst
│ │ │ │ ├── SUNNonlinSol_links.rst
│ │ │ │ └── index.rst
│ │ │ ├── requirements.txt
│ │ │ └── shared/
│ │ │ ├── History.rst
│ │ │ ├── Install.rst
│ │ │ ├── LicenseReleaseNumbers.rst
│ │ │ ├── SundialsOrganization.rst
│ │ │ ├── Types.rst
│ │ │ ├── _static/
│ │ │ │ └── css/
│ │ │ │ └── custom.css
│ │ │ ├── cite_sundials.rst
│ │ │ ├── figs/
│ │ │ │ ├── arkode/
│ │ │ │ │ └── time_adaptivity.fig
│ │ │ │ ├── bandmat.eps
│ │ │ │ ├── bandmat.fig
│ │ │ │ ├── cmake/
│ │ │ │ │ ├── CMake.screens.docx
│ │ │ │ │ ├── ccmakeempty.eps
│ │ │ │ │ ├── ccmakeinstalldir.eps
│ │ │ │ │ ├── cmaketest.eps
│ │ │ │ │ ├── testrunnerbot.eps
│ │ │ │ │ └── testrunnertop.eps
│ │ │ │ ├── cscmat.eps
│ │ │ │ ├── cscmat.fig
│ │ │ │ ├── doc_logo.eps
│ │ │ │ ├── doc_logo_blue.eps
│ │ │ │ ├── sunorg.pptx
│ │ │ │ └── warning.fig
│ │ │ ├── global.rst.txt
│ │ │ ├── latex/
│ │ │ │ ├── cover_pages.tex.txt
│ │ │ │ └── preamble.tex.txt
│ │ │ ├── nvectors/
│ │ │ │ ├── NVector_CUDA.rst
│ │ │ │ ├── NVector_Description.rst
│ │ │ │ ├── NVector_Examples.rst
│ │ │ │ ├── NVector_HIP.rst
│ │ │ │ ├── NVector_Kokkos.rst
│ │ │ │ ├── NVector_MPIManyVector.rst
│ │ │ │ ├── NVector_MPIPlusX.rst
│ │ │ │ ├── NVector_ManyVector.rst
│ │ │ │ ├── NVector_OpenMP.rst
│ │ │ │ ├── NVector_OpenMPDEV.rst
│ │ │ │ ├── NVector_Operations.rst
│ │ │ │ ├── NVector_PETSc.rst
│ │ │ │ ├── NVector_ParHyp.rst
│ │ │ │ ├── NVector_Parallel.rst
│ │ │ │ ├── NVector_Pthreads.rst
│ │ │ │ ├── NVector_RAJA.rst
│ │ │ │ ├── NVector_SYCL.rst
│ │ │ │ ├── NVector_Serial.rst
│ │ │ │ └── NVector_Trilinos.rst
│ │ │ ├── sundials/
│ │ │ │ ├── Fortran.rst
│ │ │ │ ├── GPU.rst
│ │ │ │ ├── Logging.rst
│ │ │ │ ├── Profiling.rst
│ │ │ │ ├── SUNContext.rst
│ │ │ │ ├── index.rst
│ │ │ │ └── version_information.rst
│ │ │ ├── sundials.bib
│ │ │ ├── sunlinsol/
│ │ │ │ ├── SUNLinSol_API.rst
│ │ │ │ ├── SUNLinSol_Band.rst
│ │ │ │ ├── SUNLinSol_Dense.rst
│ │ │ │ ├── SUNLinSol_Examples.rst
│ │ │ │ ├── SUNLinSol_Ginkgo.rst
│ │ │ │ ├── SUNLinSol_Introduction.rst
│ │ │ │ ├── SUNLinSol_KLU.rst
│ │ │ │ ├── SUNLinSol_KokkosDense.rst
│ │ │ │ ├── SUNLinSol_LapackBand.rst
│ │ │ │ ├── SUNLinSol_LapackDense.rst
│ │ │ │ ├── SUNLinSol_MagmaDense.rst
│ │ │ │ ├── SUNLinSol_OneMklDense.rst
│ │ │ │ ├── SUNLinSol_PCG.rst
│ │ │ │ ├── SUNLinSol_SPBCGS.rst
│ │ │ │ ├── SUNLinSol_SPFGMR.rst
│ │ │ │ ├── SUNLinSol_SPGMR.rst
│ │ │ │ ├── SUNLinSol_SPTFQMR.rst
│ │ │ │ ├── SUNLinSol_SuperLUDIST.rst
│ │ │ │ ├── SUNLinSol_SuperLUMT.rst
│ │ │ │ └── SUNLinSol_cuSolverSp.rst
│ │ │ ├── sunmatrix/
│ │ │ │ ├── SUNMatrix_Band.rst
│ │ │ │ ├── SUNMatrix_Dense.rst
│ │ │ │ ├── SUNMatrix_Description.rst
│ │ │ │ ├── SUNMatrix_Examples.rst
│ │ │ │ ├── SUNMatrix_Ginkgo.rst
│ │ │ │ ├── SUNMatrix_KokkosDense.rst
│ │ │ │ ├── SUNMatrix_MagmaDense.rst
│ │ │ │ ├── SUNMatrix_OneMklDense.rst
│ │ │ │ ├── SUNMatrix_Operations.rst
│ │ │ │ ├── SUNMatrix_SLUNRloc.rst
│ │ │ │ ├── SUNMatrix_Sparse.rst
│ │ │ │ └── SUNMatrix_cuSparse.rst
│ │ │ ├── sunmemory/
│ │ │ │ ├── SUNMemory_CUDA.rst
│ │ │ │ ├── SUNMemory_Description.rst
│ │ │ │ ├── SUNMemory_HIP.rst
│ │ │ │ └── SUNMemory_SYCL.rst
│ │ │ ├── sunnonlinsol/
│ │ │ │ ├── SUNNonlinSol_API.rst
│ │ │ │ ├── SUNNonlinSol_FixedPoint.rst
│ │ │ │ ├── SUNNonlinSol_Newton.rst
│ │ │ │ └── SUNNonlinSol_PetscSNES.rst
│ │ │ └── versions.py
│ │ ├── examples/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── cvode/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── CXX_onemkl/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cvRoberts_blockdiag_onemkl.cpp
│ │ │ │ │ └── cvRoberts_blockdiag_onemkl.out
│ │ │ │ ├── CXX_parallel/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cv_heat2D_p.cpp
│ │ │ │ │ ├── cv_heat2D_p_--np_2_2.out
│ │ │ │ │ └── plot_heat2D_p.py
│ │ │ │ ├── CXX_parhyp/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cv_heat2D_hypre_ls.cpp
│ │ │ │ │ ├── cv_heat2D_hypre_ls_--np_2_2.out
│ │ │ │ │ ├── cv_heat2D_hypre_pfmg.cpp
│ │ │ │ │ ├── cv_heat2D_hypre_pfmg_--np_2_2.out
│ │ │ │ │ └── plot_heat2D_p.py
│ │ │ │ ├── CXX_serial/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cv_heat2D.cpp
│ │ │ │ │ ├── cv_heat2D.hpp
│ │ │ │ │ ├── cv_heat2D.out
│ │ │ │ │ ├── cv_kpr.cpp
│ │ │ │ │ ├── cv_kpr.hpp
│ │ │ │ │ ├── cv_kpr.out
│ │ │ │ │ └── plot_heat2D.py
│ │ │ │ ├── CXX_sycl/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cvAdvDiff_kry_sycl.cpp
│ │ │ │ │ └── cvAdvDiff_kry_sycl.out
│ │ │ │ ├── C_mpimanyvector/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cvDiurnal_kry_mpimanyvec.c
│ │ │ │ │ └── cvDiurnal_kry_mpimanyvec.out
│ │ │ │ ├── C_openmp/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cvAdvDiff_bnd_omp.c
│ │ │ │ │ └── cvAdvDiff_bnd_omp.out
│ │ │ │ ├── C_openmpdev/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cvAdvDiff_kry_ompdev.c
│ │ │ │ │ └── cvAdvDiff_kry_ompdev.out
│ │ │ │ ├── F2003_serial/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cv_analytic_fp_f2003.f90
│ │ │ │ │ ├── cv_analytic_fp_f2003.out
│ │ │ │ │ ├── cv_analytic_sys_dns_f2003.f90
│ │ │ │ │ ├── cv_analytic_sys_dns_f2003.out
│ │ │ │ │ ├── cv_analytic_sys_dns_jac_f2003.f90
│ │ │ │ │ ├── cv_analytic_sys_dns_jac_f2003.out
│ │ │ │ │ ├── cv_analytic_sys_klu_f2003.f90
│ │ │ │ │ ├── cv_analytic_sys_klu_f2003.out
│ │ │ │ │ ├── cv_brusselator_dns_f2003.f90
│ │ │ │ │ └── cv_brusselator_dns_f2003.out
│ │ │ │ ├── cuda/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cvAdvDiff_diag_cuda.cu
│ │ │ │ │ ├── cvAdvDiff_diag_cuda_0_0.out
│ │ │ │ │ ├── cvAdvDiff_diag_cuda_0_1.out
│ │ │ │ │ ├── cvAdvDiff_diag_cuda_1_1.out
│ │ │ │ │ ├── cvAdvDiff_kry_cuda.cu
│ │ │ │ │ ├── cvAdvDiff_kry_cuda.out
│ │ │ │ │ ├── cvAdvDiff_kry_cuda_managed.cu
│ │ │ │ │ ├── cvAdvDiff_kry_cuda_managed.out
│ │ │ │ │ ├── cvRoberts_block_cusolversp_batchqr.cu
│ │ │ │ │ └── cvRoberts_block_cusolversp_batchqr.out
│ │ │ │ ├── ginkgo/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── cv_heat2D_ginkgo.CUDA.out
│ │ │ │ │ ├── cv_heat2D_ginkgo.OMP.out
│ │ │ │ │ ├── cv_heat2D_ginkgo.REF.out
│ │ │ │ │ ├── cv_heat2D_ginkgo.cpp
│ │ │ │ │ ├── cv_heat2D_ginkgo.hpp
│ │ │ │ │ ├── cv_kpr_ginkgo.OMP.out
│ │ │ │ │ ├── cv_kpr_ginkgo.REF.out
│ │ │ │ │ ├── cv_kpr_ginkgo.cpp
│ │ │ │ │ └── cv_kpr_ginkgo.hpp
│ │ │ │ ├── hip/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cvAdvDiff_diag_hip.cpp
│ │ │ │ │ ├── cvAdvDiff_diag_hip_0_0.out
│ │ │ │ │ ├── cvAdvDiff_diag_hip_0_1.out
│ │ │ │ │ ├── cvAdvDiff_diag_hip_1_1.out
│ │ │ │ │ ├── cvAdvDiff_kry_hip.cpp
│ │ │ │ │ └── cvAdvDiff_kry_hip.out
│ │ │ │ ├── kokkos/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── cv_bruss_batched_kokkos.CUDA.out
│ │ │ │ │ ├── cv_bruss_batched_kokkos.OPENMP.out
│ │ │ │ │ ├── cv_bruss_batched_kokkos.SERIAL.out
│ │ │ │ │ └── cv_bruss_batched_kokkos.cpp
│ │ │ │ ├── magma/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cv_bruss_batched_magma.cpp
│ │ │ │ │ └── cv_bruss_batched_magma.out
│ │ │ │ ├── parallel/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cvAdvDiff_diag_p.c
│ │ │ │ │ ├── cvAdvDiff_diag_p.out
│ │ │ │ │ ├── cvAdvDiff_non_p.c
│ │ │ │ │ ├── cvAdvDiff_non_p.out
│ │ │ │ │ ├── cvDiurnal_kry_bbd_p.c
│ │ │ │ │ ├── cvDiurnal_kry_bbd_p.out
│ │ │ │ │ ├── cvDiurnal_kry_p.c
│ │ │ │ │ └── cvDiurnal_kry_p.out
│ │ │ │ ├── parhyp/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cvAdvDiff_non_ph.c
│ │ │ │ │ └── cvAdvDiff_non_ph.out
│ │ │ │ ├── petsc/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cvAdvDiff_petsc.c
│ │ │ │ │ ├── cvAdvDiff_petsc.out
│ │ │ │ │ ├── cv_petsc_ex7.c
│ │ │ │ │ └── cv_petsc_ex7.out
│ │ │ │ ├── raja/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cvAdvDiff_kry_raja.cpp
│ │ │ │ │ └── cvAdvDiff_kry_raja.out
│ │ │ │ ├── serial/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── README
│ │ │ │ │ ├── cvAdvDiff_bnd.c
│ │ │ │ │ ├── cvAdvDiff_bnd.out
│ │ │ │ │ ├── cvAdvDiff_bndL.c
│ │ │ │ │ ├── cvAdvDiff_bndL.out
│ │ │ │ │ ├── cvAnalytic_mels.c
│ │ │ │ │ ├── cvAnalytic_mels.out
│ │ │ │ │ ├── cvDirectDemo_ls.c
│ │ │ │ │ ├── cvDirectDemo_ls.out
│ │ │ │ │ ├── cvDisc_dns.c
│ │ │ │ │ ├── cvDisc_dns.out
│ │ │ │ │ ├── cvDiurnal_kry.c
│ │ │ │ │ ├── cvDiurnal_kry.out
│ │ │ │ │ ├── cvDiurnal_kry_bp.c
│ │ │ │ │ ├── cvDiurnal_kry_bp.out
│ │ │ │ │ ├── cvKrylovDemo_ls.c
│ │ │ │ │ ├── cvKrylovDemo_ls.out
│ │ │ │ │ ├── cvKrylovDemo_ls_0_1.out
│ │ │ │ │ ├── cvKrylovDemo_ls_1.out
│ │ │ │ │ ├── cvKrylovDemo_ls_2.out
│ │ │ │ │ ├── cvKrylovDemo_prec.c
│ │ │ │ │ ├── cvKrylovDemo_prec.out
│ │ │ │ │ ├── cvParticle_dns.c
│ │ │ │ │ ├── cvParticle_dns.out
│ │ │ │ │ ├── cvPendulum_dns.c
│ │ │ │ │ ├── cvPendulum_dns.out
│ │ │ │ │ ├── cvRoberts_block_klu.c
│ │ │ │ │ ├── cvRoberts_block_klu.out
│ │ │ │ │ ├── cvRoberts_dns.c
│ │ │ │ │ ├── cvRoberts_dns.out
│ │ │ │ │ ├── cvRoberts_dnsL.c
│ │ │ │ │ ├── cvRoberts_dnsL.out
│ │ │ │ │ ├── cvRoberts_dns_constraints.c
│ │ │ │ │ ├── cvRoberts_dns_constraints.out
│ │ │ │ │ ├── cvRoberts_dns_negsol.c
│ │ │ │ │ ├── cvRoberts_dns_negsol.out
│ │ │ │ │ ├── cvRoberts_dns_stats.csv
│ │ │ │ │ ├── cvRoberts_dns_uw.c
│ │ │ │ │ ├── cvRoberts_dns_uw.out
│ │ │ │ │ ├── cvRoberts_klu.c
│ │ │ │ │ ├── cvRoberts_klu.out
│ │ │ │ │ ├── cvRoberts_sps.c
│ │ │ │ │ ├── cvRoberts_sps.out
│ │ │ │ │ ├── cvRocket_dns.c
│ │ │ │ │ ├── cvRocket_dns.out
│ │ │ │ │ ├── plot_cvParticle.py
│ │ │ │ │ └── plot_cvPendulum.py
│ │ │ │ └── superludist/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── README
│ │ │ │ ├── cvAdvDiff_sludist.cpp
│ │ │ │ ├── cvAdvDiff_sludist_32.out
│ │ │ │ └── cvAdvDiff_sludist_64.out
│ │ │ ├── nvector/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── C_openmp/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fnvector_openmp_mod.f90
│ │ │ │ │ └── test_nvector_openmp.c
│ │ │ │ ├── cuda/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_nvector_cuda.cu
│ │ │ │ ├── hip/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_nvector_hip.cpp
│ │ │ │ ├── kokkos/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_nvector_kokkos.cpp
│ │ │ │ ├── manyvector/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fnvector_manyvector_mod.f90
│ │ │ │ │ └── test_nvector_manyvector.c
│ │ │ │ ├── mpicuda/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_nvector_mpicuda.cu
│ │ │ │ ├── mpimanyvector/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fnvector_mpimanyvector_mod.f90
│ │ │ │ │ ├── test_nvector_mpimanyvector_parallel1.c
│ │ │ │ │ └── test_nvector_mpimanyvector_parallel2.c
│ │ │ │ ├── mpiplusx/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fnvector_mpiplusx_mod.f90
│ │ │ │ │ └── test_nvector_mpiplusx.c
│ │ │ │ ├── mpiraja/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_nvector_mpiraja.cpp
│ │ │ │ ├── openmpdev/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_nvector_openmpdev.c
│ │ │ │ ├── parallel/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fnvector_parallel_mod.f90
│ │ │ │ │ └── test_nvector_mpi.c
│ │ │ │ ├── parhyp/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_nvector_parhyp.c
│ │ │ │ ├── petsc/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_nvector_petsc.c
│ │ │ │ ├── pthreads/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fnvector_pthreads_mod.f90
│ │ │ │ │ └── test_nvector_pthreads.c
│ │ │ │ ├── raja/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_nvector_raja.cpp
│ │ │ │ ├── serial/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fnvector_serial_mod.f90
│ │ │ │ │ └── test_nvector_serial.c
│ │ │ │ ├── sycl/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_nvector_sycl.cpp
│ │ │ │ ├── test_mpinvector.c
│ │ │ │ ├── test_nvector.c
│ │ │ │ ├── test_nvector.f90
│ │ │ │ ├── test_nvector.h
│ │ │ │ └── trilinos/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── test_nvector_trilinos.cpp
│ │ │ ├── sunlinsol/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── band/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fsunlinsol_band_mod.f90
│ │ │ │ │ └── test_sunlinsol_band.c
│ │ │ │ ├── cusolversp/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_sunlinsol_cusolversp_batchqr.cu
│ │ │ │ ├── dense/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fsunlinsol_dense_mod.f90
│ │ │ │ │ └── test_sunlinsol_dense.c
│ │ │ │ ├── ginkgo/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_sunlinsol_ginkgo.cpp
│ │ │ │ ├── klu/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fsunlinsol_klu_mod.f90
│ │ │ │ │ └── test_sunlinsol_klu.c
│ │ │ │ ├── kokkos/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_sunlinsol_kokkosdense.cpp
│ │ │ │ ├── lapackband/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_sunlinsol_lapackband.c
│ │ │ │ ├── lapackdense/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_sunlinsol_lapackdense.c
│ │ │ │ ├── magmadense/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_sunlinsol_magmadense.cpp
│ │ │ │ ├── onemkldense/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_sunlinsol_onemkldense.cpp
│ │ │ │ ├── pcg/
│ │ │ │ │ └── serial/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fsunlinsol_pcg_mod_serial.f90
│ │ │ │ │ └── test_sunlinsol_pcg_serial.c
│ │ │ │ ├── spbcgs/
│ │ │ │ │ ├── parallel/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── test_sunlinsol_spbcgs_parallel.c
│ │ │ │ │ └── serial/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fsunlinsol_spbcgs_mod_serial.f90
│ │ │ │ │ └── test_sunlinsol_spbcgs_serial.c
│ │ │ │ ├── spfgmr/
│ │ │ │ │ ├── parallel/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── test_sunlinsol_spfgmr_parallel.c
│ │ │ │ │ └── serial/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fsunlinsol_spfgmr_mod_serial.f90
│ │ │ │ │ └── test_sunlinsol_spfgmr_serial.c
│ │ │ │ ├── spgmr/
│ │ │ │ │ ├── parallel/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── test_sunlinsol_spgmr_parallel.c
│ │ │ │ │ └── serial/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fsunlinsol_spgmr_mod_serial.f90
│ │ │ │ │ └── test_sunlinsol_spgmr_serial.c
│ │ │ │ ├── sptfqmr/
│ │ │ │ │ ├── parallel/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── test_sunlinsol_sptfqmr_parallel.c
│ │ │ │ │ └── serial/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fsunlinsol_sptfqmr_mod_serial.f90
│ │ │ │ │ └── test_sunlinsol_sptfqmr_serial.c
│ │ │ │ ├── superludist/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_sunlinsol_superludist.cpp
│ │ │ │ ├── superlumt/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_sunlinsol_superlumt.c
│ │ │ │ ├── test_sunlinsol.c
│ │ │ │ ├── test_sunlinsol.f90
│ │ │ │ └── test_sunlinsol.h
│ │ │ ├── sunmatrix/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── band/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fsunmatrix_band_mod.f90
│ │ │ │ │ └── test_sunmatrix_band.c
│ │ │ │ ├── cusparse/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_sunmatrix_cusparse.cu
│ │ │ │ ├── dense/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fsunmatrix_dense_mod.f90
│ │ │ │ │ └── test_sunmatrix_dense.c
│ │ │ │ ├── dreadrb.c
│ │ │ │ ├── dreadrb.h
│ │ │ │ ├── ginkgo/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_sunmatrix_ginkgo.cpp
│ │ │ │ ├── kokkos/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_sunmatrix_kokkosdense.cpp
│ │ │ │ ├── magmadense/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_sunmatrix_magmadense.cpp
│ │ │ │ ├── onemkldense/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_sunmatrix_onemkldense.cpp
│ │ │ │ ├── slunrloc/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test_sunmatrix_slunrloc.cpp
│ │ │ │ ├── sparse/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fsunmatrix_sparse_mod.f90
│ │ │ │ │ └── test_sunmatrix_sparse.c
│ │ │ │ ├── test_sunmatrix.c
│ │ │ │ ├── test_sunmatrix.f90
│ │ │ │ └── test_sunmatrix.h
│ │ │ ├── sunnonlinsol/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── fixedpoint/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fsunnonlinsol_fixedpoint_mod.f90
│ │ │ │ │ └── test_sunnonlinsol_fixedpoint.c
│ │ │ │ ├── newton/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── test_fsunnonlinsol_newton_mod.f90
│ │ │ │ │ └── test_sunnonlinsol_newton.c
│ │ │ │ └── petsc/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── test_sunnonlinsol_petscsnes.c
│ │ │ ├── templates/
│ │ │ │ ├── cmakelists_CUDA_MPI_ex.in
│ │ │ │ ├── cmakelists_CUDA_ex.in
│ │ │ │ ├── cmakelists_CXX_MPI_ex.in
│ │ │ │ ├── cmakelists_CXX_ex.in
│ │ │ │ ├── cmakelists_CXX_ginkgo_ex.in
│ │ │ │ ├── cmakelists_C_MPI_ex.in
│ │ │ │ ├── cmakelists_C_ex.in
│ │ │ │ ├── cmakelists_HIP_ex.in
│ │ │ │ ├── cmakelists_MPI_ex.in
│ │ │ │ ├── cmakelists_openmp_C_ex.in
│ │ │ │ ├── cmakelists_openmpdev_ex.in
│ │ │ │ ├── cmakelists_parallel_CUDA_ex.in
│ │ │ │ ├── cmakelists_parallel_CXX_ex.in
│ │ │ │ ├── cmakelists_parallel_C_ex.in
│ │ │ │ ├── cmakelists_parallel_F2003_ex.in
│ │ │ │ ├── cmakelists_parallel_RAJA_ex.in
│ │ │ │ ├── cmakelists_parhyp_CXX_ex.in
│ │ │ │ ├── cmakelists_parhyp_C_ex.in
│ │ │ │ ├── cmakelists_petsc_C_ex.in
│ │ │ │ ├── cmakelists_pthreads_C_ex.in
│ │ │ │ ├── cmakelists_serial_CUDA_ex.in
│ │ │ │ ├── cmakelists_serial_CXX_ex.in
│ │ │ │ ├── cmakelists_serial_C_ex.in
│ │ │ │ ├── cmakelists_serial_F2003_ex.in
│ │ │ │ ├── cmakelists_serial_RAJA_ex.in
│ │ │ │ ├── cmakelists_trilinos_CXX_ex.in
│ │ │ │ ├── cmakelists_xbraid_CXX_ex.in
│ │ │ │ ├── makefile_CXX_ex.in
│ │ │ │ ├── makefile_openmp_C_ex.in
│ │ │ │ ├── makefile_openmpdev_ex.in
│ │ │ │ ├── makefile_parallel_CUDA_ex.in
│ │ │ │ ├── makefile_parallel_CXX_ex.in
│ │ │ │ ├── makefile_parallel_C_ex.in
│ │ │ │ ├── makefile_parallel_F2003_ex.in
│ │ │ │ ├── makefile_parallel_RAJA_ex.in
│ │ │ │ ├── makefile_parhyp_CXX_ex.in
│ │ │ │ ├── makefile_parhyp_C_ex.in
│ │ │ │ ├── makefile_petsc_C_ex.in
│ │ │ │ ├── makefile_pthreads_C_ex.in
│ │ │ │ ├── makefile_serial_CUDA_ex.in
│ │ │ │ ├── makefile_serial_CXX_ex.in
│ │ │ │ ├── makefile_serial_C_ex.in
│ │ │ │ ├── makefile_serial_F2003_ex.in
│ │ │ │ ├── makefile_serial_RAJA_ex.in
│ │ │ │ ├── makefile_trilinos_CXX_ex.in
│ │ │ │ └── makefile_xbraid_CXX_ex.in
│ │ │ └── utilities/
│ │ │ ├── custom_memory_helper_gpu.h
│ │ │ ├── custom_memory_helper_sycl.h
│ │ │ ├── example_utilities.hpp
│ │ │ ├── plot_data_2d.py
│ │ │ └── test_utilities.f90
│ │ ├── include/
│ │ │ ├── cvode/
│ │ │ │ ├── cvode.h
│ │ │ │ ├── cvode_bandpre.h
│ │ │ │ ├── cvode_bbdpre.h
│ │ │ │ ├── cvode_diag.h
│ │ │ │ ├── cvode_direct.h
│ │ │ │ ├── cvode_ls.h
│ │ │ │ ├── cvode_proj.h
│ │ │ │ └── cvode_spils.h
│ │ │ ├── nvector/
│ │ │ │ ├── nvector_cuda.h
│ │ │ │ ├── nvector_hip.h
│ │ │ │ ├── nvector_kokkos.hpp
│ │ │ │ ├── nvector_manyvector.h
│ │ │ │ ├── nvector_mpimanyvector.h
│ │ │ │ ├── nvector_mpiplusx.h
│ │ │ │ ├── nvector_openmp.h
│ │ │ │ ├── nvector_openmpdev.h
│ │ │ │ ├── nvector_parallel.h
│ │ │ │ ├── nvector_parhyp.h
│ │ │ │ ├── nvector_petsc.h
│ │ │ │ ├── nvector_pthreads.h
│ │ │ │ ├── nvector_raja.h
│ │ │ │ ├── nvector_serial.h
│ │ │ │ ├── nvector_sycl.h
│ │ │ │ ├── nvector_trilinos.h
│ │ │ │ └── trilinos/
│ │ │ │ ├── SundialsTpetraVectorInterface.hpp
│ │ │ │ └── SundialsTpetraVectorKernels.hpp
│ │ │ ├── sundials/
│ │ │ │ ├── sundials_band.h
│ │ │ │ ├── sundials_base.hpp
│ │ │ │ ├── sundials_config.in
│ │ │ │ ├── sundials_context.h
│ │ │ │ ├── sundials_context.hpp
│ │ │ │ ├── sundials_convertibleto.hpp
│ │ │ │ ├── sundials_cuda_policies.hpp
│ │ │ │ ├── sundials_dense.h
│ │ │ │ ├── sundials_direct.h
│ │ │ │ ├── sundials_futils.h
│ │ │ │ ├── sundials_hip_policies.hpp
│ │ │ │ ├── sundials_iterative.h
│ │ │ │ ├── sundials_lapack.h
│ │ │ │ ├── sundials_linearsolver.h
│ │ │ │ ├── sundials_linearsolver.hpp
│ │ │ │ ├── sundials_logger.h
│ │ │ │ ├── sundials_math.h
│ │ │ │ ├── sundials_matrix.h
│ │ │ │ ├── sundials_matrix.hpp
│ │ │ │ ├── sundials_memory.h
│ │ │ │ ├── sundials_mpi_types.h
│ │ │ │ ├── sundials_nonlinearsolver.h
│ │ │ │ ├── sundials_nonlinearsolver.hpp
│ │ │ │ ├── sundials_nvector.h
│ │ │ │ ├── sundials_nvector.hpp
│ │ │ │ ├── sundials_nvector_senswrapper.h
│ │ │ │ ├── sundials_profiler.h
│ │ │ │ ├── sundials_sycl_policies.hpp
│ │ │ │ ├── sundials_types.h
│ │ │ │ ├── sundials_version.h
│ │ │ │ └── sundials_xbraid.h
│ │ │ ├── sunlinsol/
│ │ │ │ ├── sunlinsol_band.h
│ │ │ │ ├── sunlinsol_cusolversp_batchqr.h
│ │ │ │ ├── sunlinsol_dense.h
│ │ │ │ ├── sunlinsol_ginkgo.hpp
│ │ │ │ ├── sunlinsol_klu.h
│ │ │ │ ├── sunlinsol_kokkosdense.hpp
│ │ │ │ ├── sunlinsol_lapackband.h
│ │ │ │ ├── sunlinsol_lapackdense.h
│ │ │ │ ├── sunlinsol_magmadense.h
│ │ │ │ ├── sunlinsol_onemkldense.h
│ │ │ │ ├── sunlinsol_pcg.h
│ │ │ │ ├── sunlinsol_spbcgs.h
│ │ │ │ ├── sunlinsol_spfgmr.h
│ │ │ │ ├── sunlinsol_spgmr.h
│ │ │ │ ├── sunlinsol_sptfqmr.h
│ │ │ │ ├── sunlinsol_superludist.h
│ │ │ │ └── sunlinsol_superlumt.h
│ │ │ ├── sunmatrix/
│ │ │ │ ├── sunmatrix_band.h
│ │ │ │ ├── sunmatrix_cusparse.h
│ │ │ │ ├── sunmatrix_dense.h
│ │ │ │ ├── sunmatrix_ginkgo.hpp
│ │ │ │ ├── sunmatrix_kokkosdense.hpp
│ │ │ │ ├── sunmatrix_magmadense.h
│ │ │ │ ├── sunmatrix_onemkldense.h
│ │ │ │ ├── sunmatrix_slunrloc.h
│ │ │ │ └── sunmatrix_sparse.h
│ │ │ ├── sunmemory/
│ │ │ │ ├── sunmemory_cuda.h
│ │ │ │ ├── sunmemory_hip.h
│ │ │ │ ├── sunmemory_sycl.h
│ │ │ │ └── sunmemory_system.h
│ │ │ └── sunnonlinsol/
│ │ │ ├── sunnonlinsol_fixedpoint.h
│ │ │ ├── sunnonlinsol_newton.h
│ │ │ └── sunnonlinsol_petscsnes.h
│ │ ├── scripts/
│ │ │ └── sundials_csv.py
│ │ ├── src/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── cvode/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── LICENSE
│ │ │ │ ├── NOTICE
│ │ │ │ ├── README.md
│ │ │ │ ├── cvode.c
│ │ │ │ ├── cvode_bandpre.c
│ │ │ │ ├── cvode_bandpre_impl.h
│ │ │ │ ├── cvode_bbdpre.c
│ │ │ │ ├── cvode_bbdpre_impl.h
│ │ │ │ ├── cvode_diag.c
│ │ │ │ ├── cvode_diag_impl.h
│ │ │ │ ├── cvode_direct.c
│ │ │ │ ├── cvode_fused_gpu.cpp
│ │ │ │ ├── cvode_fused_stubs.c
│ │ │ │ ├── cvode_impl.h
│ │ │ │ ├── cvode_io.c
│ │ │ │ ├── cvode_ls.c
│ │ │ │ ├── cvode_ls_impl.h
│ │ │ │ ├── cvode_nls.c
│ │ │ │ ├── cvode_proj.c
│ │ │ │ ├── cvode_proj_impl.h
│ │ │ │ ├── cvode_spils.c
│ │ │ │ └── fmod/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── fcvode_mod.c
│ │ │ │ └── fcvode_mod.f90
│ │ │ ├── nvector/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── cuda/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── VectorArrayKernels.cuh
│ │ │ │ │ ├── VectorKernels.cuh
│ │ │ │ │ └── nvector_cuda.cu
│ │ │ │ ├── hip/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── VectorArrayKernels.hip.hpp
│ │ │ │ │ ├── VectorKernels.hip.hpp
│ │ │ │ │ └── nvector_hip.hip.cpp
│ │ │ │ ├── manyvector/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fnvector_manyvector_mod.c
│ │ │ │ │ │ ├── fnvector_manyvector_mod.f90
│ │ │ │ │ │ ├── fnvector_mpimanyvector_mod.c
│ │ │ │ │ │ └── fnvector_mpimanyvector_mod.f90
│ │ │ │ │ └── nvector_manyvector.c
│ │ │ │ ├── mpiplusx/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fnvector_mpiplusx_mod.c
│ │ │ │ │ │ └── fnvector_mpiplusx_mod.f90
│ │ │ │ │ └── nvector_mpiplusx.c
│ │ │ │ ├── openmp/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fnvector_openmp_mod.c
│ │ │ │ │ │ └── fnvector_openmp_mod.f90
│ │ │ │ │ └── nvector_openmp.c
│ │ │ │ ├── openmpdev/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── nvector_openmpdev.c
│ │ │ │ ├── parallel/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fnvector_parallel_mod.c
│ │ │ │ │ │ └── fnvector_parallel_mod.f90
│ │ │ │ │ └── nvector_parallel.c
│ │ │ │ ├── parhyp/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── nvector_parhyp.c
│ │ │ │ ├── petsc/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── nvector_petsc.c
│ │ │ │ ├── pthreads/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fnvector_pthreads_mod.c
│ │ │ │ │ │ └── fnvector_pthreads_mod.f90
│ │ │ │ │ └── nvector_pthreads.c
│ │ │ │ ├── raja/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── nvector_raja.cpp
│ │ │ │ ├── serial/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fnvector_serial_mod.c
│ │ │ │ │ │ └── fnvector_serial_mod.f90
│ │ │ │ │ └── nvector_serial.c
│ │ │ │ ├── sycl/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── nvector_sycl.cpp
│ │ │ │ └── trilinos/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── nvector_trilinos.cpp
│ │ │ ├── sundials/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── fmod/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fsundials_context_mod.c
│ │ │ │ │ ├── fsundials_context_mod.f90
│ │ │ │ │ ├── fsundials_futils_mod.c
│ │ │ │ │ ├── fsundials_futils_mod.f90
│ │ │ │ │ ├── fsundials_linearsolver_mod.c
│ │ │ │ │ ├── fsundials_linearsolver_mod.f90
│ │ │ │ │ ├── fsundials_logger_mod.c
│ │ │ │ │ ├── fsundials_logger_mod.f90
│ │ │ │ │ ├── fsundials_matrix_mod.c
│ │ │ │ │ ├── fsundials_matrix_mod.f90
│ │ │ │ │ ├── fsundials_nonlinearsolver_mod.c
│ │ │ │ │ ├── fsundials_nonlinearsolver_mod.f90
│ │ │ │ │ ├── fsundials_nvector_mod.c
│ │ │ │ │ ├── fsundials_nvector_mod.f90
│ │ │ │ │ ├── fsundials_profiler_mod.c
│ │ │ │ │ ├── fsundials_profiler_mod.f90
│ │ │ │ │ ├── fsundials_types_mod.c
│ │ │ │ │ └── fsundials_types_mod.f90
│ │ │ │ ├── sundials_band.c
│ │ │ │ ├── sundials_context.c
│ │ │ │ ├── sundials_context_impl.h
│ │ │ │ ├── sundials_cuda.h
│ │ │ │ ├── sundials_cuda_kernels.cuh
│ │ │ │ ├── sundials_debug.h
│ │ │ │ ├── sundials_dense.c
│ │ │ │ ├── sundials_direct.c
│ │ │ │ ├── sundials_futils.c
│ │ │ │ ├── sundials_hashmap.h
│ │ │ │ ├── sundials_hip.h
│ │ │ │ ├── sundials_hip_kernels.hip.hpp
│ │ │ │ ├── sundials_iterative.c
│ │ │ │ ├── sundials_iterative_impl.h
│ │ │ │ ├── sundials_lapack_defs.h
│ │ │ │ ├── sundials_linearsolver.c
│ │ │ │ ├── sundials_logger.c
│ │ │ │ ├── sundials_logger_impl.h
│ │ │ │ ├── sundials_math.c
│ │ │ │ ├── sundials_matrix.c
│ │ │ │ ├── sundials_memory.c
│ │ │ │ ├── sundials_nonlinearsolver.c
│ │ │ │ ├── sundials_nvector.c
│ │ │ │ ├── sundials_nvector_senswrapper.c
│ │ │ │ ├── sundials_profiler.c
│ │ │ │ ├── sundials_reductions.hpp
│ │ │ │ ├── sundials_sycl.h
│ │ │ │ ├── sundials_utils.h
│ │ │ │ ├── sundials_version.c
│ │ │ │ └── sundials_xbraid.c
│ │ │ ├── sunlinsol/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── band/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fsunlinsol_band_mod.c
│ │ │ │ │ │ └── fsunlinsol_band_mod.f90
│ │ │ │ │ └── sunlinsol_band.c
│ │ │ │ ├── cusolversp/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── sunlinsol_cusolversp_batchqr.cu
│ │ │ │ ├── dense/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fsunlinsol_dense_mod.c
│ │ │ │ │ │ └── fsunlinsol_dense_mod.f90
│ │ │ │ │ └── sunlinsol_dense.c
│ │ │ │ ├── klu/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fsunlinsol_klu_mod.c
│ │ │ │ │ │ └── fsunlinsol_klu_mod.f90
│ │ │ │ │ └── sunlinsol_klu.c
│ │ │ │ ├── lapackband/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── sunlinsol_lapackband.c
│ │ │ │ ├── lapackdense/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── sunlinsol_lapackdense.c
│ │ │ │ ├── magmadense/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── sunlinsol_magmadense.cpp
│ │ │ │ ├── onemkldense/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── sunlinsol_onemkldense.cpp
│ │ │ │ ├── pcg/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fsunlinsol_pcg_mod.c
│ │ │ │ │ │ └── fsunlinsol_pcg_mod.f90
│ │ │ │ │ └── sunlinsol_pcg.c
│ │ │ │ ├── spbcgs/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fsunlinsol_spbcgs_mod.c
│ │ │ │ │ │ └── fsunlinsol_spbcgs_mod.f90
│ │ │ │ │ └── sunlinsol_spbcgs.c
│ │ │ │ ├── spfgmr/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fsunlinsol_spfgmr_mod.c
│ │ │ │ │ │ └── fsunlinsol_spfgmr_mod.f90
│ │ │ │ │ └── sunlinsol_spfgmr.c
│ │ │ │ ├── spgmr/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fsunlinsol_spgmr_mod.c
│ │ │ │ │ │ └── fsunlinsol_spgmr_mod.f90
│ │ │ │ │ └── sunlinsol_spgmr.c
│ │ │ │ ├── sptfqmr/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fsunlinsol_sptfqmr_mod.c
│ │ │ │ │ │ └── fsunlinsol_sptfqmr_mod.f90
│ │ │ │ │ └── sunlinsol_sptfqmr.c
│ │ │ │ ├── superludist/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── sunlinsol_superludist.c
│ │ │ │ └── superlumt/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── sunlinsol_superlumt.c
│ │ │ ├── sunmatrix/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── band/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fsunmatrix_band_mod.c
│ │ │ │ │ │ └── fsunmatrix_band_mod.f90
│ │ │ │ │ └── sunmatrix_band.c
│ │ │ │ ├── cusparse/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── cusparse_kernels.cuh
│ │ │ │ │ └── sunmatrix_cusparse.cu
│ │ │ │ ├── dense/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fmod/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── fsunmatrix_dense_mod.c
│ │ │ │ │ │ └── fsunmatrix_dense_mod.f90
│ │ │ │ │ └── sunmatrix_dense.c
│ │ │ │ ├── magmadense/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── dense_cuda_kernels.cuh
│ │ │ │ │ ├── dense_hip_kernels.hip.hpp
│ │ │ │ │ └── sunmatrix_magmadense.cpp
│ │ │ │ ├── onemkldense/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── sunmatrix_onemkldense.cpp
│ │ │ │ ├── slunrloc/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── sunmatrix_slunrloc.c
│ │ │ │ └── sparse/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── fmod/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fsunmatrix_sparse_mod.c
│ │ │ │ │ └── fsunmatrix_sparse_mod.f90
│ │ │ │ └── sunmatrix_sparse.c
│ │ │ ├── sunmemory/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── cuda/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── sundials_cuda_memory.cu
│ │ │ │ ├── hip/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── sundials_hip_memory.hip.cpp
│ │ │ │ ├── sycl/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── sundials_sycl_memory.cpp
│ │ │ │ └── system/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── sundials_system_memory.c
│ │ │ └── sunnonlinsol/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── fixedpoint/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── fmod/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fsunnonlinsol_fixedpoint_mod.c
│ │ │ │ │ └── fsunnonlinsol_fixedpoint_mod.f90
│ │ │ │ └── sunnonlinsol_fixedpoint.c
│ │ │ ├── newton/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── fmod/
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── fsunnonlinsol_newton_mod.c
│ │ │ │ │ └── fsunnonlinsol_newton_mod.f90
│ │ │ │ └── sunnonlinsol_newton.c
│ │ │ └── petscsnes/
│ │ │ ├── CMakeLists.txt
│ │ │ └── sunnonlinsol_petscsnes.c
│ │ └── test/
│ │ ├── testRunner
│ │ └── unit_tests/
│ │ ├── CMakeLists.txt
│ │ ├── cvode/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CXX_serial/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── cv_test_getjac.cpp
│ │ │ │ ├── cv_test_getjac.out
│ │ │ │ ├── cv_test_kpr.cpp
│ │ │ │ ├── cv_test_kpr.hpp
│ │ │ │ ├── cv_test_kpr.out
│ │ │ │ ├── cv_test_kpr_--dgmax_jbad_1.0.out
│ │ │ │ ├── cv_test_kpr_--dgmax_lsetup_0.0.out
│ │ │ │ ├── cv_test_kpr_--eta_cf_0.5.out
│ │ │ │ ├── cv_test_kpr_--eta_max_ef_0.1_--small_nef_1.out
│ │ │ │ ├── cv_test_kpr_--eta_max_fs_2.out
│ │ │ │ ├── cv_test_kpr_--eta_min_ef_0.5.out
│ │ │ │ ├── cv_test_kpr_--eta_min_es_2_--small_nst_5.out
│ │ │ │ ├── cv_test_kpr_--eta_min_fx_1.0_--eta_max_fx_2.0.out
│ │ │ │ ├── cv_test_kpr_--eta_min_fx_1.0_--eta_min_0.5.out
│ │ │ │ └── cv_test_kpr_--eta_min_gs_2.out
│ │ │ └── C_serial/
│ │ │ ├── CMakeLists.txt
│ │ │ └── cv_test_getuserdata.c
│ │ ├── reductions/
│ │ │ ├── CMakeLists.txt
│ │ │ └── test_reduction_operators.cpp
│ │ └── sunmemory/
│ │ ├── CMakeLists.txt
│ │ ├── cuda/
│ │ │ ├── CMakeLists.txt
│ │ │ └── test_sunmemory_cuda.cu
│ │ ├── hip/
│ │ │ ├── CMakeLists.txt
│ │ │ └── test_sunmemory_hip.cpp
│ │ ├── sycl/
│ │ │ ├── CMakeLists.txt
│ │ │ └── test_sunmemory_sycl.cpp
│ │ └── sys/
│ │ ├── CMakeLists.txt
│ │ └── test_sunmemory_sys.cpp
│ ├── gslib/
│ │ ├── .travis.yml
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── src/
│ │ │ ├── c99.h
│ │ │ ├── comm.c
│ │ │ ├── comm.h
│ │ │ ├── crystal.c
│ │ │ ├── crystal.h
│ │ │ ├── fail.c
│ │ │ ├── fail.h
│ │ │ ├── fcrystal.c
│ │ │ ├── findpts.c
│ │ │ ├── findpts.h
│ │ │ ├── findpts_el.h
│ │ │ ├── findpts_el_2.c
│ │ │ ├── findpts_el_3.c
│ │ │ ├── findpts_imp.h
│ │ │ ├── findpts_local.c
│ │ │ ├── findpts_local.h
│ │ │ ├── findpts_local_imp.h
│ │ │ ├── gen_poly_imp.c
│ │ │ ├── gs.c
│ │ │ ├── gs.h
│ │ │ ├── gs_defs.h
│ │ │ ├── gs_local.c
│ │ │ ├── gs_local.h
│ │ │ ├── gslib.h
│ │ │ ├── lob_bnd.c
│ │ │ ├── lob_bnd.h
│ │ │ ├── mem.h
│ │ │ ├── name.h
│ │ │ ├── obbox.c
│ │ │ ├── obbox.h
│ │ │ ├── poly.c
│ │ │ ├── poly.h
│ │ │ ├── poly_imp.h
│ │ │ ├── sarray_sort.c
│ │ │ ├── sarray_sort.h
│ │ │ ├── sarray_transfer.c
│ │ │ ├── sarray_transfer.h
│ │ │ ├── sort.c
│ │ │ ├── sort.h
│ │ │ ├── sort_imp.h
│ │ │ ├── tensor.c
│ │ │ ├── tensor.h
│ │ │ └── types.h
│ │ └── tests/
│ │ ├── comm_test.c
│ │ ├── crystal_test.c
│ │ ├── findpts_el_2_test.c
│ │ ├── findpts_el_2_test2.c
│ │ ├── findpts_el_3_test.c
│ │ ├── findpts_el_3_test2.c
│ │ ├── findpts_local_test.c
│ │ ├── findpts_test.c
│ │ ├── findpts_test_ms.c
│ │ ├── fortran/
│ │ │ └── f-igs.f
│ │ ├── gs_test.c
│ │ ├── gs_test_gop_blocking.c
│ │ ├── gs_test_gop_nonblocking.c
│ │ ├── gs_unique_test.c
│ │ ├── lob_bnd_test.c
│ │ ├── obbox_test.c
│ │ ├── poly_test.c
│ │ ├── rand_elt_test.h
│ │ ├── run_tests.sh
│ │ ├── sarray_sort_test.c
│ │ ├── sarray_transfer_test.c
│ │ ├── sort_test.c
│ │ └── sort_test2.c
│ ├── lapack/
│ │ ├── .appveyor.yml
│ │ ├── .github/
│ │ │ ├── ISSUE_TEMPLATE/
│ │ │ │ ├── bug_report.md
│ │ │ │ ├── feature_request.md
│ │ │ │ └── help_wanted.md
│ │ │ ├── PULL_REQUEST_TEMPLATE.md
│ │ │ ├── SECURITY.md
│ │ │ └── workflows/
│ │ │ ├── cmake.yml
│ │ │ ├── makefile.yml
│ │ │ └── scorecard.yml
│ │ ├── .gitignore
│ │ ├── .travis.yml
│ │ ├── BLAS/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Makefile
│ │ │ ├── SRC/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── Makefile
│ │ │ │ ├── caxpy.f
│ │ │ │ ├── ccopy.f
│ │ │ │ ├── cdotc.f
│ │ │ │ ├── cdotu.f
│ │ │ │ ├── cgbmv.f
│ │ │ │ ├── cgemm.f
│ │ │ │ ├── cgemv.f
│ │ │ │ ├── cgerc.f
│ │ │ │ ├── cgeru.f
│ │ │ │ ├── chbmv.f
│ │ │ │ ├── chemm.f
│ │ │ │ ├── chemv.f
│ │ │ │ ├── cher.f
│ │ │ │ ├── cher2.f
│ │ │ │ ├── cher2k.f
│ │ │ │ ├── cherk.f
│ │ │ │ ├── chpmv.f
│ │ │ │ ├── chpr.f
│ │ │ │ ├── chpr2.f
│ │ │ │ ├── crotg.f90
│ │ │ │ ├── cscal.f
│ │ │ │ ├── csrot.f
│ │ │ │ ├── csscal.f
│ │ │ │ ├── cswap.f
│ │ │ │ ├── csymm.f
│ │ │ │ ├── csyr2k.f
│ │ │ │ ├── csyrk.f
│ │ │ │ ├── ctbmv.f
│ │ │ │ ├── ctbsv.f
│ │ │ │ ├── ctpmv.f
│ │ │ │ ├── ctpsv.f
│ │ │ │ ├── ctrmm.f
│ │ │ │ ├── ctrmv.f
│ │ │ │ ├── ctrsm.f
│ │ │ │ ├── ctrsv.f
│ │ │ │ ├── dasum.f
│ │ │ │ ├── daxpy.f
│ │ │ │ ├── dcabs1.f
│ │ │ │ ├── dcopy.f
│ │ │ │ ├── ddot.f
│ │ │ │ ├── dgbmv.f
│ │ │ │ ├── dgemm.f
│ │ │ │ ├── dgemv.f
│ │ │ │ ├── dger.f
│ │ │ │ ├── dnrm2.f90
│ │ │ │ ├── drot.f
│ │ │ │ ├── drotg.f90
│ │ │ │ ├── drotm.f
│ │ │ │ ├── drotmg.f
│ │ │ │ ├── dsb
================================================
FILE CONTENTS
================================================
================================================
FILE: .clang-format
================================================
---
Language: Cpp
# BasedOnStyle: LLVM
InsertBraces: true
SeparateDefinitionBlocks: Always
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignArrayOfStructures: None
AlignConsecutiveMacros: None
AlignConsecutiveAssignments: None
AlignConsecutiveBitFields: None
AlignConsecutiveDeclarations: None
AlignEscapedNewlines: Right
AlignOperands: Align
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortEnumsOnASingleLine: true
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Empty
AllowShortLambdasOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: MultiLine
AttributeMacros:
- __capability
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: Never
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: None
BreakBeforeConceptDeclarations: true
BreakBeforeBraces: Linux
#BreakBeforeBraces: Stroustrup
BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeColon
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 110
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DeriveLineEnding: true
DerivePointerAlignment: false
DisableFormat: false
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IfMacros:
- KJ_IF_MAYBE
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
SortPriority: 0
CaseSensitive: false
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
SortPriority: 0
CaseSensitive: false
- Regex: '.*'
Priority: 1
SortPriority: 0
CaseSensitive: false
IncludeIsMainRegex: '(Test)?$'
IncludeIsMainSourceRegex: ''
IndentAccessModifiers: false
IndentCaseLabels: false
IndentCaseBlocks: false
IndentGotoLabels: true
IndentPPDirectives: None
IndentExternBlock: AfterExternBlock
IndentRequires: false
IndentWidth: 2
IndentWrappedFunctionNames: false
InsertTrailingCommas: None
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
LambdaBodyIndentation: Signature
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCBreakBeforeNestedBlockParam: true
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PenaltyIndentedWhitespace: 0
PointerAlignment: Right
PPIndentWidth: 0
ReferenceAlignment: Pointer
ReflowComments: true
ShortNamespaceLines: 1
SortIncludes: false
SortJavaStaticImport: Before
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceAroundPointerQualifiers: Default
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: Never
SpacesInConditionalStatement: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpaceBeforeSquareBrackets: false
BitFieldColonSpacing: Both
Standard: Latest
StatementAttributeLikeMacros:
- Q_EMIT
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 2
UseCRLF: false
UseTab: Never
WhitespaceSensitiveMacros:
- STRINGIZE
- PP_STRINGIZE
- BOOST_PP_STRINGIZE
- NS_SWIFT_NAME
- CF_SWIFT_NAME
...
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Additional context**
Add any other context or screenshots about the feature request here.
================================================
FILE: .github/workflows/ci.yml
================================================
name: CI
on:
# allows us to run workflows manually
workflow_dispatch:
push:
branches:
- master
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
NEKRS_HOME: "${{ github.workspace }}/.local/nekrs"
MPICH_FC: "gfortran"
NEKRS_EXAMPLES: "${{ github.workspace }}/.local/nekrs/examples"
NEKRS_COMPILER_FLAGS: "-O2"
NRSCONFIG_NOBUILD: "1"
RUNNER_ARCH: "X64"
defaults:
run:
shell: bash
jobs:
install:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
clean: true
- name: APT dependencies
run: |
sudo apt -y update
sudo apt install -y mpich libmpich-dev
- name: config and build
run: |
CC=mpicc CXX=mpic++ FC=mpif77 ./build.sh -DENABLE_CVODE=OFF -DNEKRS_CXX_FLAGS=${{ env.NEKRS_COMPILER_FLAGS }} -DNEKRS_C_FLAGS=${{ env.NEKRS_COMPILER_FLAGS }} -DNEKRS_Fortran_FLAGS=${{ env.NEKRS_COMPILER_FLAGS }} -DCMAKE_INSTALL_PREFIX=${{ env.NEKRS_HOME }} -DOCCA_CXXFLAGS=${{ env.NEKRS_COMPILER_FLAGS }}
cmake --build build --target install -j 4
- name: config tests
working-directory: ${{ env.NEKRS_EXAMPLES }}
run: cmake -S . -B build
- name: Upload install dir
uses: actions/upload-artifact@v4
with:
name: install-dir
retention-days: 2
path: ${{ env.NEKRS_HOME }}
if-no-files-found: error
# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
# timeout-minutes: 3
# if: ${{ github.event_name == 'workflow_dispatch' }}
ethier:
needs: install
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
clean: true
- name: APT dependencies
run: |
sudo apt -y update
sudo apt install -y mpich libmpich-dev
- name: Download install dir
uses: actions/download-artifact@v4
with:
name: install-dir
path: ${{ env.NEKRS_HOME }}
- name: Set install dir permissions
run: chmod -R 755 ${{ env.NEKRS_HOME }}
- name: 'ethier build-only'
working-directory: ${{ env.NEKRS_EXAMPLES }}/build
run: ctest --output-on-failure -R ethier-buildOnly
- name: 'ethier'
working-directory: ${{ env.NEKRS_EXAMPLES }}/build
run: ctest --output-on-failure -R "ethier_"
- name: 'ethierRefine'
working-directory: ${{ env.NEKRS_EXAMPLES }}/build
run: ctest --output-on-failure -R "ethierRefine_"
lowMach:
needs: install
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
clean: true
- name: APT dependencies
run: |
sudo apt -y update
sudo apt install -y mpich libmpich-dev
- name: Download install dir
uses: actions/download-artifact@v4
with:
name: install-dir
path: ${{ env.NEKRS_HOME }}
- name: Set install dir permissions
run: chmod -R 755 ${{ env.NEKRS_HOME }}
- name: 'lowMach'
working-directory: ${{ env.NEKRS_EXAMPLES }}/build
run: ctest --output-on-failure -R lowMach
mv_cyl:
needs: install
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
clean: true
- name: APT dependencies
run: |
sudo apt -y update
sudo apt install -y mpich libmpich-dev
- name: Download install dir
uses: actions/download-artifact@v4
with:
name: install-dir
path: ${{ env.NEKRS_HOME }}
- name: Set install dir permissions
run: chmod -R 755 ${{ env.NEKRS_HOME }}
- name: 'mv_cyl'
working-directory: ${{ env.NEKRS_EXAMPLES }}/build
run: ctest --output-on-failure -R "^mv_cyl$"
- name: 'mv_cyl_derived_bc'
working-directory: ${{ env.NEKRS_EXAMPLES }}/build
run: ctest --output-on-failure -R mv_cyl_derived_bc
conj_ht:
needs: install
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
clean: true
- name: APT dependencies
run: |
sudo apt -y update
sudo apt install -y mpich libmpich-dev
- name: Download install dir
uses: actions/download-artifact@v4
with:
name: install-dir
path: ${{ env.NEKRS_HOME }}
- name: Set install dir permissions
run: chmod -R 755 ${{ env.NEKRS_HOME }}
- name: 'conj_ht'
working-directory: ${{ env.NEKRS_EXAMPLES }}/build
run: ctest --output-on-failure -R conj_ht
channel:
needs: install
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
clean: true
- name: APT dependencies
run: |
sudo apt -y update
sudo apt install -y mpich libmpich-dev
- name: Download install dir
uses: actions/download-artifact@v4
with:
name: install-dir
path: ${{ env.NEKRS_HOME }}
- name: Set install dir permissions
run: chmod -R 755 ${{ env.NEKRS_HOME }}
- name: 'channel'
working-directory: ${{ env.NEKRS_EXAMPLES }}/build
run: ctest --output-on-failure -R channel
shlChannel:
needs: install
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
clean: true
- name: APT dependencies
run: |
sudo apt -y update
sudo apt install -y mpich libmpich-dev
- name: Download install dir
uses: actions/download-artifact@v4
with:
name: install-dir
path: ${{ env.NEKRS_HOME }}
- name: Set install dir permissions
run: chmod -R 755 ${{ env.NEKRS_HOME }}
- name: 'shlChannel'
working-directory: ${{ env.NEKRS_EXAMPLES }}/build
run: ctest --output-on-failure -R shlChannel
eddyNekNek:
needs: install
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
clean: true
- name: APT dependencies
run: |
sudo apt -y update
sudo apt install -y mpich libmpich-dev
- name: Download install dir
uses: actions/download-artifact@v4
with:
name: install-dir
path: ${{ env.NEKRS_HOME }}
- name: Set install dir permissions
run: chmod -R 755 ${{ env.NEKRS_HOME }}
- name: 'eddyNekNek'
working-directory: ${{ env.NEKRS_EXAMPLES }}/build
run: ctest -R "^eddyNekNek$" || (cat ${{ env.NEKRS_EXAMPLES }}/eddyNekNek/inside/logfile; exit 1)
- name: 'eddyNekNekNek'
working-directory: ${{ env.NEKRS_EXAMPLES }}/build
run: ctest -R eddyNekNekNek || (cat ${{ env.NEKRS_EXAMPLES }}/eddyNekNek/middle/logfile; exit 1)
ktauChannel:
needs: install
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
clean: true
- name: APT dependencies
run: |
sudo apt -y update
sudo apt install -y mpich libmpich-dev
- name: Download install dir
uses: actions/download-artifact@v4
with:
name: install-dir
path: ${{ env.NEKRS_HOME }}
- name: Set install dir permissions
run: chmod -R 755 ${{ env.NEKRS_HOME }}
- name: 'ktauChannel'
working-directory: ${{ env.NEKRS_EXAMPLES }}/build
run: ctest -R ktauChannel
periodicHill:
needs: install
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
clean: true
- name: APT dependencies
run: |
sudo apt -y update
sudo apt install -y mpich libmpich-dev
- name: Download install dir
uses: actions/download-artifact@v4
with:
name: install-dir
path: ${{ env.NEKRS_HOME }}
- name: Set install dir permissions
run: chmod -R 755 ${{ env.NEKRS_HOME }}
- name: 'periodicHill'
working-directory: ${{ env.NEKRS_EXAMPLES }}/build
run: ctest -R periodicHill
================================================
FILE: .gitignore
================================================
build/
*.tgz
.vscode/
*.swp
*.swp
*.log
*.nek5000
*.f?????
*.bp
*.vtu
logfile
*.dat
.cache/
================================================
FILE: 3rd_party/.gitignore
================================================
plugins/*
================================================
FILE: 3rd_party/adios/.circleci/config.yml
================================================
defaults: &defaults
steps:
- checkout:
path: source
- run:
# https://discuss.circleci.com/t/circle-working-directory-doesnt-expand/17007
name: "Fix CIRCLE_WORKING_DIRECTORY"
command: echo 'CIRCLE_WORKING_DIRECTORY="${CIRCLE_WORKING_DIRECTORY/#\~/$HOME}"' >> $BASH_ENV
- run:
name: CDash
command: bash source/scripts/ci/circle/postCDashStatus.sh
- run:
name: Update
command: bash source/scripts/ci/circle/run.sh update
- run:
name: Configure
command: bash source/scripts/ci/circle/run.sh configure
- run:
name: Build
command: bash source/scripts/ci/circle/run.sh build
- run:
name: Sanitize
command: bash source/scripts/ci/circle/run.sh memcheck
version: 2
jobs:
"fedora-ubsan":
<<: *defaults
docker:
- image: ornladios/adios2:ci-fedora-ubsan
"fedora-asan":
<<: *defaults
docker:
- image: ornladios/adios2:ci-fedora-asan
"fedora-msan":
<<: *defaults
docker:
- image: ornladios/adios2:ci-fedora-msan
"fedora-tsan":
<<: *defaults
docker:
- image: ornladios/adios2:ci-fedora-tsan
workflows:
version: 2
sanitizers:
jobs:
- "fedora-ubsan"
- "fedora-asan"
- "fedora-msan"
- "fedora-tsan"
================================================
FILE: 3rd_party/adios/.clang-format
================================================
Language: Cpp
BasedOnStyle: LLVM
BreakBeforeBraces: Custom
ConstructorInitializerIndentWidth: 0
IndentWidth: 4
ContinuationIndentWidth: 4
AccessModifierOffset: -4
AlwaysBreakTemplateDeclarations: true
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
FixNamespaceComments: false
Standard: Cpp11
ColumnLimit: 100
AllowAllParametersOfDeclarationOnNextLine: true
AlignEscapedNewlines: Right
AlignAfterOpenBracket: Align
SortUsingDeclarations: false
BraceWrapping:
AfterClass: true
AfterControlStatement: true
AfterEnum: true
AfterExternBlock: false
AfterFunction: true
AfterNamespace: true
AfterStruct: true
AfterUnion: true
BeforeCatch: true
BeforeElse: true
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: false
================================================
FILE: 3rd_party/adios/.clang-tidy
================================================
Checks: -*,cppcoreguidelines-*,google-*,llvm-*,misc-*,modernize-*,performance-*,-cppcoreguidelines-pro-type-vararg,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-cppcoreguidelines-pro-type-reinterpret-cast,-google-runtime-int
CheckOptions:
- key: google-runtime-int.TypeSuffix
value: _t
================================================
FILE: 3rd_party/adios/.e4s/e4s.yaml
================================================
- e4s_product: adios2
version: 0.1.0
website: https://github.com/ornladios/adios2
docs: [ReadMe.md, LICENSE]
spack_name: adios2
area: Data & Viz
Description: "ADIOS2 is the latest implementation of the Adaptable Input Output System, a modular high performance framework for HPC I/O."
MemberProduct: False
================================================
FILE: 3rd_party/adios/.gitattributes
================================================
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.cxx text
*.h text
*.hxx text
*.tcc text
*.cu text
*.c text
*.h text
*.py text
*.f90 text
*.F90 text
*.sh text
*.cmake whitespace=tab-in-indent
*.md whitespace=tab-in-indent whitespace=-blank-at-eol conflict-marker-size=79
*.rst whitespace=tab-in-indent conflict-marker-size=79
*.txt whitespace=tab-in-indent
*.xml whitespace=tab-in-indent
================================================
FILE: 3rd_party/adios/.github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
We ask the community to always report bugs. Please open a new issue if some other comes up in the conversation. It will help us stay on topic and manage tasks more efficiently.
**Describe the bug**
A clear and concise description of what the bug is.
Example: Reader failing to extract compressed values with SZ
**To Reproduce**
A minimal reproducible example is preferred.
Or Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Desktop (please complete the following information):**
- OS/Platform: [e.g. Ubuntu 18.04, Cori, Summit]
- Build [e.g. compiler version gcc 7.4.0, cmake version, build type: static ]
**Additional context**
Add any other context about the problem here.
**Following up**
Was the issue fixed? Please report back.
================================================
FILE: 3rd_party/adios/.github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Propose a new feature
title: ''
labels: ''
assignees: ''
---
Remember to motivate and summarize considering the community. Provide enough information to motivate such as:
**Why is this feature important?**
**What is the potential impact of this feature in the community?**
**Is your feature request related to a problem? Please describe.**
**Describe the solution you'd like and potential required effort**
**Describe alternatives you've considered and potential required effort**
**Additional context**
Add any other context or screenshots about the feature request here.
Note: contents adapted from the [VTK contribution guidelines](https://github.com/Kitware/VTK/blob/master/Documentation/dev/git/develop.md#create-a-merge-request)
================================================
FILE: 3rd_party/adios/.github/ISSUE_TEMPLATE/new_release.md
================================================
<!--
Replace the following vars with its corresponding values:
- @VERSION@ (example 2.9.0)
- @MAJOR@ (example 2)
- @MINOR@ (example 9)
- @OLD_RELEASE@ (example 2.8.3)
-->
Instructions for performing an ADIOS2 release:
- [ ] Make sure that the milestone for @VERSION@ has no pending issues/PRs.
- [ ] Update your remotes
``
git fetch origin
git fetch github #if needed
``
- [ ] Create a branch that updates the version
<!-- If the release_@MAJOR@@MINOR@ already exists -->
```
git checkout -b bump-release-version origin/release_@MAJOR@@MINOR@
```
<!-- else -->
```
git checkout -b bump-release-version origin/master
```
<!-- endif -->
- [ ] Add Commit that updates the version in the repo
```
git grep --name-only @OLD_RELEASE@ | xargs -n1 sed -i 's/@OLD_RELEASE@/@VERSION@/g'
git commit -am 'Bump version to v@VERSION@'
git push
```
- [ ] Create PR (BASE to master if release_@MAJOR@@MINOR@ does not exists; otherwise release_@MAJOR@@MINOR@)
- [ ] Ask for review
- [ ] Merge PR
- [ ] Create Tag commit `git tag -a -m 'v@VERSION' v@VERSION@ the_merge_commit`
- [ ] Create Release in GitHub page
- Use the following script for getting the PR of this release
- `./scripts/developer/create-changelog.sh v@VERSION@ v@OLD_RELEASE@`
- Copy its content to the release description
<!-- If the release_@MAJOR@@MINOR@ does not exists -->
- [ ] Create the release_@MAJOR@@MINOR@ branch
```
git fetch origin
git checkout -b release_@MAJOR@@MINOR@ origin/master
# Use the following command with care
git push origin release_@MAJOR@@MINOR@:release_@MAJOR@@MINOR@
```
<!-- else -->
- [ ] Remove older patch releases for @MAJOR@.@MINOR@.X in ReadTheDocs.
- [ ] Create merge -sours commit in master:
```
git fetch origin
git checkout master
git reset --hard origin/master
# We do not want the changes master from the release branch
git -s ours release_@MAJOR@@MINOR@
# Be very careful here
git push origin master
```
<!-- endif -->
- [ ] Submit a PR in Spack that adds this new version of ADIOS (if not RC mark this new version as preferred)
- Run `spack checksum -a adios2` to add it, create commit; push it; Create
PR in Spack repo.
- [ ] Submit a PR in Conda that adds this new version of ADIOS (if not RC mark this new version as preferred)
- CondaForge robot should do this for you automatically, expect a new PR at
https://github.com/conda-forge/adios2-feedstock a couple of hours after the
release.
- [ ] Submit a MR for ParaView Superbuild to use v@VERSION@ release.
- [ ] Update the website to point to the v@VERSION@ release
- [ ] Write an announcement in the ADIOS-ECP mail-list
(https://groups.google.com/a/kitware.com/g/adios-ecp)
================================================
FILE: 3rd_party/adios/.github/actions/save-context-artifacts/action.yml
================================================
name: Upload Contexts
description: Dump GitHub Action CI contexts and upload as artifacts
runs:
using: composite
steps:
- name: Dump github context
shell: bash
run: echo '${{ toJSON(github) }}' > context-github.json
- name: Dump env context
shell: bash
run: echo '${{ toJSON(env) }}' > context-env.json
- name: Dump job context
shell: bash
run: echo '${{ toJSON(job) }}' > context-job.json
- name: Dump steps context
shell: bash
run: echo '${{ toJSON(steps) }}' > context-steps.json
- name: Dump runner context
shell: bash
run: echo '${{ toJSON(runner) }}' > context-runner.json
- name: Dump strategy context
shell: bash
run: echo '${{ toJSON(strategy) }}' > context-strategy.json
- name: Dump matrix context
shell: bash
run: echo '${{ toJSON(matrix) }}' > context-matrix.json
- name: Upload contexts as artifacts
uses: actions/upload-artifact@v3
with:
name: contexts
path: |
${{ github.event_path }}
context-github.json
context-env.json
context-job.json
context-steps.json
context-runner.json
context-secrets.json
context-strategy.json
context-matrix.json
context-inputs.json
================================================
FILE: 3rd_party/adios/.github/workflows/everything.yml
================================================
#######################################
# Ideally this would be done in seperate workflows but placing them all
# in one is currently necessary to enforce job dependencies
#######################################
#######################################
# Note the use of multiple checkout actions in most jobs. This has been
# implemented to allow the use of CI scripts at a different ref or sha than
# the source code they're evaluating. For push events (when a pull_request is
# merged) there is no difference. However, for pull_request events this allows
# us test code at the head of a pull_request using the CI scripts from the
# prospectively merged pull_request, which will include any CI updates that
# may have made it to the target branch after the pull_request was started.
#######################################
#######################################
# Note regarding restore/save of cache for use by ccache:
#
# We only save cache on main branch runs. PR workflows only consume the
# cache to avoid exceeding the 10 GB limit, which can cause cache thrashing.
# Also, we only save the cache if there was *not* an exact match when cache
# was restored. This avoids attempting to write to an existing cache key,
# which results in failure to save the cache. While failure to save doesn't
# cause job failures, it seems a waste and is easily avoidable.
#######################################
name: GitHub Actions
on:
push:
branches:
- master
- release*
pull_request:
branches:
- master
- release*
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
#######################################
# Git checks
#######################################
git_checks:
runs-on: ubuntu-latest
outputs:
num_code_changes: ${{ steps.get_code_changes.outputs.num_code_changes }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check for appropriately named topic branch
run: |
scripts/ci/gh-actions/check-branch-name.sh
- name: Check for code changes
id: get_code_changes
run: |
scripts/ci/gh-actions/get-changed-files.sh
echo "::group::Test script output files"
ls -la *-changed-files.txt
NUM_CHANGES=$(wc -l < filtered-changed-files.txt)
echo "Number of files changed (filtered): ${NUM_CHANGES}"
echo "::set-output name=num_code_changes::${NUM_CHANGES}"
#######################################
# Formatting jobs
#######################################
format:
needs: git_checks
if: needs.git_checks.outputs.num_code_changes > 0
runs-on: ubuntu-latest
container:
image: ghcr.io/ornladios/adios2:ci-formatting
steps:
- uses: actions/checkout@v4
with:
path: gha
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
path: source
- name: CXX
working-directory: source
run: ../gha/scripts/ci/scripts/run-clang-format.sh
- name: Python flake8
working-directory: source
run: ../gha/scripts/ci/scripts/run-flake8.sh
- name: Python pylint
working-directory: source
run: ../gha/scripts/ci/scripts/run-pylint.sh
- name: Python black
working-directory: source
run: ../gha/scripts/ci/scripts/run-black.sh
- name: Shell
working-directory: source
run: ../gha/scripts/ci/scripts/run-shellcheck.sh
#######################################
# Build and test jobs
#######################################
linux_ubuntu:
needs: [format, git_checks]
if: needs.git_checks.outputs.num_code_changes > 0
runs-on: ubuntu-20.04
container:
image: ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-${{ matrix.compiler }}
options: --shm-size=1g
env:
GH_YML_JOBNAME: ${{ matrix.os }}-${{ matrix.compiler }}${{ matrix.shared == 'static' && '-static' || ''}}-${{ matrix.parallel }}
GH_YML_BASE_OS: Linux
GH_YML_MATRIX_OS: ${{ matrix.os }}
GH_YML_MATRIX_COMPILER: ${{ matrix.compiler }}
GH_YML_MATRIX_PARALLEL: ${{ matrix.parallel }}
CCACHE_BASEDIR: "${GITHUB_WORKSPACE}"
CCACHE_DIR: "${GITHUB_WORKSPACE}/.ccache"
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 6
strategy:
fail-fast: false
matrix:
os: [ubuntu20.04]
compiler: [gcc8, gcc9, gcc10, gcc11, clang6, clang10]
shared: [shared]
parallel: [mpich]
include:
- os: ubuntu20.04
compiler: gcc8
parallel: ompi
- os: ubuntu20.04
compiler: gcc8
parallel: serial
- os: ubuntu20.04
compiler: clang6
parallel: ompi
- os: ubuntu20.04
compiler: clang6
parallel: serial
- os: ubuntu20.04
compiler: gcc8
shared: static
parallel: ompi
constrains: build_only
- os: ubuntu20.04
compiler: clang6
shared: static
parallel: ompi
constrains: build_only
- os: ubuntu20.04
compiler: gcc8
shared: static
parallel: serial
steps:
- uses: actions/checkout@v4
with:
path: gha
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
path: source
- name: Restore cache
uses: actions/cache/restore@v3
id: restore-cache
with:
path: .ccache
key: ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }}-${{ github.sha }}
restore-keys: |
ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }}
- name: Configure cache
run: ccache -z
- name: Setup
run: gha/scripts/ci/gh-actions/linux-setup.sh
- name: Update
run: gha/scripts/ci/gh-actions/run.sh update
- name: Configure
run: gha/scripts/ci/gh-actions/run.sh configure
- name: Build
run: gha/scripts/ci/gh-actions/run.sh build
- name: Print ccache statistics
run: ccache -s | tee $GITHUB_STEP_SUMMARY
- name: Save cache
uses: actions/cache/save@v3
if: ${{ github.ref_name == 'master' && steps.restore-cache.outputs.cache-hit != 'true' }}
id: save-cache
with:
path: .ccache
key: ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }}-${{ github.sha }}
- name: Test
if: ${{ matrix.constrains != 'build_only' }}
run: gha/scripts/ci/gh-actions/run.sh test
linux_el8:
needs: [format, git_checks]
if: needs.git_checks.outputs.num_code_changes > 0
runs-on: ubuntu-latest
container:
image: ghcr.io/ornladios/adios2:ci-el8-${{ matrix.compiler }}
options: --shm-size=1g
env:
GH_YML_JOBNAME: ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }}
GH_YML_BASE_OS: Linux
GH_YML_MATRIX_OS: ${{ matrix.os }}
GH_YML_MATRIX_COMPILER: ${{ matrix.compiler }}
GH_YML_MATRIX_PARALLEL: ${{ matrix.parallel }}
CCACHE_BASEDIR: "${GITHUB_WORKSPACE}"
CCACHE_DIR: "${GITHUB_WORKSPACE}/.ccache"
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 6
strategy:
fail-fast: false
matrix:
os: [el8]
compiler: [icc, oneapi]
parallel: [mpich]
steps:
- uses: actions/checkout@v4
with:
path: gha
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
path: source
- name: Restore cache
uses: actions/cache/restore@v3
id: restore-cache
with:
path: .ccache
key: ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }}-${{ github.sha }}
restore-keys: |
ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }}
- name: Configure cache
run: ccache -z
- name: Setup
run: gha/scripts/ci/gh-actions/linux-setup.sh
- name: Update
run: gha/scripts/ci/gh-actions/run.sh update
- name: Configure
run: gha/scripts/ci/gh-actions/run.sh configure
- name: Build
run: gha/scripts/ci/gh-actions/run.sh build
- name: Print ccache statistics
run: ccache -s
- name: Save cache
uses: actions/cache/save@v3
if: ${{ github.ref_name == 'master' && steps.restore-cache.outputs.cache-hit != 'true' }}
id: save-cache
with:
path: .ccache
key: ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }}-${{ github.sha }}
- name: Test
run: gha/scripts/ci/gh-actions/run.sh test
macos:
needs: [format, git_checks]
if: needs.git_checks.outputs.num_code_changes > 0
runs-on: ${{ matrix.image }}
env:
GH_YML_JOBNAME: ${{ matrix.image }}-${{ matrix.compiler }}-${{ matrix.shared }}-${{ matrix.parallel }}
GH_YML_BASE_OS: macOS
GH_YML_MATRIX_OS: ${{ matrix.image }}
GH_YML_MATRIX_COMPILER: ${{ matrix.compiler }}
GH_YML_MATRIX_PARALLEL: ${{ matrix.parallel }}
CCACHE_BASEDIR: "${GITHUB_WORKSPACE}"
CCACHE_DIR: "${GITHUB_WORKSPACE}/.ccache"
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 6
strategy:
fail-fast: false
matrix:
image: [macos-11, macos-12]
shared: [static, shared]
include:
- parallel: serial
- image: macos-11
compiler: xcode13_0
- image: macos-12
compiler: xcode13_4_1
exclude:
- image: macos-11
shared: static
steps:
- uses: actions/checkout@v4
with:
path: gha
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
path: source
- name: Setup
run: gha/scripts/ci/gh-actions/macos-setup.sh
- name: Restore cache
uses: actions/cache/restore@v3
id: restore-cache
with:
path: .ccache
key: ccache-${{ matrix.image}}-${{ matrix.compiler }}-${{ matrix.parallel }}-${{ github.sha }}
restore-keys: |
ccache-${{ matrix.image }}-${{ matrix.compiler }}-${{ matrix.parallel }}
- name: Configure cache
run: ccache -z
- name: Update
run: gha/scripts/ci/gh-actions/run.sh update
- name: Configure
run: gha/scripts/ci/gh-actions/run.sh configure
- name: Build
run: gha/scripts/ci/gh-actions/run.sh build
- name: Print ccache statistics
run: ccache -s
- name: Save cache
uses: actions/cache/save@v3
if: ${{ github.ref_name == 'master' && steps.restore-cache.outputs.cache-hit != 'true' }}
id: save-cache
with:
path: .ccache
key: ccache-${{ matrix.image }}-${{ matrix.compiler }}-${{ matrix.parallel }}-${{ github.sha }}
- name: Test
run: gha/scripts/ci/gh-actions/run.sh test
windows:
needs: [format, git_checks]
if: needs.git_checks.outputs.num_code_changes > 0
runs-on: ${{ matrix.image }}
env:
GH_YML_JOBNAME: ${{ matrix.os }}-${{ matrix.compiler }}${{ matrix.shared == 'static' && '-static' || ''}}-${{ matrix.parallel }}
GH_YML_BASE_OS: Windows
GH_YML_MATRIX_OS: ${{ matrix.os }}
GH_YML_MATRIX_COMPILER: ${{ matrix.compiler }}
GH_YML_MATRIX_PARALLEL: ${{ matrix.parallel }}
strategy:
fail-fast: false
matrix:
os: [win2019, win2022]
shared: [shared]
parallel: [serial, ompi]
include:
- os: win2019
image: windows-2019
compiler: vs2019
- os: win2022
image: windows-2022
compiler: vs2022
- os: win2022
image: windows-2022
shared: static
compiler: vs2022
parallel: serial
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
with:
path: gha
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
path: source
- name: Setup
shell: pwsh
run: gha/scripts/ci/gh-actions/windows-setup.ps1
- name: Update
run: gha/scripts/ci/gh-actions/run.sh update
- name: Configure
run: gha/scripts/ci/gh-actions/run.sh configure
- name: Build
run: gha/scripts/ci/gh-actions/run.sh build
- name: Test
run: gha/scripts/ci/gh-actions/run.sh test
#######################################
# Docker container jobs
#######################################
docker:
needs: [format, git_checks]
if: needs.git_checks.outputs.num_code_changes > 0
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
baseos: [ubuntu-bionic]
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
path: ci-source
- name: Re-configure docker daemon
run: |
sudo systemctl stop docker
echo $'{\n "experimental": true\n}' | \
sudo tee /etc/docker/daemon.json
sudo systemctl start docker
- name: Build image
run: |
docker build \
--rm --squash \
-t ornladios/adios2:ci-tmp \
--build-arg baseos=${{ matrix.baseos }} \
--build-arg ci_source_dir=ci-source \
-f ci-source/scripts/ci/images/spack/Dockerfile \
.
- name: Save image as a tar file
run: |
docker save -o ci-docker.tar ornladios/adios2:ci-tmp
ls -lah ci-docker.tar
- name: Upload
uses: actions/upload-artifact@v2
with:
retention-days: 1
name: ci-docker ${{ matrix.baseos }} ${{ github.sha }}
path: ci-docker.tar
- name: Push image to Docker Hub
if: github.event_name == 'push'
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
run: |
target_tag="${GITHUB_REF##refs/heads/}-${{ matrix.baseos }}"
docker tag \
ornladios/adios2:ci-tmp \
ornladios/adios2:${target_tag}
docker login \
--username="${DOCKERHUB_USERNAME}" \
--password="${DOCKERHUB_PASSWORD}"
docker push \
ornladios/adios2:${target_tag}
#######################################
# Contract testing jobs
#######################################
# These contract testing jobs use the container built in the previous
# docker job and runs it in a way similar to how a typical GitHub
# Actions container job does. Using the "messy" default shell for
# run steps lets the steps be written as though they too were using a
# standard container job.
contract:
needs: [format, git_checks, docker]
if: needs.git_checks.outputs.num_code_changes > 0
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
code: [examples, lammps, tau]
include:
- code: examples
- code: lammps
repo: pnorbert/lammps
ref: fix-deprecated-adios-init
- code: tau
defaults:
run:
shell: bash -c "docker exec adios2-ci bash --login -e $(echo {0} | sed 's|/home/runner/work|/__w|g')"
steps:
- uses: actions/checkout@v4
if: ${{ matrix.repo != '' }}
with:
repository: ${{ matrix.repo }}
ref: ${{ matrix.ref }}
path: source
- name: Download CI docker image
uses: actions/download-artifact@v2
with:
name: ci-docker ubuntu-bionic ${{ github.sha }}
- name: Initialize containers
shell: bash -e {0}
run: |
sudo chown 1000:1000 .
docker load -i ci-docker.tar
docker create \
--name adios2-ci --workdir /__w/ADIOS2/ADIOS2 \
-v "/home/runner/work":"/__w" \
--entrypoint "tail" ornladios/adios2:ci-tmp \
"-f" "/dev/null"
docker start adios2-ci
- name: Dependencies
run: /opt/adios2/source/testing/contract/${{ matrix.code }}/depends.sh
- name: Configure
run: /opt/adios2/source/testing/contract/${{ matrix.code }}/config.sh
- name: Build
run: /opt/adios2/source/testing/contract/${{ matrix.code }}/build.sh
- name: Install
run: /opt/adios2/source/testing/contract/${{ matrix.code }}/install.sh
- name: Test
run: /opt/adios2/source/testing/contract/${{ matrix.code }}/test.sh
#######################################
# Code analysis builds
#######################################
analyze:
needs: [format, git_checks]
name: CodeQL
runs-on: ubuntu-latest
container:
image: 'ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc8'
env:
GH_YML_JOBNAME: ubuntu20.04-gcc8-serial-codeql
GH_YML_BASE_OS: Linux
GH_YML_MATRIX_OS: ubuntu20.04
GH_YML_MATRIX_COMPILER: gcc8
GH_YML_MATRIX_PARALLEL: serial
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'cpp' ]
steps:
- uses: actions/checkout@v4
with:
path: gha
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
path: source
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
config: |
paths:
- source
paths-ignore:
- source/thirdparty
- name: Setup
run: gha/scripts/ci/gh-actions/linux-setup.sh
- name: Update
run: gha/scripts/ci/gh-actions/run.sh update
- name: Configure
run: gha/scripts/ci/gh-actions/run.sh configure
- name: Build
run: gha/scripts/ci/gh-actions/run.sh build
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: "/language:${{matrix.language}}"
#######################################
# Workaround for skipping matrix jobs
#######################################
build_and_test:
needs: [linux_el8, linux_ubuntu, macos, docker, contract]
runs-on: ubuntu-latest
steps:
- run: echo "All required jobs complete"
================================================
FILE: 3rd_party/adios/.github/workflows/pypackaging.yml
================================================
name: Python Packaging
on:
workflow_dispatch:
inputs:
overrideVersion:
description: Manually force a version
pull_request:
push:
branches:
- master
- release_[0-9]+
tags:
- v[0-9]+.[0-9]+.[0-9]+*
release:
types:
- published
env:
ADIOS2_CUSTOM_VERSION_OVERRIDE: ${{ github.event.inputs.overrideVersion }}
jobs:
make_sdist:
name: Make SDist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Generate common version file
run: cmake -P scripts/ci/gh-actions/config/adios-version.cmake && echo VERSION.TXT
- name: Build SDist
run: pipx run build --sdist
- uses: actions/upload-artifact@v3
with:
path: dist/*.tar.gz
build_wheels:
name: Wheel on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# os: [ubuntu-latest, windows-latest, macos-latest]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Generate common version file
run: cmake -P scripts/ci/gh-actions/config/adios-version.cmake && echo VERSION.TXT
- uses: pypa/cibuildwheel@v2.16
env:
CIBW_BUILD: cp*-manylinux_x86_64
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
path: wheelhouse/*.whl
upload_pypi:
needs: [build_wheels, make_sdist]
environment: pypi
permissions:
id-token: write
runs-on: ubuntu-latest
if: |
github.event_name == 'workflow_dispatch' ||
(
github.event_name == 'release' &&
github.event.action == 'published'
)
steps:
- uses: actions/download-artifact@v3
with:
name: artifact
path: dist
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
upload_test_pypi:
needs: [build_wheels, make_sdist]
environment: testpypi
permissions:
id-token: write
runs-on: ubuntu-latest
# Upload to Test PyPI for every commit on main branch
if: github.event_name == 'push' && github.event.ref == 'refs/heads/master'
steps:
- uses: actions/download-artifact@v3
with:
name: artifact
path: dist
- name: Publish package distributions to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
================================================
FILE: 3rd_party/adios/.gitignore
================================================
# Vi(m) temporary buffer files
*.sw?
# Emacs temporary files
*~
#Eclipse
.cproject
.project
.settings/
.pydevproject
#binary, library, or temporary build files
*.o
*.a
*.so
*.tmp
*.exe
*.bp
*.out
*.pyc
*.bp
*.bp.dir
build/
# Mac OSX finder-related files
.DS_Store
# Doxygen generated files
html/
*.html
docs/api_doxygen/CXX11/xml/
docs/api_doxygen/C/xml/
# readthedocs generated:
docs/bin/
docs/lib/
docs/pyvenv.cfg
# Visual Studio
.vs/
CMakeSettings.json
# Python wheels stuff
*.egg-info/
================================================
FILE: 3rd_party/adios/.gitlab/config/SpackCIBridge.py
================================================
#!/usr/bin/env python3
import argparse
import atexit
import base64
from datetime import datetime, timedelta, timezone
import dateutil.parser
from github import Github
import json
import os
import re
import subprocess
import sys
import tempfile
import urllib.parse
import urllib.request
class SpackCIBridge(object):
def __init__(self, gitlab_repo="", gitlab_host="", gitlab_project="", github_project="",
disable_status_post=True, sync_draft_prs=False,
main_branch=None, prereq_checks=[]):
self.gitlab_repo = gitlab_repo
self.github_project = github_project
github_token = os.environ.get('GITHUB_TOKEN')
self.github_repo = "https://{0}@github.com/{1}.git".format(github_token, self.github_project)
self.py_github = Github(github_token)
self.py_gh_repo = self.py_github.get_repo(self.github_project, lazy=True)
self.merge_msg_regex = re.compile(r"Merge\s+([^\s]+)\s+into\s+([^\s]+)")
self.unmergeable_shas = []
self.post_status = not disable_status_post
self.sync_draft_prs = sync_draft_prs
self.main_branch = main_branch
self.currently_running_sha = None
self.latest_tested_main_commit = None
self.prereq_checks = prereq_checks
dt = datetime.now(timezone.utc) + timedelta(minutes=-60)
self.time_threshold_brief = urllib.parse.quote_plus(dt.isoformat(timespec="seconds"))
self.pipeline_api_template = gitlab_host
self.pipeline_api_template += "/api/v4/projects/"
self.pipeline_api_template += urllib.parse.quote_plus(gitlab_project)
self.pipeline_api_template += "/pipelines?ref={0}"
self.commit_api_template = gitlab_host
self.commit_api_template += "/api/v4/projects/"
self.commit_api_template += urllib.parse.quote_plus(gitlab_project)
self.commit_api_template += "/repository/commits/{0}"
self.cached_commits = {}
@atexit.register
def cleanup():
"""Shutdown ssh-agent upon program termination."""
if "SSH_AGENT_PID" in os.environ:
print(" Shutting down ssh-agent({0})".format(os.environ["SSH_AGENT_PID"]))
subprocess.run(["ssh-agent", "-k"], check=True)
def setup_ssh(self, ssh_key_base64):
"""Start the ssh agent."""
print("Starting ssh-agent")
output = subprocess.run(["ssh-agent", "-s"], check=True, stdout=subprocess.PIPE).stdout
# Search for PID in output.
pid_regexp = re.compile(r"SSH_AGENT_PID=([0-9]+)")
match = pid_regexp.search(output.decode("utf-8"))
if match is None:
print("WARNING: could not detect ssh-agent PID.", file=sys.stderr)
print("ssh-agent will not be killed upon program termination", file=sys.stderr)
else:
pid = match.group(1)
os.environ["SSH_AGENT_PID"] = pid
self.cleanup_ssh_agent = True
# Search for socket in output.
socket_regexp = re.compile(r"SSH_AUTH_SOCK=([^;]+);")
match = socket_regexp.search(output.decode("utf-8"))
if match is None:
print("WARNING: could not detect ssh-agent socket.", file=sys.stderr)
print("Key will be added to caller's ssh-agent (if any)", file=sys.stderr)
else:
socket = match.group(1)
os.environ["SSH_AUTH_SOCK"] = socket
# Add the key.
ssh_key = base64.b64decode(ssh_key_base64)
ssh_key = ssh_key.replace(b"\r", b"")
with tempfile.NamedTemporaryFile() as fp:
fp.write(ssh_key)
fp.seek(0)
subprocess.run(["ssh-add", fp.name], check=True)
def get_commit(self, commit):
""" Check our cache for a commit on GitHub.
If we don't have it yet, use the GitHub API to retrieve it."""
if commit not in self.cached_commits:
self.cached_commits[commit] = self.py_gh_repo.get_commit(sha=commit)
return self.cached_commits[commit]
def list_github_prs(self):
""" Return two dicts of data about open PRs on GitHub:
one for all open PRs, and one for open PRs that are not up-to-date on GitLab."""
pr_dict = {}
pulls = self.py_gh_repo.get_pulls(state="open")
print("Rate limit after get_pulls(): {}".format(self.py_github.rate_limiting[0]))
for pull in pulls:
backlogged = False
push = True
if pull.draft and not self.sync_draft_prs:
print("Skipping draft PR {0} ({1})".format(pull.number, pull.head.ref))
backlogged = "draft"
push = False
pr_string = "pr{0}_{1}".format(pull.number, pull.head.ref)
if push and pull.updated_at < datetime.now() + timedelta(minutes=-2880):
# Skip further analysis of this PR if it hasn't been updated in 48 hours.
# This helps us avoid wasting our rate limit on PRs with merge conflicts.
print("Skip pushing stale PR {0}".format(pr_string))
backlogged = "stale"
push = False
if push:
# Determine if this PR still needs to be pushed to GitLab. This happens in one of two cases:
# 1) we have never pushed it before
# 2) we have pushed it before, but the HEAD sha has changed since we pushed it last
log_args = ["git", "log", "--pretty=%s", "gitlab/{0}".format(pr_string)]
try:
merge_commit_msg = subprocess.run(
log_args, check=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).stdout
match = self.merge_msg_regex.match(merge_commit_msg.decode("utf-8"))
if match and (match.group(1) == pull.head.sha or match.group(2) == pull.head.sha):
print("Skip pushing {0} because GitLab already has HEAD {1}".format(pr_string, pull.head.sha))
push = False
except subprocess.CalledProcessError:
# This occurs when it's a new PR that hasn't been pushed to GitLab yet.
pass
if push:
# Check the PRs-to-be-pushed to see if any of them should be considered "backlogged".
# We currently recognize three types of backlogged PRs:
# 1) Some required "prerequisite checks" have not yet completed successfully.
# 2) The PR is based on a version of the "main branch" that has not yet been tested
# 3) Draft PRs. Handled earlier in this function.
if not backlogged and self.prereq_checks:
checks_desc = "waiting for {} check to succeed"
checks_to_verify = self.prereq_checks.copy()
pr_check_runs = self.get_commit(pull.head.sha).get_check_runs()
for check in pr_check_runs:
if check.name in checks_to_verify:
checks_to_verify.remove(check.name)
if check.conclusion != "success":
backlogged = checks_desc.format(check.name)
push = False
break
if not backlogged and checks_to_verify:
backlogged = checks_desc.format(checks_to_verify[0])
push = False
if backlogged:
print("Skip pushing {0} because of {1}".format(pr_string, backlogged))
if not backlogged:
if self.main_branch and pull.base.ref == self.main_branch:
# Check if we should defer pushing/testing this PR because it is based on "too new" of a commit
# of the main branch.
tmp_pr_branch = f"temporary_{pr_string}"
subprocess.run(["git", "fetch", "github",
f"refs/pull/{pull.number}/head:{tmp_pr_branch}"], check=True)
# Get the merge base between this PR and the main branch.
try:
merge_base_sha = subprocess.run(
["git", "merge-base", tmp_pr_branch, f"github/{self.main_branch}"],
check=True, stdout=subprocess.PIPE).stdout.strip()
except subprocess.CalledProcessError:
print(f"'git merge-base {tmp_pr_branch} github/{self.main_branch}' "
"returned non-zero. Skipping")
self.unmergeable_shas.append(pull.head.sha)
continue
repo_head_sha = subprocess.run(
["git", "rev-parse", tmp_pr_branch],
check=True, stdout=subprocess.PIPE).stdout.decode("utf-8").strip()
if pull.head.sha != repo_head_sha:
# If gh repo and api don't agree on what the head sha is, don't
# push. Instead log an error message and backlog the PR.
a_sha, r_sha = pull.head.sha[:7], repo_head_sha[:7]
print(f"Skip pushing {pr_string} because api says HEAD is {a_sha}, "
f"while repo says HEAD is {r_sha}")
backlogged = f"GitHub HEAD shas out of sync (repo={r_sha}, API={a_sha})"
push = False
# Check if our PR's merge base is an ancestor of the latest tested main branch commit.
elif subprocess.run(
["git", "merge-base", "--is-ancestor", merge_base_sha, self.latest_tested_main_commit]
).returncode == 0:
print(f"{tmp_pr_branch}'s merge base IS an ancestor of latest_tested_main "
f"{merge_base_sha} vs. {self.latest_tested_main_commit}")
try:
subprocess.run(["git", "checkout", self.latest_tested_main_commit], check=True)
subprocess.run(["git", "checkout", "-b", pr_string], check=True)
commit_msg = f"Merge {pull.head.sha} into {self.latest_tested_main_commit}"
subprocess.run(
["git", "merge", "--no-ff", "-m", commit_msg, tmp_pr_branch],
check=True)
print(f"Merge succeeded, ready to push {pr_string} to GitLab for CI pipeline testing")
except subprocess.CalledProcessError:
print(f"Failed to merge PR {pull.number} ({pull.head.ref}) with latest tested "
f"{self.main_branch} ({self.latest_tested_main_commit}). Skipping")
self.unmergeable_shas.append(pull.head.sha)
subprocess.run(["git", "merge", "--abort"])
backlogged = "merge conflicts with {}".format(self.main_branch)
push = False
continue
else:
print(f"Skip pushing {pr_string} because its merge base is NOT an ancestor of "
f"latest_tested_main {merge_base_sha} vs. {self.latest_tested_main_commit}")
backlogged = "base"
push = False
else:
# If the --main-branch CLI argument wasn't passed, or if this PR doesn't target that branch,
# then we will push the merge commit that was automatically created by GitHub to GitLab
# where it will kick off a CI pipeline.
try:
subprocess.run(["git", "fetch", "github",
f"{pull.merge_commit_sha}:{pr_string}"], check=True)
except subprocess.CalledProcessError:
print("Failed to locally checkout PR {0} ({1}). Skipping"
.format(pull.number, pull.merge_commit_sha))
backlogged = "GitLab failed to checkout this branch"
push = False
continue
pr_dict[pr_string] = {
'base_sha': pull.base.sha,
'head_sha': pull.head.sha,
'push': push,
'backlogged': backlogged,
}
def listify_dict(d):
pr_strings = sorted(d.keys())
base_shas = [d[s]['base_sha'] for s in pr_strings]
head_shas = [d[s]['head_sha'] for s in pr_strings]
b_logged = [d[s]['backlogged'] for s in pr_strings]
return {
"pr_strings": pr_strings,
"base_shas": base_shas,
"head_shas": head_shas,
"backlogged": b_logged,
}
all_open_prs = listify_dict(pr_dict)
filtered_pr_dict = {k: v for (k, v) in pr_dict.items() if v['push']}
filtered_open_prs = listify_dict(filtered_pr_dict)
print("All Open PRs:")
for pr_string in all_open_prs['pr_strings']:
print(" {0}".format(pr_string))
print("Filtered Open PRs:")
for pr_string in filtered_open_prs['pr_strings']:
print(" {0}".format(pr_string))
print("Rate limit at the end of list_github_prs(): {}".format(self.py_github.rate_limiting[0]))
return [all_open_prs, filtered_open_prs]
def list_github_protected_branches(self):
""" Return a list of protected branch names from GitHub."""
branches = self.py_gh_repo.get_branches()
print("Rate limit after get_branches(): {}".format(self.py_github.rate_limiting[0]))
protected_branches = [br.name for br in branches if br.protected]
protected_branches = sorted(protected_branches)
if self.currently_running_sha:
print("Skip pushing {0} because it already has a pipeline running ({1})"
.format(self.main_branch, self.currently_running_sha))
protected_branches.remove(self.main_branch)
print("Protected branches:")
for protected_branch in protected_branches:
print(" {0}".format(protected_branch))
return protected_branches
def list_github_tags(self):
""" Return a list of tag names from GitHub."""
tag_list = self.py_gh_repo.get_tags()
print("Rate limit after get_tags(): {}".format(self.py_github.rate_limiting[0]))
tags = sorted([tag.name for tag in tag_list])
print("Tags:")
for tag in tags:
print(" {0}".format(tag))
return tags
def setup_git_repo(self):
"""Initialize a bare git repository with two remotes:
one for GitHub and one for GitLab.
If main_branch was specified, we also fetch that branch from GitHub.
"""
subprocess.run(["git", "init"], check=True)
subprocess.run(["git", "config", "user.email", "noreply@spack.io"], check=True)
subprocess.run(["git", "config", "user.name", "spackbot"], check=True)
subprocess.run(["git", "config", "advice.detachedHead", "false"], check=True)
subprocess.run(["git", "remote", "add", "github", self.github_repo], check=True)
subprocess.run(["git", "remote", "add", "gitlab", self.gitlab_repo], check=True)
# Shallow fetch from GitLab.
self.gitlab_shallow_fetch()
if self.main_branch:
subprocess.run(["git", "fetch", "github", self.main_branch], check=True)
def get_gitlab_pr_branches(self):
"""Query GitLab for branches that have already been copied over from GitHub PRs.
Return the string output of `git branch --remotes --list gitlab/pr*`.
"""
branch_args = ["git", "branch", "--remotes", "--list", "gitlab/pr*"]
self.gitlab_pr_output = \
subprocess.run(branch_args, check=True, stdout=subprocess.PIPE).stdout
def gitlab_shallow_fetch(self):
"""Perform a shallow fetch from GitLab"""
fetch_args = ["git", "fetch", "-q", "--depth=1", "gitlab"]
subprocess.run(fetch_args, check=True, stdout=subprocess.PIPE).stdout
def get_open_refspecs(self, open_prs):
"""Return a list of refspecs to push given a list of open PRs."""
print("Building initial lists of refspecs to fetch and push")
pr_strings = open_prs["pr_strings"]
base_shas = open_prs["base_shas"]
backlogged = open_prs["backlogged"]
open_refspecs = []
for open_pr, base_sha, backlog in zip(pr_strings, base_shas, backlogged):
open_refspecs.append("{0}:{0}".format(open_pr))
print(" pushing {0} (based on {1})".format(open_pr, base_sha))
return open_refspecs
def update_refspecs_for_protected_branches(self, protected_branches, open_refspecs, fetch_refspecs):
"""Update our refspecs lists for protected branches from GitHub."""
for protected_branch in protected_branches:
fetch_refspecs.append("+refs/heads/{0}:refs/remotes/{0}".format(protected_branch))
open_refspecs.append("refs/heads/{0}:refs/heads/{0}".format(protected_branch))
return open_refspecs, fetch_refspecs
def update_refspecs_for_tags(self, tags, open_refspecs, fetch_refspecs):
"""Update our refspecs lists for tags from GitHub."""
for tag in tags:
fetch_refspecs.append("+refs/tags/{0}:refs/tags/{0}".format(tag))
open_refspecs.append("refs/tags/{0}:refs/tags/{0}".format(tag))
return open_refspecs, fetch_refspecs
def fetch_github_branches(self, fetch_refspecs):
"""Perform `git fetch` for a given list of refspecs."""
print("Fetching GitHub refs for open PRs")
fetch_args = ["git", "fetch", "-q", "github"] + fetch_refspecs
subprocess.run(fetch_args, check=True)
def build_local_branches(self, protected_branches):
"""Create local branches for a list of protected branches."""
print("Building local branches for protected branches")
for branch in protected_branches:
local_branch_name = "{0}".format(branch)
remote_branch_name = "refs/remotes/{0}".format(branch)
subprocess.run(["git", "branch", "-q", local_branch_name, remote_branch_name], check=True)
def make_status_for_pipeline(self, pipeline):
"""Generate POST data to create a GitHub status from a GitLab pipeline
API response
"""
post_data = {}
if "status" not in pipeline:
return post_data
if pipeline["status"] == "created":
post_data["state"] = "pending"
post_data["description"] = "Pipeline has been created"
elif pipeline["status"] == "waiting_for_resource":
post_data["state"] = "pending"
post_data["description"] = "Pipeline is waiting for resources"
elif pipeline["status"] == "preparing":
post_data["state"] = "pending"
post_data["description"] = "Pipeline is preparing"
elif pipeline["status"] == "pending":
post_data["state"] = "pending"
post_data["description"] = "Pipeline is pending"
elif pipeline["status"] == "running":
post_data["state"] = "pending"
post_data["description"] = "Pipeline is running"
elif pipeline["status"] == "manual":
post_data["state"] = "pending"
post_data["description"] = "Pipeline is running manually"
elif pipeline["status"] == "scheduled":
post_data["state"] = "pending"
post_data["description"] = "Pipeline is scheduled"
elif pipeline["status"] == "failed":
post_data["state"] = "error"
post_data["description"] = "Pipeline failed"
elif pipeline["status"] == "canceled":
# Do not post canceled pipeline status to GitHub, it's confusing to our users.
# This usually happens when a PR gets force-pushed. The next time the sync script runs
# it will post a status for the newly force-pushed commit.
return {}
elif pipeline["status"] == "skipped":
post_data["state"] = "failure"
post_data["description"] = "Pipeline was skipped"
elif pipeline["status"] == "success":
post_data["state"] = "success"
post_data["description"] = "Pipeline succeeded"
post_data["target_url"] = pipeline["web_url"]
return post_data
def dedupe_pipelines(self, api_response):
"""Prune pipelines API response to only include the most recent result for each SHA"""
pipelines = {}
for response in api_response:
sha = response['sha']
if sha not in pipelines:
pipelines[sha] = response
else:
existing_datetime = dateutil.parser.parse(pipelines[sha]['updated_at'])
current_datetime = dateutil.parser.parse(response['updated_at'])
if current_datetime > existing_datetime:
pipelines[sha] = response
return pipelines
def find_pr_sha(self, tested_sha):
api_url = self.commit_api_template.format(tested_sha)
try:
request = urllib.request.Request(api_url)
if "GITLAB_TOKEN" in os.environ:
request.add_header("Authorization", "Bearer %s" % os.environ["GITLAB_TOKEN"])
response = urllib.request.urlopen(request)
except OSError:
print('Failed to fetch commit for tested sha {0}'.format(tested_sha))
return None
response_data = response.read()
try:
tested_commit_info = json.loads(response_data)
except json.decoder.JSONDecodeError:
print('Failed to parse response as json ({0})'.format(response_data))
return None
if 'title' not in tested_commit_info:
print('Returned commit object missing "Title" field')
return None
merge_commit_msg = tested_commit_info['title']
m = self.merge_msg_regex.match(merge_commit_msg)
if m is None:
print('Failed to find pr_sha in merge commit message')
return None
return m.group(1)
def get_pipelines_for_branch(self, branch, time_threshold=None):
# Use gitlab's API to get pipeline results for the corresponding ref.
api_url = self.pipeline_api_template.format(
urllib.parse.quote_plus(branch)
)
# Optionally constrain the query with the provided time_threshold
if time_threshold:
api_url = "{0}&updated_after={1}".format(api_url, time_threshold)
try:
request = urllib.request.Request(api_url)
if "GITLAB_TOKEN" in os.environ:
request.add_header("Authorization", "Bearer %s" % os.environ["GITLAB_TOKEN"])
response = urllib.request.urlopen(request)
except OSError as inst:
print("GitLab API request error accessing {0}".format(api_url))
print(inst)
return None
try:
pipelines = json.loads(response.read())
except json.decoder.JSONDecodeError as inst:
print("Error parsing response to {0}".format(api_url))
print(inst)
return None
return self.dedupe_pipelines(pipelines)
def post_pipeline_status(self, open_prs, protected_branches):
print("Rate limit at the beginning of post_pipeline_status(): {}".format(self.py_github.rate_limiting[0]))
pipeline_branches = []
backlog_branches = []
# Split up the open_prs branches into two piles: branches we force-pushed to gitlab
# and branches we deferred pushing.
for pr_branch, base_sha, head_sha, backlog in zip(open_prs["pr_strings"],
open_prs["base_shas"],
open_prs["head_shas"],
open_prs["backlogged"]):
if not backlog:
pipeline_branches.append(pr_branch)
else:
backlog_branches.append((pr_branch, head_sha, backlog))
pipeline_branches.extend(protected_branches)
print('Querying pipelines to post status for:')
for branch in pipeline_branches:
# Post status to GitHub for each pipeline found.
pipelines = self.get_pipelines_for_branch(branch, self.time_threshold_brief)
if not pipelines:
continue
for sha, pipeline in pipelines.items():
post_data = self.make_status_for_pipeline(pipeline)
if not post_data:
continue
# TODO: associate shas with protected branches, so we do not have to
# hit an endpoint here, but just use the sha we already know just like
# we do below for backlogged PR statuses.
pr_sha = self.find_pr_sha(sha)
if not pr_sha:
print('Could not find github PR sha for tested commit: {0}'.format(sha))
print('Using tested commit to post status')
pr_sha = sha
self.create_status_for_commit(pr_sha,
branch,
post_data["state"],
post_data["target_url"],
post_data["description"])
# Post a status of pending/backlogged for branches we deferred pushing
print("Posting backlogged status to the following:")
base_backlog_desc = \
"This branch's merge-base with {} is newer than the latest commit tested by GitLab".format(self.main_branch)
for branch, head_sha, reason in backlog_branches:
if reason == "stale":
print("Skip posting status for {} because it has not been updated recently".format(branch))
continue
elif reason == "base":
desc = base_backlog_desc
url = "https://github.com/spack/spack-infrastructure/blob/main/docs/deferred_pipelines.md"
elif reason == "draft":
desc = "GitLab CI is disabled for draft PRs"
url = ""
else:
desc = reason
url = ""
self.create_status_for_commit(head_sha, branch, "pending", url, desc)
# Post errors to any PRs that we couldn't merge to latest_tested_main_commit.
print('Posting unmergeable status to the following:')
for sha in self.unmergeable_shas:
print(' {0}'.format(sha))
self.create_status_for_commit(sha, "", "error", "", f"PR could not be merged with {self.main_branch}")
print("Rate limit at the end of post_pipeline_status(): {}".format(self.py_github.rate_limiting[0]))
def create_status_for_commit(self, sha, branch, state, target_url, description):
context = "OLCF Ascent (Summit)"
commit = self.get_commit(sha)
existing_statuses = commit.get_combined_status()
for status in existing_statuses.statuses:
if (status.context == context and
status.state == state and
status.description == description and
status.target_url == target_url):
print("Not posting duplicate status to {} / {}".format(branch, sha))
return
try:
status_response = self.get_commit(sha).create_status(
state=state,
target_url=target_url,
description=description,
context=context
)
if status_response.state != state:
print("Expected CommitStatus state {0}, got {1}".format(
state, status_response.state))
except Exception as e_inst:
print('Caught exception posting status for {0}/{1}'.format(branch, sha))
print(e_inst)
print(" {0} -> {1}".format(branch, sha))
def sync(self):
"""Synchronize pull requests from GitHub as branches on GitLab."""
print("Initial rate limit: {}".format(self.py_github.rate_limiting[0]))
reset_time = datetime.utcfromtimestamp(self.py_github.rate_limiting_resettime).strftime('%Y-%m-%d %H:%M:%S')
print("Rate limit will refresh at: {} UTC".format(reset_time))
# Setup SSH command for communicating with GitLab.
os.environ["GIT_SSH_COMMAND"] = "ssh -F /dev/null -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
# Work inside a temporary directory that will be deleted when this script terminates.
with tempfile.TemporaryDirectory() as tmpdirname:
os.chdir(tmpdirname)
# Setup the local repo with two remotes.
self.setup_git_repo()
if self.main_branch:
# Find the currently running main branch pipeline, if any, and get the sha.
# Also get the latest commit on the main branch that has a completed pipeline.
main_branch_pipelines = self.get_pipelines_for_branch(self.main_branch)
for sha, pipeline in main_branch_pipelines.items():
if self.latest_tested_main_commit is None and \
(pipeline['status'] == "success" or pipeline['status'] == "failed"):
self.latest_tested_main_commit = sha
if self.currently_running_sha is None and pipeline['status'] == "running":
self.currently_running_sha = sha
if self.latest_tested_main_commit and self.currently_running_sha:
break
print("Latest completed {0} pipeline: {1}".format(self.main_branch, self.latest_tested_main_commit))
print("Currently running {0} pipeline: {1}".format(self.main_branch, self.currently_running_sha))
# Retrieve open PRs from GitHub.
all_open_prs, open_prs = self.list_github_prs()
# Get protected branches on GitHub.
protected_branches = self.list_github_protected_branches()
# Get tags on GitHub.
tags = self.list_github_tags()
# Get refspecs for open PRs and protected branches.
open_refspecs = self.get_open_refspecs(open_prs)
fetch_refspecs = []
self.update_refspecs_for_protected_branches(protected_branches, open_refspecs, fetch_refspecs)
self.update_refspecs_for_tags(tags, open_refspecs, fetch_refspecs)
# Sync open GitHub PRs and protected branches to GitLab.
self.fetch_github_branches(fetch_refspecs)
self.build_local_branches(protected_branches)
if open_refspecs:
print("Syncing to GitLab")
push_args = ["git", "push", "--porcelain", "-f", "gitlab"] + open_refspecs
subprocess.run(push_args, check=True)
# Post pipeline status to GitHub for each open PR, if enabled
if self.post_status:
print('Posting pipeline status for open PRs and protected branches')
self.post_pipeline_status(all_open_prs, protected_branches)
if __name__ == "__main__":
# Parse command-line arguments.
parser = argparse.ArgumentParser(description="Sync GitHub PRs to GitLab")
parser.add_argument("github_project", help="GitHub project (org/repo or user/repo)")
parser.add_argument("gitlab_repo", help="Full clone URL for GitLab")
parser.add_argument("gitlab_host", help="GitLab web host")
parser.add_argument("gitlab_project", help="GitLab project (org/repo or user/repo)")
parser.add_argument("--disable-status-post", action="store_true", default=False,
help="Do not post pipeline status to each GitHub PR")
parser.add_argument("--sync-draft-prs", action="store_true", default=False,
help="Copy draft PRs from GitHub to GitLab")
parser.add_argument("--pr-mirror-bucket", default=None,
help="Delete mirrors for closed PRs from the specified S3 bucket")
parser.add_argument("--main-branch", default=None,
help="""If provided, we check if there is a currently running
pipeline for this branch. If so, we defer syncing any subsequent commits in an effort
to not interrupt this pipeline. We also defer pushing any PR branches that are based
on a commit of the main branch that is newer than the latest commit tested by GitLab.""")
parser.add_argument("--prereq-check", nargs="+", default=False,
help="Only push branches that have already passed this GitHub check")
args = parser.parse_args()
ssh_key_base64 = os.getenv("GITLAB_SSH_KEY_BASE64")
if ssh_key_base64 is None:
raise Exception("GITLAB_SSH_KEY_BASE64 environment is not set")
if "GITHUB_TOKEN" not in os.environ:
raise Exception("GITHUB_TOKEN environment is not set")
bridge = SpackCIBridge(gitlab_repo=args.gitlab_repo,
gitlab_host=args.gitlab_host,
gitlab_project=args.gitlab_project,
github_project=args.github_project,
disable_status_post=args.disable_status_post,
sync_draft_prs=args.sync_draft_prs,
main_branch=args.main_branch,
prereq_checks=args.prereq_check)
bridge.setup_ssh(ssh_key_base64)
bridge.sync()
================================================
FILE: 3rd_party/adios/.gitlab/config/ccache.cmake
================================================
##============================================================================
## Copyright (c) Kitware, Inc.
## All rights reserved.
## See LICENSE.txt for details.
##
## This software is distributed WITHOUT ANY WARRANTY; without even
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
## PURPOSE. See the above copyright notice for more information.
##============================================================================
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
set(version 4.6.1)
set(arch x86_64)
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
set(sha256sum da1e1781bc1c4b019216fa16391af3e1daaee7e7f49a8ec9b0cdc8a1d05c50e2)
set(base_url https://github.com/ccache/ccache/releases/download)
set(platform linux)
set(extension tar.xz)
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
set(sha256sum 3e36ba8c80fbf7f2b95fe0227b9dd1ca6143d721aab052caf0d5729769138059)
set(full_url https://gitlab.kitware.com/utils/ci-utilities/-/package_files/534/download)
set(filename ccache)
set(extension tar.gz)
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
set(sha256sum a6c6311973aa3d2aae22424895f2f968e5d661be003b25f1bd854a5c0cd57563)
set(base_url https://github.com/ccache/ccache/releases/download)
set(platform windows)
set(extension zip)
else()
message(FATAL_ERROR "Unrecognized platform ${CMAKE_HOST_SYSTEM_NAME}")
endif()
if(NOT DEFINED filename)
set(filename "ccache-${version}-${platform}-${arch}")
endif()
set(tarball "${filename}.${extension}")
if(NOT DEFINED full_url)
set(full_url "${base_url}/v${version}/${tarball}")
endif()
file(DOWNLOAD
"${full_url}" $ENV{CCACHE_INSTALL_DIR}/${tarball}
EXPECTED_HASH SHA256=${sha256sum}
SHOW_PROGRESS
)
execute_process(
COMMAND ${CMAKE_COMMAND} -E tar xf ${tarball}
WORKING_DIRECTORY $ENV{CCACHE_INSTALL_DIR}
RESULT_VARIABLE extract_results
)
if(extract_results)
message(FATAL_ERROR "Extracting `${tarball}` failed: ${extract_results}.")
endif()
file(RENAME $ENV{CCACHE_INSTALL_DIR}/${filename} $ENV{CCACHE_INSTALL_DIR}/ccache)
================================================
FILE: 3rd_party/adios/.gitlab/config/dynamic_pipeline.yml.in
================================================
child_pipeline_{branch}:
variables:
DOWNSTREAM_COMMIT_SHA: '{commit}'
DOWNSTREAM_BRANCH_REF: '{branch}'
trigger:
include:
- project: 'ci/csc303_crusher/dev/adios2'
ref: '{branch}'
file: '.gitlab/gitlab-ci-crusher.yml'
================================================
FILE: 3rd_party/adios/.gitlab/config/generate_pipelines.py
================================================
#!/usr/bin/env python3
# Distributed under the OSI-approved Apache License, Version 2.0. See
# accompanying file Copyright.txt for details.
#
# generate_pipeline.py
#
# Author: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
from datetime import datetime
import argparse
import itertools
import requests
import time
import re
import urllib3
# Remove annoying warning about insecure connection (self-signed cert).
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
class skip_after_n_successes:
def __init__(self, default_value, n):
self.runs_max = n
self.runs_current = 0
self.default_value = default_value
def __call__(self, fn, *args, **kwargs):
if self.runs_current >= self.runs_max:
return self.default_value
ret = fn(*args, **kwargs)
if ret:
self.runs_current += 1
return ret
def http_get_request(*args, **kwargs):
kwargs['verify'] = False
return requests.get(*args, **kwargs)
def request_as_list(url, *args, **kwargs):
current_url = url
body_json = []
while current_url:
response = http_get_request(current_url, *args, **kwargs)
body_json += response.json()
header = response.headers
current_url = None
if 'link' in header:
links = re.search(
r'(?<=\<)([\S]*)(?=>; rel="next")', header['link'], flags=re.IGNORECASE)
if links is not None:
current_url = links.group(0)
return body_json
def add_timestamp(branch):
date_str = branch['commit']['committed_date']
# We ignore the TZ since Gitlab/GitHub always reports in UTC
branch['dt'] = int(
datetime.strptime(date_str.split(".")[0],
'%Y-%m-%dT%H:%M:%S').timestamp())
return branch
def is_recent(branch):
deadline_sec = int(time.time()) - (args.days * 86400)
return branch['dt'] > deadline_sec
def has_no_status(branch):
gh_commit_sha = branch['commit']['id']
# Backported branches use the merge head
if re.fullmatch(r'^pr\d+_.*$', branch['name']):
gh_commit_sha = branch['commit']['parent_ids'][1]
# Query GitHub for the status of this commit
response = http_get_request(
gh_url + '/commits/' + gh_commit_sha + '/status')
if int(response.headers['x-ratelimit-remaining']) <= 0:
raise ConnectionError(response.json())
commit = response.json()
if commit is None or 'sha' not in commit:
return False
for status in commit['statuses']:
if status['context'] == args.gh_context:
return False
return True
parser = argparse.ArgumentParser(
prog='generate_pipeline.py',
description='Generate Dynamic pipelines for Gitlab')
parser.add_argument(
'-u', '--gl-url', required=True,
help='Base URL for Gitlab remote. Ex: https://code.olcf.ornl.gov/')
parser.add_argument(
'-n', '--gh-name', required=True,
help='Full name of the GitHub project. Ex: ornladios/ADIOS2')
parser.add_argument(
'-p', '--project_id', required=True,
help='Gitlab internal project ID of the project.')
parser.add_argument(
'-c', '--gh-context', default='OLCF Crusher (Frontier)',
help='Name of the status in GitHub (A.K.A context)')
parser.add_argument(
'-d', '--days', type=int, default=1,
help='How many days back to search for commits')
parser.add_argument(
'-m', '--max', type=int, default=2,
help='Maximum amount of pipelines computed')
parser.add_argument(
'-f', '--template_file', required=True,
help='Template file of the pipeline `{branch}` will be substituted')
args = parser.parse_args()
gl_url = args.gl_url + '/api/v4/projects/' + str(args.project_id)
gh_url = 'https://api.github.com/repos/' + args.gh_name
with open(args.template_file, 'r') as fd:
template_str = fd.read()
branches = request_as_list(gl_url + '/repository/branches')
branches = [add_timestamp(branch) for branch in branches]
branches = [b for b in branches if is_recent(b)]
branches = sorted(branches, key=lambda x: x['dt'])
# Skip running (and return true) has_no_status after returning True args.max times.
# We need this not to hog the Github Rest API draconian ratelimit.
run_n_times = skip_after_n_successes(default_value=False, n=args.max)
branches = [b for b in branches if run_n_times(has_no_status, b)]
for branch in branches:
print(template_str.format(
branch=branch['name'], commit=branch['commit']['id']))
================================================
FILE: 3rd_party/adios/.gitlab/config/kokkos.sh
================================================
#!/usr/bin/env bash
set -x
WORKDIR="$1"
VERSION="$2"
shift 2
if [ ! -d "$WORKDIR" ] || [ -z "$VERSION" ]
then
echo "[E] missing args: Invoke as .gitlab/ci/config/kokkos.sh <WORKDIR> <VERSION> [extra_args]"
exit 1
fi
# Build and install Kokkos
curl -L "https://github.com/kokkos/kokkos/archive/refs/tags/$VERSION.tar.gz" \
| tar -C "$WORKDIR" -xzf -
cmake -S "$WORKDIR/kokkos-$VERSION" -B "$WORKDIR/kokkos_build" \
"-DBUILD_SHARED_LIBS=ON" \
"-DCMAKE_BUILD_TYPE:STRING=release" \
"-DCMAKE_CXX_COMPILER_LAUNCHER=ccache" \
"-DCMAKE_CXX_STANDARD:STRING=17" \
"-DCMAKE_CXX_EXTENSIONS:BOOL=OFF" \
"-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON" \
$*
cmake --build "$WORKDIR/kokkos_build"
cmake --install "$WORKDIR/kokkos_build"
================================================
FILE: 3rd_party/adios/.gitlab/gitlab-ci-ascent.yml
================================================
# Ad-hoc build that runs in the ECP Hardware, concretely in OLCF Ascent.
.setup_env_ecpci: &setup_env_ecpci |
module purge
module load ${JOB_MODULES}
module list
export PATH="/gpfs/wolf/csc303/scratch/vbolea/ci/utils:$PATH"
.ascent-common:
except:
- schedules
tags:
- batch
interruptible: true
variables:
CCACHE_BASEDIR: "/gpfs/wolf/"
CCACHE_DIR: "/gpfs/wolf/csc303/scratch/vbolea/ci/ccache"
# -isystem= is not affected by CCACHE_BASEDIR, thus we must ignore it
CCACHE_IGNOREOPTIONS: "-isystem=*"
CCACHE_NOHASHDIR: "true"
CUDAHOSTCXX: "g++"
CUSTOM_CI_BUILDS_DIR: "/gpfs/wolf/csc303/scratch/vbolea/ci/adios2"
GITLAB_SITE: "OLCF Ascent"
CI_BIN_DIR: "$CI_PROJECT_DIR/build"
SCHEDULER_PARAMETERS: -P CSC303 -W 1:00 -nnodes 1 -alloc_flags gpudefault
before_script:
- *setup_env_ecpci
- ccache -z
script:
- bash scripts/ci/gitlab-ci/run.sh update
- bash scripts/ci/gitlab-ci/run.sh configure
- jsrun -n1 -a1 -g1 -c40 -bpacked:40 bash scripts/ci/gitlab-ci/run.sh build
- jsrun -n1 -a1 -g1 -c2 bash scripts/ci/gitlab-ci/run.sh test
after_script:
- *setup_env_ecpci
- bash scripts/ci/gitlab-ci/run.sh submit
- ccache -s
ascent-cuda:
variables:
# Order matters
JOB_MODULES: >-
DefApps
zstd
cuda/11.4.2
git
gcc/10.2.0
ninja
spectrum-mpi
lsf-tools
libffi
hdf5
cmake
extends:
- .ascent-common
ascent-kokkos-cuda:
variables:
# Order matters
JOB_MODULES: >-
DefApps
zstd
cuda/11.4.2
git
gcc/10.2.0
ninja
spectrum-mpi
lsf-tools
libffi
hdf5
cmake
KOKKOS_VER: 3.7.01
Kokkos_DIR: "$CI_PROJECT_DIR/deps/kokkos_install"
# Cmake would not install a RPATH inside the source dir
LD_LIBRARY_PATH: "$Kokkos_DIR/lib64/:$LD_LIBRARY_PATH"
KOKKOS_OPTS: >-
-DKokkos_ARCH_POWER9=ON
-DKokkos_ARCH_VOLTA70=ON
-DKokkos_ENABLE_CUDA=ON
-DKokkos_ENABLE_CUDA_LAMBDA=ON
-DCMAKE_INSTALL_PREFIX:PATH=$Kokkos_DIR
-DCMAKE_CXX_COMPILER:STRING=$CI_PROJECT_DIR/deps/kokkos-$KOKKOS_VER/bin/nvcc_wrapper
before_script:
- *setup_env_ecpci
- mkdir -p "$CI_PROJECT_DIR/deps"
- ccache -z
- .gitlab/config/kokkos.sh "$CI_PROJECT_DIR/deps" "$KOKKOS_VER" $KOKKOS_OPTS
extends:
- .ascent-common
ascent-nvhpc:
variables:
# Order matters
JOB_MODULES: >-
DefApps
zstd
nvhpc
git
spectrum-mpi
lsf-tools
libffi
hdf5
cmake
extends:
- .ascent-common
ascent-xl:
variables:
# Order matters
JOB_MODULES: >-
DefApps
zstd
cuda/11.4.2
git
xl
ninja
spectrum-mpi
lsf-tools
libffi
hdf5
cmake
extends:
- .ascent-common
sync-github-prs:
tags:
- nobatch
only:
- schedules
variables:
CUSTOM_CI_BUILDS_DIR: "/gpfs/wolf/csc303/scratch/vbolea/ci/adios2"
script:
- export PATH="/gpfs/wolf/csc303/scratch/vbolea/ci/utils:$PATH"
- .gitlab/config/SpackCIBridge.py ornladios/ADIOS2 git@code.ornl.gov:ecpcitest/adios2.git https://code.ornl.gov/ ecpcitest/adios2 --prereq-check=format --prereq-check=git_checks
================================================
FILE: 3rd_party/adios/.gitlab/gitlab-ci-crusher.yml
================================================
# Ad-hoc build that runs in the ECP Hardware, concretely in OLCF Crusher.
stages:
- pre
- setup
- build
- post
.setup_env_ecpci: &setup_env_ecpci |
git fetch
source scripts/ci/gitlab-ci/setup-vars.sh
git checkout "$CI_COMMIT_REF"
module purge
module load ${JOB_MODULES}
module list
export PATH="${CCACHE_INSTALL_DIR}/ccache:$PATH"
.install_ccache: &install_ccache |
mkdir -p "$CCACHE_INSTALL_DIR"
cmake --version
cmake -VV -P .gitlab/config/ccache.cmake
ccache -z
ccache -s
.crusher-common:
rules:
- if: $CI_PIPELINE_SOURCE =~ /parent_pipeline|web/
interruptible: true
variables:
CCACHE_BASEDIR: "/lustre/orion/csc303/scratch/"
CCACHE_DIR: "/lustre/orion/csc303/scratch/vbolea/ci/adios2/ccache"
CUSTOM_CI_BUILDS_DIR: "/lustre/orion/csc303/scratch/vbolea/ci/adios2/runtime"
# -isystem= is not affected by CCACHE_BASEDIR, thus we must ignore it
CCACHE_IGNOREOPTIONS: "-isystem=*"
CCACHE_NOHASHDIR: "true"
CCACHE_INSTALL_DIR: "$CI_PROJECT_DIR/deps/ccache_install"
CMAKE_BUILD_TYPE: "RelWithDebInfo"
CMAKE_GENERATOR: "Ninja"
CMAKE_PREFIX_PATH: "$CI_PROJECT_DIR/deps/kokkos_install"
# We do not want to use the user's ~/.gitconfig
GIT_CONFIG_GLOBAL: "true"
GITLAB_SITE: "OLCF Crusher"
CI_BIN_DIR: "$CI_PROJECT_DIR/build"
.setup-common:
stage: setup
tags: [ shell ]
before_script:
- *setup_env_ecpci
- *install_ccache
script:
- bash scripts/ci/gitlab-ci/run.sh update
artifacts:
expire_in: 24 hours
when: always
paths:
- deps/*install/
- build/
.build-common:
stage: build
tags: [ slurm ]
variables:
SCHEDULER_PARAMETERS: "-ACSC303_crusher -t30 --nice=0 -c32 --gpus=4 -N 1"
before_script:
- *setup_env_ecpci
script:
- bash scripts/ci/gitlab-ci/run.sh configure
- bash scripts/ci/gitlab-ci/run.sh build
- bash scripts/ci/gitlab-ci/run.sh test
after_script:
- *setup_env_ecpci
- bash scripts/ci/gitlab-ci/run.sh submit
- ccache -s
.kokkos-hip-common:
variables:
Kokkos_DIR: "$CI_PROJECT_DIR/deps/kokkos_install"
# Cmake would not install a RPATH inside the source dir
LD_LIBRARY_PATH: "$Kokkos_DIR/lib64/:$LD_LIBRARY_PATH"
# Order matters
JOB_MODULES: >-
craype-accel-amd-gfx90a
gcc/12
cmake
rocm/5.4.3
git
ninja
libffi
hdf5
zstd
setup:crusher-kokkos-hip:
variables:
KOKKOS_VER: 3.7.01
KOKKOS_OPTS: >-
-DCMAKE_INSTALL_PREFIX:PATH=$Kokkos_DIR
-DCMAKE_CXX_COMPILER:FILEPATH=/opt/rocm-5.4.3/hip/bin/hipcc
-DKokkos_ARCH_VEGA90A:BOOL=ON
-DKokkos_ENABLE_HIP:BOOL=ON
-DKokkos_ENABLE_HIP_RELOCATABLE_DEVICE_CODE:BOOL=OFF
-DKokkos_ENABLE_SERIAL:BOOL=ON
extends:
- .crusher-common
- .setup-common
- .kokkos-hip-common
before_script:
- *setup_env_ecpci
- *install_ccache
- .gitlab/config/kokkos.sh "$CI_PROJECT_DIR/deps" "$KOKKOS_VER" $KOKKOS_OPTS
build:crusher-kokkos-hip:
extends:
- .crusher-common
- .build-common
- .kokkos-hip-common
before_script:
- *setup_env_ecpci
needs:
- setup:crusher-kokkos-hip
dependencies:
- setup:crusher-kokkos-hip
.cray-common:
variables:
# Order matters
JOB_MODULES: >-
PrgEnv-cray
cmake
git
ninja
libffi
zstd
DefApps
extends:
- .crusher-common
setup:crusher-cray:
extends:
- .setup-common
- .cray-common
build:crusher-cray:
extends:
- .build-common
- .cray-common
needs:
- setup:crusher-cray
dependencies:
- setup:crusher-cray
.report-status:
rules:
- if: $CI_PIPELINE_SOURCE =~ /parent_pipeline|web/
tags: [ shell ]
variables:
STATUS_PROJECT: ornladios/ADIOS2
STATUS_NAME: OLCF Crusher (Frontier)
before_script: |
git fetch
source scripts/ci/gitlab-ci/setup-vars.sh
git checkout "$CI_COMMIT_REF"
script: >
curl -X POST -H @${GITHUB_CURL_HEADERS}
"https://api.github.com/repos/${STATUS_PROJECT}/statuses/${CI_ORIGINAL_SHA}"
-d "{\"state\":\"${CI_JOB_NAME}\", \"context\":\"${STATUS_NAME}\",\"target_url\":\"${CI_PIPELINE_URL}\",\"description\":\"${STATUS_DESC}\"}"
environment:
name: report-$DOWNSTREAM_COMMIT_SHA
pending:
stage: pre
variables:
STATUS_DESC: Pipeline is running
extends:
- .report-status
success:
stage: post
variables:
STATUS_DESC: Pipeline succeeded
extends:
- .report-status
dependencies:
- build:crusher-kokkos-hip
- build:crusher-cray
failure:
stage: post
rules:
- if: $CI_PIPELINE_SOURCE =~ /parent_pipeline|web/
when: on_failure
variables:
STATUS_DESC: Pipeline failed
extends:
- .report-status
dependencies:
- build:crusher-kokkos-hip
- build:crusher-cray
generate_pipelines:
stage: setup
tags: [ shell ]
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
variables:
CUSTOM_CI_BUILDS_DIR: "/lustre/orion/csc303/scratch/vbolea/ci/adios2/runtime"
script:
- .gitlab/config/generate_pipelines.py -u "https://code.olcf.ornl.gov/" -p 78 -n ornladios/ADIOS2 -f .gitlab/config/dynamic_pipeline.yml.in > generated_pipelines.yml
artifacts:
paths:
- generated_pipelines.yml
launch_pipelines:
stage: build
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
variables:
CUSTOM_CI_BUILDS_DIR: "/lustre/orion/csc303/scratch/vbolea/ci/adios2/runtime"
trigger:
include:
- artifact: generated_pipelines.yml
job: generate_pipelines
================================================
FILE: 3rd_party/adios/.shellcheck_exclude_paths
================================================
scripts/ci/scripts/github-prs-to-gitlab.sh
scripts/ci/scripts/run-clang-format.sh
scripts/ci/scripts/run-flake8.sh
scripts/developer/git/setup-aliases
scripts/developer/git/setup-hooks
scripts/developer/git/setup-remotes
scripts/developer/merge-pr-from-release.sh
scripts/developer/setup.sh
scripts/docker/setup-user.sh
scripts/runconf/runconf.sh
scripts/runconf/runconf_olcf.sh
================================================
FILE: 3rd_party/adios/CMakeLists.txt
================================================
#------------------------------------------------------------------------------#
# Distributed under the OSI-approved Apache License, Version 2.0. See
# accompanying file Copyright.txt for details.
#------------------------------------------------------------------------------#
cmake_minimum_required(VERSION 3.14)
# Fail immediately if not using an out-of-source build
if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
message(FATAL_ERROR
"In-source builds are not supported. Please create a build directory "
"separate from the source directory")
endif()
include(${CMAKE_CURRENT_LIST_DIR}/cmake/ADIOSFunctions.cmake)
setup_version(2.10.1)
project(ADIOS2 VERSION ${ADIOS2_VERSION})
#------------------------------------------------------------------------------#
# Some boilerplate to setup nice output directories
#------------------------------------------------------------------------------#
include(GNUInstallDirs)
if (ADIOS2_USE_PIP)
# Only UNIX is supported currently
if (UNIX)
# Linux bundles what libraries we have when they're put beside the modules.
set(CMAKE_INSTALL_LIBDIR "adios2")
set(CMAKE_INSTALL_INCLUDEDIR "adios2/include")
# ELF loader settings.
set(CMAKE_BUILD_WITH_INSTALL_RPATH ON)
list(APPEND CMAKE_INSTALL_RPATH "$ORIGIN")
endif ()
endif ()
set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/adios2
CACHE STRING "Installation CMake subdirectory")
mark_as_advanced(CMAKE_INSTALL_CMAKEDIR)
list(INSERT CMAKE_MODULE_PATH 0 "${PROJECT_SOURCE_DIR}/cmake")
if(NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY
${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
endif()
if(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY
${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
endif()
if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
endif()
# Let windows builds auto-export dll symbols
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
#------------------------------------------------------------------------------#
# Silence MSVC warnings
#------------------------------------------------------------------------------#
if(MSVC)
add_definitions(
-D_CRT_SECURE_NO_DEPRECATE
-D_CRT_SECURE_NO_WARNINGS
-D_SCL_SECURE_NO_DEPRECATE
-D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
)
endif()
function(append_str_list_once var x)
foreach(item IN ITEMS ${${var}})
if(item STREQUAL x)
return()
endif()
endforeach()
set(out ${${var}} ${x})
string(REPLACE ";" " " out "${out}")
set(${var} "${out}" PARENT_SCOPE)
endfunction()
if(NOT MSVC)
set(CMAKE_C_COMPILER_FLAGS_DEBUG "${CMAKE_C_COMPILER_FLAGS_DEBUG}"
CACHE STRING "" FORCE
)
set(CMAKE_CXX_COMPILER_FLAGS_DEBUG "${CMAKE_CXX_COMPILER_FLAGS_DEBUG}"
CACHE STRING "" FORCE
)
endif()
#------------------------------------------------------------------------------#
# Deal with any pre-installation cleanup tasks
#------------------------------------------------------------------------------#
add_subdirectory(cmake/install/pre)
#------------------------------------------------------------------------------#
# Top level options
#------------------------------------------------------------------------------#
# Default to a debug build if not specified
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build." FORCE)
endif()
# Force C++11 (No extensions) and C99
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(CMAKE_CXX_EXTENSIONS OFF)
if(NOT MSVC)
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED True)
endif()
# Option for packagers to add a suffix after "adios" in library names (to
# install multiple builds in parallel)
set(ADIOS2_LIBRARY_SUFFIX "" CACHE STRING
"Suffix to put after \"adios\" in library names")
set(ADIOS2_EXECUTABLE_SUFFIX "${ADIOS2_LIBRARY_SUFFIX}" CACHE STRING
"Suffix to append to executable names")
mark_as_advanced(ADIOS2_LIBRARY_SUFFIX ADIOS2_EXECUTABLE_SUFFIX)
# Use meta-compile features if available, otherwise use specific language
# features
if(CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|Intel|Clang|AppleClang|MSVC)$")
set(ADIOS2_CXX11_FEATURES cxx_auto_type cxx_nullptr)
else()
set(ADIOS2_CXX11_FEATURES cxx_std_11)
endif()
if(CMAKE_C_COMPILER_ID MATCHES "^(GNU|Intel|Clang|AppleClang|MSVC)$")
set(ADIOS2_C99_FEATURES c_restrict)
else()
set(ADIOS2_C99_FEATURES c_std_99)
endif()
include(CMakeDependentOption)
# Setup shared library defaults. If explicitly specified somehow, then default
# to that. Otherwise base the default on whether or not shared libs are even
# supported.
get_property(SHARED_LIBS_SUPPORTED GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS)
cmake_dependent_option(BUILD_SHARED_LIBS
"Build shared libraries (so/dylib/dll)." ${SHARED_LIBS_SUPPORTED}
"SHARED_LIBS_SUPPORTED" OFF
)
mark_as_advanced(BUILD_SHARED_LIBS)
if((NOT BUILD_SHARED_LIBS) AND (NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE))
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
# Ctest creates BUILD_TESTING option and sets it to true by default
# Here we disable BUILD_TESTING option by default
option(BUILD_TESTING "Build testing" OFF)
include(CTest)
mark_as_advanced(CLEAR BUILD_TESTING)
adios_option(Blosc2 "Enable support for c-blosc-2 transforms" AUTO)
adios_option(BZip2 "Enable support for BZip2 transforms" AUTO)
adios_option(ZFP "Enable support for ZFP transforms" AUTO)
adios_option(SZ "Enable support for SZ transforms" AUTO)
adios_option(LIBPRESSIO "Enable support for LIBPRESSIO transforms" AUTO)
adios_option(MGARD "Enable support for MGARD transforms" AUTO)
adios_option(PNG "Enable support for PNG transforms" AUTO)
adios_option(CUDA "Enable support for Cuda" OFF)
adios_option(Kokkos "Enable support for Kokkos" OFF)
adios_option(MPI "Enable support for MPI" AUTO)
adios_option(DAOS "Enable support for DAOS" AUTO)
adios_option(DataMan "Enable support for DataMan" AUTO)
adios_option(DataSpaces "Enable support for DATASPACES" AUTO)
adios_option(MHS "Enable support for MHS" AUTO)
adios_option(SST "Enable support for SST" AUTO)
adios_option(ZeroMQ "Enable support for ZeroMQ" AUTO)
adios_option(HDF5 "Enable support for the HDF5 engine" AUTO)
adios_option(HDF5_VOL "Enable support for HDF5 ADIOS2 VOL" AUTO)
adios_option(IME "Enable support for DDN IME transport" AUTO)
adios_option(Python "Enable support for Python bindings" AUTO)
adios_option(Fortran "Enable support for Fortran bindings" AUTO)
adios_option(SysVShMem "Enable support for SysV Shared Memory IPC on *NIX" AUTO)
adios_option(UCX "Enable support for UCX DataPlane in SST" AUTO)
adios_option(Profiling "Enable support for profiling" AUTO)
adios_option(Endian_Reverse "Enable support for Little/Big Endian Interoperability" AUTO)
adios_option(Sodium "Enable support for Sodium for encryption" AUTO)
adios_option(Catalyst "Enable support for in situ visualization plugin using ParaView Catalyst" AUTO)
adios_option(Campaign "Enable support for Campaigns (requires SQLite3 and ZLIB)" AUTO)
adios_option(AWSSDK "Enable support for S3 compatible storage using AWS SDK's S3 module" OFF)
adios_option(Derived_Variable "Enable support for derived variables" OFF)
adios_option(PIP "Enable support for pip packaging" OFF)
option(ADIOS2_Blosc2_PREFER_SHARED "Prefer shared Blosc2 libraries" ON)
mark_as_advanced(ADIOS2_Blosc2_PREFER_SHARED)
mark_as_advanced(ADIOS2_USE_PIP)
include(${PROJECT_SOURCE_DIR}/cmake/DetectOptions.cmake)
if(ADIOS2_HAVE_CUDA OR ADIOS2_HAVE_Kokkos_CUDA)
set(CMAKE_CUDA_STANDARD 11)
set(CMAKE_CUDA_STANDARD_REQUIRED TRUE)
if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
if(DEFINED Kokkos_CUDA_ARCHITECTURES)
set(CMAKE_CUDA_ARCHITECTURES ${Kokkos_CUDA_ARCHITECTURES})
else()
# Minimum common non-deprecated architecture
set(CMAKE_CUDA_ARCHITECTURES 52)
endif()
endif()
endif()
if(NOT DEFINED CMAKE_HIP_ARCHITECTURES AND DEFINED Kokkos_HIP_ARCHITECTURES)
set(CMAKE_HIP_ARCHITECTURES ${Kokkos_HIP_ARCHITECTURES})
endif()
if(ADIOS2_HAVE_MPI)
if(MPIEXEC_MAX_NUMPROCS LESS 4 AND "$ENV{OMPI_MCA_rmaps_base_oversubscribe}")
message(STATUS "OpenMPI oversubscribe detected: raising MPIEXEC_MAX_NUMPROCS to 4 for testing")
set(MPIEXEC_MAX_NUMPROCS 4 CACHE STRING "" FORCE)
endif()
# Workaround for MPI forcing the link of C++ bindings
add_definitions(-DOMPI_SKIP_MPICXX -DMPICH_SKIP_MPICXX)
endif()
#------------------------------------------------------------------------------#
# POSIX O_DIRECT is only working for Unix in adios for now
#------------------------------------------------------------------------------#
if(CYGWIN)
#-tb O_DIRECT messes up cygwin
set(ADIOS2_HAVE_O_DIRECT 0)
elseif(MSVC)
# Windows has other things but we are not using them
set(ADIOS2_HAVE_O_DIRECT 0)
elseif(APPLE)
# Mac has other things but we are not using them
set(ADIOS2_HAVE_O_DIRECT 0)
else()
message(STATUS "Checking for O_DIRECT")
include(CheckCXXSourceCompiles)
check_cxx_source_compiles("
#include <unistd.h>
#include <fcntl.h>
int main(int argc, char * argv[]) { argc = O_DIRECT; }
" O_DIRECT_WORKS)
if (O_DIRECT_WORKS)
set(ADIOS2_HAVE_O_DIRECT 1)
else()
set(ADIOS2_HAVE_O_DIRECT 0)
endif()
endif()
#if(NOT HAVE_O_DIRECT)
# message(WARNING " ----- The open() flag O_DIRECT is not available! ---- ")
#else()
# message(STATUS " ----- The open() flag O_DIRECT is available! ---- ")
#endif()
set(ADIOS2_CONFIG_OPTS
DataMan DataSpaces HDF5 HDF5_VOL MHS SST Fortran MPI Python PIP Blosc2 BZip2
LIBPRESSIO MGARD MGARD_MDR PNG SZ ZFP DAOS IME O_DIRECT Sodium Catalyst SysVShMem UCX
ZeroMQ Profiling Endian_Reverse Derived_Variable AWSSDK GPU_Support CUDA Kokkos
Kokkos_CUDA Kokkos_HIP Kokkos_SYCL Campaign
)
GenerateADIOSHeaderConfig(${ADIOS2_CONFIG_OPTS})
configure_file(
${PROJECT_SOURCE_DIR}/CTestCustom.cmake.in
${PROJECT_BINARY_DIR}/CTestCustom.cmake
@ONLY
)
install(FILES ${PROJECT_BINARY_DIR}/source/adios2/common/ADIOSConfig.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/adios2/common
COMPONENT adios2_core-development
)
#------------------------------------------------------------------------------#
# Some specialized shared library and RPATH handling
#------------------------------------------------------------------------------#
option(ADIOS2_RUN_INSTALL_TEST "Enable / disable the install test" TRUE)
mark_as_advanced(ADIOS2_RUN_INSTALL_TEST)
if(BUILD_SHARED_LIBS AND ADIOS2_RUN_INSTALL_TEST)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
string(REGEX REPLACE "[^/]+" ".." relative_base "${CMAKE_INSTALL_LIBDIR}")
if(APPLE)
# Various homebrew MPI fortran installations break rpath usage on OSX
if(APPLE AND ADIOS2_HAVE_Fortran AND ADIOS2_HAVE_MPI)
set(CMAKE_MACOSX_RPATH OFF)
if(NOT CMAKE_VERSION VERSION_LESS 3.17)
set(CMAKE_INSTALL_NAME_DIR
"$<INSTALL_PREFIX>/${CMAKE_INSTALL_LIBDIR}")
else()
set(CMAKE_INSTALL_NAME_DIR
"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
message(STATUS "Skipping install tests due to platform specific rpath oddities")
set(ADIOS2_RUN_INSTALL_TEST FALSE)
endif()
else()
list(APPEND CMAKE_INSTALL_RPATH "@loader_path/${relative_base}/${CMAKE_INSTALL_LIBDIR}")
endif()
elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
# Linux needs some specialized RPATH handling
list(APPEND CMAKE_INSTALL_RPATH "$ORIGIN/${relative_base}/${CMAKE_INSTALL_LIBDIR}")
endif()
endif()
if(MSVC AND BUILD_SHARED_LIBS AND ADIOS2_HAVE_HDF5)
# See note about building with visual studio and shared libs, here:
# https://github.com/HDFGroup/hdf5/blob/develop/release_docs/USING_HDF5_VS.txt
add_definitions(-DH5_BUILT_AS_DYNAMIC_LIB=1)
endif()
#------------------------------------------------------------------------------#
# Third party libraries
#------------------------------------------------------------------------------#
add_subdirectory(thirdparty)
#------------------------------------------------------------------------------#
# Main library source
#------------------------------------------------------------------------------#
add_subdirectory(source)
#------------------------------------------------------------------------------#
# Language bindings
#------------------------------------------------------------------------------#
add_subdirectory(bindings)
#------------------------------------------------------------------------------#
# Language Libraries
#------------------------------------------------------------------------------#
if(ADIOS2_HAVE_Python)
add_subdirectory(python)
endif()
#------------------------------------------------------------------------------#
# Plugins
#------------------------------------------------------------------------------#
add_subdirectory(plugins)
#------------------------------------------------------------------------------#
# Examples
#------------------------------------------------------------------------------#
option(ADIOS2_BUILD_EXAMPLES "Build examples" OFF)
if(ADIOS2_BUILD_EXAMPLES)
add_subdirectory(examples)
endif()
#------------------------------------------------------------------------------#
# Testing
#------------------------------------------------------------------------------#
cmake_dependent_option(ADIOS2_RUN_MPI_MPMD_TESTS
"Enable the parallel MPMD tests" ON
"BUILD_TESTING;ADIOS2_HAVE_MPI" OFF)
mark_as_advanced(ADIOS2_RUN_MPI_MPMD_TESTS)
if(BUILD_TESTING)
find_program(DIFF_EXECUTABLE diff)
if(DIFF_EXECUTABLE)
set(DIFF_COMMAND ${DIFF_EXECUTABLE})
elseif(GIT_COMMAND)
set(DIFF_COMMAND ${GIT_COMMAND} diff)
elseif(GITCOMMAND)
set(DIFF_COMMAND ${GITCOMMAND} diff)
endif()
if(NOT DIFF_COMMAND)
message(FATAL_ERROR "diff command is required for testing")
endif()
enable_testing()
add_subdirectory(testing)
endif()
#------------------------------------------------------------------------------#
# Generating package configs
#------------------------------------------------------------------------------#
add_subdirectory(cmake/install/packaging)
#------------------------------------------------------------------------------#
# Generating static adios-config
#------------------------------------------------------------------------------#
option(ADIOS2_INSTALL_GENERATE_CONFIG "Install a generated adios2-config shell script for non-cmake projects" ON)
mark_as_advanced(ADIOS2_INSTALL_GENERATE_CONFIG)
if(ADIOS2_INSTALL_GENERATE_CONFIG)
add_subdirectory(cmake/install/post)
endif()
#------------------------------------------------------------------------------#
# Configuration summary
#------------------------------------------------------------------------------#
message("")
message("ADIOS2 build configuration:")
message(" ADIOS Version: ${ADIOS2_VERSION}")
message(" C++ Compiler : ${CMAKE_CXX_COMPILER_ID} "
"${CMAKE_CXX_COMPILER_VERSION} "
"${CMAKE_CXX_COMPILER_WRAPPER}")
message(" ${CMAKE_CXX_COMPILER}")
message("")
if(ADIOS2_HAVE_CUDA)
message(" Cuda Compiler : ${CMAKE_CUDA_COMPILER} ")
message(" Cuda Architecture : ${CMAKE_CUDA_ARCHITECTURES} ")
endif()
if(ADIOS2_HAVE_Fortran)
message(" Fortran Compiler : ${CMAKE_Fortran_COMPILER_ID} "
"${CMAKE_Fortran_COMPILER_VERSION} "
"${CMAKE_Fortran_COMPILER_WRAPPER}")
message(" ${CMAKE_Fortran_COMPILER}")
message("")
endif()
message(" Installation prefix: ${CMAKE_INSTALL_PREFIX}")
message(" bin: ${CMAKE_INSTALL_BINDIR}")
message(" lib: ${CMAKE_INSTALL_LIBDIR}")
message(" include: ${CMAKE_INSTALL_INCLUDEDIR}")
message(" cmake: ${CMAKE_INSTALL_CMAKEDIR}")
if(DEFINED CMAKE_INSTALL_PYTHONDIR)
message(" python: ${CMAKE_INSTALL_PYTHONDIR}")
endif()
message("")
message(" Features:")
if(BUILD_SHARED_LIBS)
set(msg_lib_type "shared")
elseif(CMAKE_POSITION_INDEPENDENT_CODE)
set(msg_lib_type "static (with PIC)")
else()
set(msg_lib_type "static (without PIC)")
endif()
message(" Library Type: ${msg_lib_type}")
message(" Build Type: ${CMAKE_BUILD_TYPE}")
message(" Testing: ${BUILD_TESTING}")
message(" Examples: ${ADIOS2_BUILD_EXAMPLES}")
message(" Build Options:")
foreach(opt IN LISTS ADIOS2_CONFIG_OPTS)
message_pad(" ${opt}" 25 label)
if(${ADIOS2_HAVE_${opt}})
message("${label}: ON")
else()
message("${label}: OFF")
endif()
endforeach()
set (HPCDataPlaneList "")
if (ADIOS2_HAVE_SST)
if (ADIOS2_SST_HAVE_LIBFABRIC)
set (HPCDataPlaneList "${HPCDataPlaneList} fabric")
endif()
if (ADIOS2_SST_HAVE_UCX)
set (HPCDataPlaneList "${HPCDataPlaneList} UCX")
endif()
if (ADIOS2_SST_HAVE_MPI_DP)
set (HPCDataPlaneList "${HPCDataPlaneList} MPI")
endif()
endif()
if ({HPCDataPlaneList} STREQUAL "")
message(" Possible RDMA DataPlanes for SST: <none>")
else()
message(" Possible RDMA DataPlanes for SST: ${HPCDataPlaneList}")
endif()
================================================
FILE: 3rd_party/adios/CODEOWNERS
================================================
# Caitlin's stuff
plugins/ @caitlinross
# Vicente's stuff
*.bash @vicentebolea
*.cmake @vicentebolea
*.in @vicentebolea
*.json @vicentebolea
*.sh @vicentebolea
*.yaml @vicentebolea
*.yml @vicentebolea
cmake/ @vicentebolea
scripts/ @vicentebolea
python/ @vicentebolea
.github/ @vicentebolea
.circleci/ @vicentebolea
source/adios2/toolkit/sst/dp/mpi_dp.c @vicentebolea
# GPU-aware specific files
source/adios2/helper/kokkos/ @anagainaru
source/adios2/helper/adiosCUDA.* @anagainaru
source/adios2/helper/adiosGPUFunctions.h @anagainaru
================================================
FILE: 3rd_party/adios/CTestConfig.cmake
================================================
#------------------------------------------------------------------------------#
# Distributed under the OSI-approved Apache License, Version 2.0. See
# accompanying file Copyright.txt for details.
#------------------------------------------------------------------------------#
set(CTEST_PROJECT_NAME "ADIOS")
set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")
set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "open.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=ADIOS")
set(CTEST_DROP_SITE_CDASH TRUE)
set(MEMORYCHECK_SUPPRESSIONS_FILE ${CMAKE_SOURCE_DIR}/scripts/dashboard/nightly/valgrind-suppressions.txt)
# Ignore tests that are currently failing, remove tests here as they are fixed
list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE
)
================================================
FILE: 3rd_party/adios/CTestCustom.cmake.in
================================================
#------------------------------------------------------------------------------#
# Distributed under the OSI-approved Apache License, Version 2.0. See
# accompanying file Copyright.txt for details.
#------------------------------------------------------------------------------#
set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS 1000)
set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 1000)
list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
"H5PL\\.c.*dlopen.*glibc"
"gtest\\.cc.*getaddrinfo.*glibc"
".*/thirdparty/.*"
"warning: Using '.*' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking"
"PGC.*compilation completed with warnings"
"Warning: stand-alone `data16' prefix"
"Warning: Type mismatch between actual argument.*"
"Warning: Rank mismatch between actual argument.*"
"zfp/types.h.*typedef"
"was built for newer macOS version"
"warning generated"
"warnings generated"
"warning: template parameter ... is not used in declaring the parameter types of function template"
"warning: command-line option '.*' is valid for Fortran but not for C"
"Warning #20208-D: '.*' is treated as '.*' in device code"
"Warning: '.*' is treated as '.*' in device code"
".*was specified as both a system and non-system include directory.*"
"Wunused-command-line-argument"
)
list(APPEND CTEST_CUSTOM_COVERAGE_EXCLUDE
".*/thirdparty/.*"
".*/testing/.*"
".*/examples/.*"
)
if (@CMAKE_SYSTEM_PROCESSOR@ STREQUAL "ppc64le")
# Exclude flaky tests for now
list(APPEND CTEST_CUSTOM_TESTS_IGNORE
"Interface.ADIOSInterface.ADIOSNoMpi.Serial"
"Interface.ADIOS2_CXX11_API_MultiBlock/*.Put.Serial"
"Interface.ADIOS2_CXX11_API_IO.EngineDefault.Serial"
"Interface.ADIOS2_CXX11_API_IO.Engine.Serial"
)
endif()
================================================
FILE: 3rd_party/adios/Contributing.md
================================================
# Contributor's Guidelines to ADIOS 2
This guide will walk you through how to submit changes to ADIOS 2 and interact
with the project as a developer. Information found on ADIOS 2 wiki: https://github.com/ornladios/ADIOS2/wiki under the Contributing to ADIOS section.
Table of Contents
=================
* [Contributor's Guide](#contributors-guide)
* [Table of Contents](#table-of-contents)
* [Workflow](#workflow)
* [Setup](#setup)
* [Making a change and submitting a pull request](#making-a-change-and-submitting-a-pull-request)
* [Create the topic branch](#create-the-topic-branch)
* [Do I need to merge master into my branch first?](#do-i-need-to-merge-master-into-my-branch-first)
* [Submit a pull request](#submit-a-pull-request)
* [Template implementation separation](#template-implementation-separation)
* [Example](#example)
* [Before separation of public and private template implementation](#before-separation-of-public-and-private-template-implementation)
* [Foo.h](#fooh-containing-all-implementation)
* [After separation of public and private template implementation](#after-separation-of-public-and-private-template-implementation)
* [Foo.h](#fooh-containing-only-prototypes-and-explicit-instantiation-declarations)
* [Foo.inl](#fooinl-containing-template-implementations-that-always-need-to-be-included)
* [Foo.tcc](#footcc-containing-template-implementations-that-should-be-restricted-to-only-known-types)
* [Foo.cpp](#foocpp-containing-non-template-implementations-and-explicit-instantiations-definitions-for-known-types)
* [Code formatting and style](#code-formatting-and-style)
## Workflow
ADIOS uses the GitHub fork-and-branch model. In this, the project "lives" in it's main repository located at https://github.com/ornladios/adios2.git, while each individual developer has their own copy of the repo to work in. Changes are then submitted to the main repository via pull-requests made with branches from your fork.
## Setup
To setup your local repository for development:
1. Fork the main repository on GitHub:
1. Navigate to https://github.com/ornladios/adios2 in your browser.
1. Click the `[Fork]` button in the upper right-hand side of the page.
2. Clone the upstream repository to your local machine:
```
$ mkdir adios
$ cd adios
$ git clone https://github.com/ornladios/adios2.git source
Cloning into 'source'...
remote: Counting objects: 4632, done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 4632 (delta 33), reused 0 (delta 0), pack-reused 4549
Receiving objects: 100% (4632/4632), 1.23 MiB | 224.00 KiB/s, done.
Resolving deltas: 100% (2738/2738), done.
Checking connectivity... done.
$
```
3. Run the `scripts/development/setup.sh` script. The script will configure an `upstream` remote and link your local master branch to the upstream.
```
$ cd source/
$ ./scripts/developer/setup.sh
Enter your GitHub username: chuckatkins
Setup SSH push access? [(y)/n] y
Re-configuring local master branch to use upstream
Fetching origin
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), done.
From https://github.com/chuckatkins/adios2
Fetching upstream
From https://github.com/ornladios/adios2
* [new branch] master -> upstream/master
* [new branch] dashboard -> upstream/dashboard
* [new branch] hooks -> upstream/hooks
Setting up git aliases...
Setting up git hooks...
$
```
## Making a change and submitting a pull request
At this point you are ready to get to work. The first thing to do is to create a branch. ADIOS uses a "branchy" workflow where all changes are committed through self-contained "topic branches". This helps ensure a clean traceable git history and reduce conflicts.
### Create the topic branch
1. Make sure you are starting from a current master:
```
$ git checkout master
$ git pull
```
2. Create a branch for your change:
```
$ git checkout -b <your-topic-branch-name>
```
3. Make your changes and commits to the branch.
4. Push the branch to your fork:
```
$ git push -u origin HEAD
Counting objects: 189, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (134/134), done.
Writing objects: 100% (189/189), 70.30 KiB | 0 bytes/s, done.
Total 189 (delta 128), reused 102 (delta 44)
remote: Resolving deltas: 100% (128/128), completed with 82 local objects.
To git@github.com:<your-GitHub-username-here>/adios2.git
* [new branch] HEAD -> <your-topic-branch-name>
Branch <your-topic-branch-name> set up to track remote branch <your-topic-branch-name> from origin.
$
```
#### Do I need to merge master into my branch first?
Not usually. The only time to do that is to resolve conflicts. You're pull request will be automatically rejected if merge-conflicts exist, in which case you can then resolve them by either re-basing your branch the current master (preferable):
```
$ git fetch --all -p
...
$ git rebase upstream/master
$ git push -f
```
or if necessary or re-basing is not a viable option then you can always fall back to merging in master but it should be generally discouraged as it tends to make the git history difficult to follow:
```
$ git fetch --all -p
...
$ git merge upstream/master
$ git push -f
```
### Submit a pull request
1. Log in to your GitHub fork.
2. You should see a message at the top that informs you of your recently pushed branch, something like: `<your-topic-branch-name> (2 minutes ago)`. On the right side, select the `[Compare & pull request]` button.
3. Fill in the appropriate information for the name of the branch and a brief summary of the changes it contains.
* The default configuration will be for the topic branch to be merged into the upstream's master branch. You can change this if you want to submit to a different branch.
4. Click `[Create pull request]`.
You have now created a pull request (PR) that is pending several status checks before it can be merged. Currently, the only check being performed is for source code formatting and style. In the future, however, the will be a more in depth continuous integration system tied to the pull requests that tests for build and test failures every time a PR is submitted or updated. Once the status checks pass, the PR will be eligible for merging by one of the project maintainers.
## Template implementation separation
The ADIOS C++ classes try to explicitly separate class declarations from their implementation. Typically this is done by having a separate .h and .cpp file, however it get's more complicated when templates are involved. To maintain the distinct separation between definition and implementation, we use explicit instantiation with 4 different source file types:
* ClassName.h
* The main header file containing *only* the class and member declarations with no implementation. This also contains the declarations for explicitly instantiated members.
* ClassName.inl
* A file containing inline function implementations that need to be made public. This is to be included at the bottom of ClassName.h and should *only* contain implementations that need to be made public.
* ClassName.tcc
* A file containing most of the template implementations that can be hidden through explicit instantiation.
* ClassName.cpp
* A file containing the non-template implementations and the explicit instation of any template members.
### Example
Here is an example of a simple class `Foo` with template member functions `Bar1` and `Bar2`
#### Before separation of public and private template implementation
##### Foo.h containing all implementation
```cpp
#ifndef FOO_H_
#define FOO_H_
namespace adios
{
class Foo
{
public:
Foo()
: m_Bar1Calls(0), m_Bar2Calls(0), m_Bar3Calls(0);
{
}
virtual ~Foo() = default;
template<typename T>
void Bar1()
{
Bar1Helper<T>();
}
template<typename T>
void Bar2()
{
Bar2Helper<T>();
}
void Bar3()
{
Bar3Helper();
}
private:
template<typename T>
void Bar1Helper()
{
++m_Bar1Calls;
}
template<typename T>
void Bar2Helper()
{
++m_Bar2Calls;
}
void Bar3Helper()
{
++m_Bar3Calls;
}
size_t m_Bar1Calls;
size_t m_Bar2Calls;
size_t m_Bar3Calls;
};
} // end namespace adios
#endif // FOO_H_
```
#### After separation of public and private template implementation
In this example, we want to hide the template implementation from the header. We will implement this such that `Bar1` is only callable from the core numeric types, i.e. ints, floats, and complex, while `Bar2` is callable from all types. This will necessitate that `Bar1` and it's helper function is implemented in a .tcc file with explicit instantiation for the allowed types while `Bar2` and it's helper function will need to be inlined in the .inl file to be accessible for all types. We will also use a helper macro ADIOS provides to iterate over the core numeric types for the explicit instantiation of `Bar1`.
##### Foo.h containing only prototypes and explicit instantiation declarations
```cpp
#ifndef FOO_H_
#define FOO_H_
#include "ADIOSMacros.h"
namespace adios
{
class Foo
{
public:
Foo();
virtual ~Foo() = default;
template<typename T>
void Bar1();
template<typename T>
void Bar2();
void Bar3();
private:
template<typename T>
void Bar1Helper();
template<typename T>
void Bar2Helper();
void Bar3Helper;
size_t m_Bar1Calls;
size_t m_Bar2Calls;
size_t m_Bar3Calls;
};
// Create declarations for explicit instantiations
#define declare_explicit_instantiation(T) \
extern template void Foo::Bar1<T>();
ADIOS_FOREACH_STDTYPE_1ARG(declare_explicit_instantiation)
#undef(declare_explicit_instantiation)
} // end namespace adios
#include "Foo.inl"
#endif // FOO_H_
```
Note here that Bar1Helper does not need an explicit instantiation because it's not a visible funtion in the callable interface. It's implementaion will be available to Bar1 inside the tcc file where it's called from.
##### Foo.inl containing template implementations that always need to be included
```cpp
#ifndef FOO_INL_
#define FOO_INL_
#ifndef FOO_H_
#error "Inline file should only be included from it's header, never on it's own"
#endif
// No need to include Foo.h since it's where this is include from
namespace adios
{
template<typename T>
void Foo::Bar2()
{
Bar2Helper<T>();
}
template<typename T>
void Foo::Bar2Helper()
{
++m_Bar2Calls;
}
} // end namespace adios
#endif // FOO_INL_
```
##### Foo.tcc containing template implementations that should be restricted to only known types
```cpp
#ifndef FOO_TCC_
#define FOO_TCC_
#include "Foo.h"
namespace adios
{
template<typename T>
void Foo::Bar1()
{
Bar1Helper<T>();
}
template<typename T>
void Foo::Bar1Helper()
{
++m_Bar1Calls;
}
} // end namespace adios
#endif // FOO_TCC_
```
##### Foo.cpp containing non-template implementations and explicit instantiations definitions for known types.
```cpp
#include "Foo.h"
#include "Foo.tcc"
namespace adios
{
Foo::Foo()
: m_Bar1Calls(0), m_Bar2Calls(0), m_Bar3Calls(0)
{
}
void Foo::Bar3()
{
Bar3Helper();
}
void Foo::Bar3Helper()
{
++m_Bar3Calls;
}
// Create explicit instantiations of existing definitions
#define define_explicit_instantiation(T) \
template void Foo::Bar1<T>();
ADIOS_FOREACH_STDTYPE_1ARG(define_explicit_instantiation)
#undef(define_explicit_instantiation)
} // end namespace adios
```
## Code formatting and style using clang-format 7
ADIOS uses the [clang-format version 7](https://releases.llvm.org/7.0.0/tools/clang/docs/ClangFormat.html) tool to automatically enforce source code style and formatting rules. There are various ways to integrate the clang-format tool into your IDE / Code Editor depending on if you use Emacs, Vim, Eclipse, KDevelop, Microsoft Visual Studio, etc. that are a bit outside the scope of this document. A quick google search for "integrate <insert-editor-here> clang-format" should point you in the right direction. However, you can always reformat the code manually by running:
```
clang-format -i SourceFile.cpp SourceFile.h
```
That will apply the formatting rules used by the ADIOS project.
While some of the formatting rules are fairly detailed, the main points are:
1. Lines no longer than 80 characters.
1. Always use braces { and }, even for 1 line if blocks.
1. Use 4 spaces for indentation.
There are more formatting rules but these three should at least get you close and prevent any drastic re-writes from the re-formatting tools. More details can be found by looking at the `.clang-format` config file in the root of the repository and by looking at the [clang-format documentation](https://releases.llvm.org/7.0.0/tools/clang/docs/ClangFormat.html).
================================================
FILE: 3rd_party/adios/Copyright.txt
================================================
Copyright Oak Ridge National Laboratory and Contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
------------------------------------------------------------------------------
The following individuals and institutions are among the Contributors:
* Ana Gainaru <gainarua@ornl.gov>
* Caitlin Ross <caitlin.ross@kitware.com>
* Chuck Atkins <chuck.atkins@kitware.com>
* Greg Eisenhauer <eisen@cc.gatech.edu>
* Dmitry Ganyushin <ganyushindi@ornl.gov>
* Junmin Gu <jgu@lbl.gov>
* Norbert Podhorszki <pnorbert@ornl.gov>
* Ruonan (Jason) Wang <wangr1@ornl.gov>
* Scott Wittenburg <scott.wittenburg@kitware.com>
* Spiros Tsalikis <spiros.tsalikis@kitware.com>
* V. A. Bolea Sanchez <vicente.bolea@kitware.com>
* William F. Godoy <godoywf@ornl.gov>
See version control history for details of individual contributions.
------------------------------------------------------------------------------
The above copyright and license notice applies to distributions of
ADIOS in source and binary form. Third-party software packages supplied
with ADIOS under compatible licenses provide their own copyright notices
documented in corresponding subdirectories or source files.
================================================
FILE: 3rd_party/adios/LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2019 UT-BATTELLE, LLC
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: 3rd_party/adios/ReadMe.md
================================================
[](https://opensource.org/licenses/Apache-2.0)
[](https://adios2.readthedocs.io/en/latest/?badge=latest)
[]()
[](https://spack.readthedocs.io/en/latest/package_list.html#adios2)
[](https://anaconda.org/conda-forge/adios2)
[](https://badge.fury.io/py/adios2)
[](https://circleci.com/gh/ornladios/ADIOS2)
[](https://scan.coverity.com/projects/ornladios-adios2)
# ADIOS2 : The Adaptable Input Output System version 2
This is ADIOS2: The Adaptable Input/Output (I/O) System.
ADIOS2 is developed as part of the United States Department of Energy's Exascale Computing Project.
It is a framework for scientific data I/O to publish and subscribe to data when and where required.
ADIOS2 transports data as groups of self-describing variables and attributes across different media types (such as files, wide-area-networks, and remote direct memory access) using a common application programming interface for all transport modes.
ADIOS2 can be used on supercomputers, cloud systems, and personal computers.
ADIOS2 focuses on:
1. **Performance** I/O scalability in high performance computing (HPC) applications.
2. **Adaptability** unified interfaces to allow for several modes of transport (files, memory-to-memory)
3. **Ease of Use** two-level application programming interface (APIs)
* Full APIs for HPC applications: C++11, Fortran 90, C 99, Python 2 and 3
* Simplified High-Level APIs for data analysis: Python 2 and 3, C++11, Matlab
In addition, ADIOS2 APIs are based on:
* **MPI** Although ADIOS2 is MPI-based, it can also be used in non-MPI serial code.
* **Data Groups** ADIOS2 favors a deferred/prefetch/grouped variables transport mode by default to maximize data-per-request ratios.
Sync mode, one variable at a time, is treated as the special case.
* **Data Steps** ADIOS2 follows the actual production/consumption of data using an I/O “steps” abstraction removing the need to manage extra indexing information.
* **Data Engines** ADIOS2 Engine abstraction allows for reusing the APIs for different transport modes removing the need for drastic code changes.
## Documentation
Documentation is hosted at [readthedocs](https://adios2.readthedocs.io).
## Citing
If you find ADIOS2 useful, please cite our [SoftwareX paper](https://doi.org/10.1016/j.softx.2020.100561), which also gives a high-level overview to the motivation and goals of ADIOS; complementing the documentation.
## Getting ADIOS2
* From source: [Install ADIOS2 documentation](https://adios2.readthedocs.io/en/latest/setting_up/setting_up.html#).
For a `cmake` configuration example see [scripts/runconf/runconf.sh](https://github.com/ornladios/ADIOS2/blob/master/scripts/runconf/runconf.sh)
* Conda packages:
* [https://anaconda.org/conda-forge/adios2](https://anaconda.org/conda-forge/adios2)
* Spack: [adios2 package](https://spack.readthedocs.io/en/latest/package_list.html#adios2)
* Docker images: under [scripts/docker](https://github.com/ornladios/ADIOS2/tree/master/scripts/docker)
Once ADIOS2 is installed refer to:
* [Linking ADIOS2](https://adios2.readthedocs.io/en/latest/setting_up/setting_up.html#linking-adios-2)
## Releases
* Latest release: [v2.10.1](https://github.com/ornladios/ADIOS2/releases/tag/v2.10.1)
* Previous releases: [https://github.com/ornladios/ADIOS2/releases](https://github.com/ornladios/ADIOS2/releases)
## Community
ADIOS2 is an open source project: Questions, discussion, and contributions are welcome. Join us at:
- Mailing list: adios-ecp@kitware.com
- Github Discussions: https://github.com/ornladios/ADIOS2/discussions
## Reporting Bugs
If you find a bug, please open an [issue on ADIOS2 github repository](https://github.com/ornladios/ADIOS2/issues)
## Contributing
See the [Contributor's Guide to ADIOS 2](Contributing.md) for instructions on how to contribute.
## License
ADIOS2 is licensed under the Apache License v2.0.
See the accompanying [Copyright.txt](Copyright.txt) for more details.
## Directory layout
* bindings - public application programming interface, API, language bindings (C++11, C, Fortran, Python and Matlab)
* cmake - Project specific CMake modules
* examples - Simple set of examples in different languages
* scripts - Project maintenance and development scripts
* source - Internal source code for private components
* adios2 - source directory for the ADIOS2 library to be installed under install-dir/lib/libadios2.
* utils - source directory for the binary utilities, to be installed under install-dir/bin
* testing - Tests using [gtest](https://github.com/google/googletest)
================================================
FILE: 3rd_party/adios/bandit.yml
================================================
# tell codacy / bandit to accept assert in python
skips: ['B101']
================================================
FILE: 3rd_party/adios/bindings/C/CMakeLists.txt
================================================
#------------------------------------------------------------------------------#
# Distributed under the OSI-approved Apache License, Version 2.0. See
# accompanying file Copyright.txt for details.
#------------------------------------------------------------------------------#
add_library(adios2_c
adios2/c/adios2_c_adios.cpp
adios2/c/adios2_c_io.cpp
adios2/c/adios2_c_engine.cpp
adios2/c/adios2_c_variable.cpp
adios2/c/adios2_c_attribute.cpp
adios2/c/adios2_c_operator.cpp
)
set_property(TARGET adios2_c PROPERTY EXPORT_NAME c)
set_property(TARGET adios2_c PROPERTY OUTPUT_NAME adios2${ADIOS2_LIBRARY_SUFFIX}_c)
target_link_libraries(adios2_c PRIVATE adios2_core)
target_include_directories(adios2_c
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
INTERFACE
$<BUILD_INTERFACE:$<TARGET_PROPERTY:adios2_core,INTERFACE_INCLUDE_DIRECTORIES>>
)
add_library(adios2::c ALIAS adios2_c)
if(ADIOS2_HAVE_MPI)
add_library(adios2_c_mpi
adios2/c/adios2_c_adios_mpi.cpp
adios2/c/adios2_c_io_mpi.cpp
)
set_property(TARGET adios2_c_mpi PROPERTY EXPORT_NAME c_mpi)
set_property(TARGET adios2_c_mpi PROPERTY OUTPUT_NAME adios2${ADIOS2_LIBRARY_SUFFIX}_c_mpi)
target_link_libraries(adios2_c_mpi PUBLIC adios2_c PRIVATE adios2_core_mpi PUBLIC MPI::MPI_C)
target_compile_definitions(adios2_c_mpi INTERFACE ADIOS2_USE_MPI)
add_library(adios2::c_mpi ALIAS adios2_c_mpi)
set(maybe_adios2_c_mpi adios2_c_mpi)
else()
set(maybe_adios2_c_mpi)
endif()
# Set library version information
set_target_properties(
adios2_c ${maybe_adios2_c_mpi}
PROPERTIES
VERSION ${ADIOS2_LIBRARY_VERSION}
SOVERSION ${ADIOS2_LIBRARY_SOVERSION}
)
install(TARGETS adios2_c ${maybe_adios2_c_mpi} EXPORT adios2CExports
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT adios2_c-runtime
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT adios2_c-libraries NAMELINK_COMPONENT adios2_c-development
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT adios2_c-development
)
install(
FILES adios2_c.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
COMPONENT adios2_c-development
)
install(
FILES adios2/c/adios2_c_types.h
adios2/c/adios2_c_adios.h
adios2/c/adios2_c_io.h
adios2/c/adios2_c_variable.h
adios2/c/adios2_c_attribute.h
adios2/c/adios2_c_engine.h
adios2/c/adios2_c_operator.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/adios2/c
COMPONENT adios2_c-development
)
export(EXPORT adios2CExports
FILE ${ADIOS2_BINARY_DIR}/adios2-c-targets.cmake
NAMESPACE adios2::
)
install(EXPORT adios2CExports
FILE adios2-c-targets.cmake
NAMESPACE adios2::
DESTINATION ${CMAKE_INSTALL_CMAKEDIR}
COMPONENT adios2_c-development
)
================================================
FILE: 3rd_party/adios/bindings/C/adios2/c/adios2_c_adios.cpp
================================================
/*
* Distributed under the OSI-approved Apache License, Version 2.0. See
* accompanying file Copyright.txt for details.
*
* adios2_c_adios.cpp
*
* Created on: Nov 8, 2017
* Author: William F Godoy godoywf@ornl.gov
*/
#include "adios2_c_adios.h"
#include "adios2/core/ADIOS.h"
#include "adios2/helper/adiosFunctions.h"
#ifdef __cplusplus
extern "C" {
#endif
adios2::ArrayOrdering adios2_ToArrayOrdering(const adios2_arrayordering Corder)
{
adios2::ArrayOrdering order = adios2::ArrayOrdering::Auto;
switch (Corder)
{
case adios2_arrayordering_rowmajor:
order = adios2::ArrayOrdering::RowMajor;
break;
case adios2_arrayordering_columnmajor:
order = adios2::ArrayOrdering::ColumnMajor;
break;
case adios2_arrayordering_auto:
order = adios2::ArrayOrdering::Auto;
break;
default:
break;
}
return order;
}
adios2_adios *adios2_init_config_glue_serial(const char *config_file, const char *host_language)
{
adios2_adios *adios = nullptr;
try
{
adios2::helper::CheckForNullptr(
config_file, "for config_file, in call to adios2_init or adios2_init_config");
adios =
reinterpret_cast<adios2_adios *>(new adios2::core::ADIOS(config_file, host_language));
}
catch (...)
{
adios2::helper::ExceptionToError("adios2_init or adios2_init_config");
}
return adios;
}
adios2_adios *adios2_init_serial() { return adios2_init_config_glue_serial("", "C"); }
adios2_adios *adios2_init_config_serial(const char *config_file)
{
return adios2_init_config_glue_serial(config_file, "C");
}
adios2_io *adios2_declare_io(adios2_adios *adios, const char *name)
{
adios2_io *io = nullptr;
try
{
adios2::helper::CheckForNullptr(adios, "for adios2_adios, in call to adios2_declare_io");
io = reinterpret_cast<adios2_io *>(
&reinterpret_cast<adios2::core::ADIOS *>(adios)->DeclareIO(name));
}
catch (...)
{
adios2::helper::ExceptionToError("adios2_declare_io");
}
return io;
}
adios2_io *adios2_declare_io_order(adios2_adios *adios, const char *name,
adios2_arrayordering order)
{
adios2_io *io = nullptr;
try
{
adios2::helper::CheckForNullptr(adios, "for adios2_adios, in call to adios2_declare_io");
io = reinterpret_cast<adios2_io *>(
&reinterpret_cast<adios2::core::ADIOS *>(adios)->DeclareIO(
name, adios2_ToArrayOrdering(order)));
}
catch (...)
{
adios2::helper::ExceptionToError("adios2_declare_io");
}
return io;
}
adios2_io *adios2_at_io(adios2_adios *adios, const char *name)
{
adios2_io *io = nullptr;
try
{
adios2::helper::CheckForNullptr(adios, "for adios2_adios, in call to adios2_at_io");
io = reinterpret_cast<adios2_io *>(
&reinterpret_cast<adios2::core::ADIOS *>(adios)->AtIO(name));
}
catch (...)
{
adios2::helper::ExceptionToError("adios2_at_io");
}
return io;
}
adios2_operator *adios2_define_operator(adios2_adios *adios, const char *name, const char *type)
{
adios2_operator *op = nullptr;
try
{
adios2::helper::CheckForNullptr(adios,
"for adios2_adios, in call to adios2_define_operator");
op = reinterpret_cast<adios2_operator *>(
&reinterpret_cast<adios2::core::ADIOS *>(adios)->DefineOperator(name, type));
}
catch (...)
{
adios2::helper::ExceptionToError("adios2_define_operator");
}
return op;
}
adios2_operator *adios2_inquire_operator(adios2_adios *adios, const char *name)
{
adios2_operator *op = nullptr;
try
{
adios2::helper::CheckForNullptr(adios,
"for adios2_adios, in call to adios2_inquire_operator");
op = reinterpret_cast<adios2_operator *>(
reinterpret_cast<adios2::core::ADIOS *>(adios)->InquireOperator(name));
}
catch (...)
{
adios2::helper::ExceptionToError("adios2_inquire_operator");
}
return op;
}
adios2_error adios2_flush_all(adios2_adios *adios)
{
try
{
adios2::helper::CheckForNullptr(adios, "for adios2_adios, in call to adios2_flush_all");
reinterpret_cast<adios2::core::ADIOS *>(adios)->FlushAll();
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_flush_all"));
}
}
adios2_error adios2_remove_io(adios2_bool *result, adios2_adios *adios, const char *name)
{
try
{
adios2::helper::CheckForNullptr(adios, "for adios2_adios, in call to adios2_remove_io");
const bool resultCpp = reinterpret_cast<adios2::core::ADIOS *>(adios)->RemoveIO(name);
*result = resultCpp ? adios2_true : adios2_false;
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_remove_io"));
}
}
adios2_error adios2_remove_all_ios(adios2_adios *adios)
{
try
{
adios2::helper::CheckForNullptr(adios,
"for adios2_adios, in call to adios2_remove_all_ios");
reinterpret_cast<adios2::core::ADIOS *>(adios)->RemoveAllIOs();
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_remove_all_ios"));
}
}
adios2_error adios2_finalize(adios2_adios *adios)
{
try
{
adios2::helper::CheckForNullptr(adios, "for adios2_adios, in call to adios2_finalize");
delete reinterpret_cast<adios2::core::ADIOS *>(adios);
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_finalize"));
}
}
/** Inform ADIOS about entering communication-free computation block
* in main thread. Useful when using Async IO */
adios2_error adios2_enter_computation_block(adios2_adios *adios)
{
try
{
adios2::helper::CheckForNullptr(
adios, "for adios2_adios, in call to adios2_enter_computation_block");
reinterpret_cast<adios2::core::ADIOS *>(adios)->EnterComputationBlock();
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(
adios2::helper::ExceptionToError("adios2_enter_computation_block"));
}
}
/** Inform ADIOS about exiting communication-free computation block
* in main thread. Useful when using Async IO */
adios2_error adios2_exit_computation_block(adios2_adios *adios)
{
try
{
adios2::helper::CheckForNullptr(
adios, "for adios2_adios, in call to adios2_exit_computation_block");
reinterpret_cast<adios2::core::ADIOS *>(adios)->ExitComputationBlock();
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(
adios2::helper::ExceptionToError("adios2_exit_computation_block"));
}
}
#ifdef __cplusplus
}
// end extern C
#endif
================================================
FILE: 3rd_party/adios/bindings/C/adios2/c/adios2_c_adios.h
================================================
/*
* Distributed under the OSI-approved Apache License, Version 2.0. See
* accompanying file Copyright.txt for details.
*
* adios2_c_adios.h
*
* Created on: Nov 8, 2017
* Author: William F Godoy godoywf@ornl.gov
*/
#ifndef ADIOS2_BINDINGS_C_C_ADIOS2_C_ADIOS_H_
#define ADIOS2_BINDINGS_C_C_ADIOS2_C_ADIOS_H_
#include "adios2_c_types.h"
#if ADIOS2_USE_MPI
#include <mpi.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if ADIOS2_USE_MPI
#define adios2_init(comm) adios2_init_mpi(comm)
#define adios2_init_config(config_file, comm) adios2_init_config_mpi(config_file, comm)
/**
* Starting point for MPI apps. Creates an ADIOS handler.
* MPI collective and it calls MPI_Comm_dup
* @param comm defines domain scope from application
* @return success: handler, failure: NULL
*/
adios2_adios *adios2_init_mpi(MPI_Comm comm);
/**
* Starting point for MPI apps. Creates an ADIOS handler allowing a runtime
* config file.
* MPI collective and it calls MPI_Comm_dup and MPI_Bcast to pass the
* configFile contents
* @param config_file runtime configuration file in xml format
* @param comm defines domain scope from application
* @return success: handler, failure: NULL
*/
adios2_adios *adios2_init_config_mpi(const char *config_file, MPI_Comm comm);
#else
#define adios2_init() adios2_init_serial()
#define adios2_init_config(config_file) adios2_init_config_serial(config_file)
#endif
/**
* Initialize an ADIOS struct pointer handler in a serial, non-MPI application.
* Doesn't require a runtime config file.
* @return success: handler, failure: NULL
*/
adios2_adios *adios2_init_serial(void);
/**
* Initialize an ADIOS struct pointer handler in a serial, non-MPI application.
* Doesn't require a runtime config file.
* @return success: handler, failure: NULL
*/
adios2_adios *adios2_init_config_serial(const char *config_file);
/**
* Declares a new io handler
* @param adios owner the io handler
* @param name unique io identifier within current adios handler
* @return success: handler, failure: NULL
*/
adios2_io *adios2_declare_io(adios2_adios *adios, const char *name);
/**
* Declares a new io handler with specific array ordering
* @param adios owner the io handler
* @param name unique io identifier within current adios handler
* @param order array ordering
* @return success: handler, failure: NULL
*/
adios2_io *adios2_declare_io_order(adios2_adios *adios, const char *name,
adios2_arrayordering order);
/**
* Retrieves a previously declared io handler by name
* @param adios owner the io handler
* @param name unique name for the previously declared io handler
* @return success: handler, failure: NULL
*/
adios2_io *adios2_at_io(adios2_adios *adios, const char *name);
/**
* Defines an adios2 supported operator by its type.
* @param adios owner the op handler
* @param name unique operator name identifier within current ADIOS object
* @param type supported ADIOS2 operator type: zfp, sz
* @return success: handler, failure: NULL
*/
adios2_operator *adios2_define_operator(adios2_adios *adios, const char *name, const char *type);
/**
* Retrieves a previously defined operator handler
* @param adios owner the op handler
* @param name unique name for the previously defined op handler
* @return success: handler, failure: NULL
*/
adios2_operator *adios2_inquire_operator(adios2_adios *adios, const char *name);
/**
* Flushes all adios2_engine in write mode in all adios2_io handlers.
* If no adios2_io or adios2_engine exists it does nothing.
* @param adios owner of all io and engines to be flushed
* @return adios2_error 0: success, see enum adios2_error for errors
*/
adios2_error adios2_flush_all(adios2_adios *adios);
/**
* Final point for adios handler. Deallocates adios pointer. Required to avoid
* memory leaks.
* MPI collective and it calls MPI_Comm_free
* @param adios handler to be deallocated, must be initialized with
* adios2_init or adios2_init_config
* @return adios2_error 0: success, see enum adios2_error for errors
*/
adios2_error adios2_finalize(adios2_adios *adios);
/**
* DANGER ZONE: removes an io created with adios2_declare_io.
* Will create dangling pointers for all the handlers inside removed io.
* NOTE: Use result, not adios2_error to check if the IO was removed.
* @param result output adios2_true: io not found and not removed, adios2_false:
* io not found and not removed
* @param adios owner of io to be removed
* @param name input unique identifier for io to be removed
* @return adios2_error 0: success, see enum adios2_error for errors
*/
adios2_error adios2_remove_io(adios2_bool *result, adios2_adios *adios, const char *name);
/**
* DANGER ZONE: removes all ios created with adios2_declare_io.
* Will create dangling pointers for all the handlers inside all removed io.
* @param adios owner of all ios to be removed
* @return adios2_error 0: success, see enum adios2_error for errors
*/
adios2_error adios2_remove_all_ios(adios2_adios *adios);
/** Inform ADIOS about entering communication-free computation block
* in main thread. Useful when using Async IO */
adios2_error adios2_enter_computation_block(adios2_adios *adios);
/** Inform ADIOS about exiting communication-free computation block
* in main thread. Useful when using Async IO */
adios2_error adios2_exit_computation_block(adios2_adios *adios);
#ifdef __cplusplus
} // end extern C
#endif
#endif /* ADIOS2_BINDINGS_C_C_ADIOS2_C_ADIOS_H_ */
================================================
FILE: 3rd_party/adios/bindings/C/adios2/c/adios2_c_adios_mpi.cpp
================================================
/*
* Distributed under the OSI-approved Apache License, Version 2.0. See
* accompanying file Copyright.txt for details.
*
* adios2_c_adios_mpi.cpp : MPI-specific C bindings
*/
#include "adios2_c_adios.h"
#include "adios2/core/ADIOS.h"
#include "adios2/helper/adiosFunctions.h"
#include "adios2/helper/adiosCommMPI.h"
extern "C" {
// to be called from other languages, hidden from the public apis
adios2_adios *adios2_init_config_glue_mpi(const char *config_file, MPI_Comm comm,
const char *host_language)
{
adios2_adios *adios = nullptr;
try
{
adios2::helper::CheckForNullptr(
config_file, "for config_file, in call to adios2_init or adios2_init_config");
adios = reinterpret_cast<adios2_adios *>(
new adios2::core::ADIOS(config_file, adios2::helper::CommDupMPI(comm), host_language));
}
catch (...)
{
adios2::helper::ExceptionToError("adios2_init or adios2_init_config");
}
return adios;
}
adios2_adios *adios2_init_mpi(MPI_Comm comm) { return adios2_init_config_glue_mpi("", comm, "C"); }
adios2_adios *adios2_init_config_mpi(const char *config_file, MPI_Comm comm)
{
return adios2_init_config_glue_mpi(config_file, comm, "C");
}
} // end extern C
================================================
FILE: 3rd_party/adios/bindings/C/adios2/c/adios2_c_attribute.cpp
================================================
/*
* Distributed under the OSI-approved Apache License, Version 2.0. See
* accompanying file Copyright.txt for details.
*
* adios2_c_attribute.cpp :
*
* Created on: Jun 11, 2018
* Author: William F Godoy godoywf@ornl.gov
*/
#include "adios2_c_attribute.h"
#include "adios2/common/ADIOSMacros.h"
#include "adios2/core/AttributeBase.h"
#include "adios2/helper/adiosFunctions.h"
#include "adios2_c_internal.h"
#ifdef __cplusplus
extern "C" {
#endif
adios2_error adios2_attribute_name(char *name, size_t *size, const adios2_attribute *attribute)
{
try
{
adios2::helper::CheckForNullptr(attribute,
"for attribute, in call to adios2_attribute_name");
const adios2::core::AttributeBase *attributeBase =
reinterpret_cast<const adios2::core::AttributeBase *>(attribute);
return String2CAPI(attributeBase->m_Name, name, size);
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_attribute_name"));
}
}
adios2_error adios2_attribute_type(adios2_type *type, const adios2_attribute *attribute)
{
try
{
adios2::helper::CheckForNullptr(attribute, "in call to adios2_attribute_type");
const adios2::core::AttributeBase *attributeBase =
reinterpret_cast<const adios2::core::AttributeBase *>(attribute);
auto type_s = attributeBase->m_Type;
if (type_s == adios2::helper::GetDataType<std::string>())
{
*type = adios2_type_string;
}
#define make_case(T) \
else if (type_s == adios2::helper::GetDataType<MapAdios2Type<T>::Type>()) \
{ \
*type = T; \
}
ADIOS2_FOREACH_C_ATTRIBUTE_TYPE_1ARG(make_case)
#undef make_case
else
{
*type = adios2_type_unknown;
}
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_attribute_type"));
}
}
adios2_error adios2_attribute_type_string(char *type, size_t *size,
const adios2_attribute *attribute)
{
try
{
adios2::helper::CheckForNullptr(attribute, "for const adios2_attribute, in call to "
"adios2_attribute_type_string");
adios2::helper::CheckForNullptr(
size, "for size_t* length, in call to adios2_attribute_type_string");
const adios2::core::AttributeBase *attributeBase =
reinterpret_cast<const adios2::core::AttributeBase *>(attribute);
return String2CAPI(ToString(attributeBase->m_Type), type, size);
}
catch (...)
{
return static_cast<adios2_error>(
adios2::helper::ExceptionToError("adios2_attribute_type_string"));
}
}
adios2_error adios2_attribute_is_value(adios2_bool *result, const adios2_attribute *attribute)
{
try
{
adios2::helper::CheckForNullptr(attribute, "in call to adios2_attribute_is_value");
const adios2::core::AttributeBase *attributeBase =
reinterpret_cast<const adios2::core::AttributeBase *>(attribute);
*result = attributeBase->m_IsSingleValue ? adios2_true : adios2_false;
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(
adios2::helper::ExceptionToError("adios2_attribute_is_value"));
}
}
adios2_error adios2_attribute_size(size_t *size, const adios2_attribute *attribute)
{
try
{
adios2::helper::CheckForNullptr(attribute, "in call to adios2_attribute_size");
const adios2::core::AttributeBase *attributeBase =
reinterpret_cast<const adios2::core::AttributeBase *>(attribute);
*size = attributeBase->m_IsSingleValue ? 1 : attributeBase->m_Elements;
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_attribute_size"));
}
}
adios2_error adios2_attribute_data(void *data, size_t *size, const adios2_attribute *attribute)
{
try
{
adios2::helper::CheckForNullptr(attribute, "in call to adios2_attribute_data");
adios2::helper::CheckForNullptr(data, "for data, in call to adios2_attribute_data");
const adios2::core::AttributeBase *attributeBase =
reinterpret_cast<const adios2::core::AttributeBase *>(attribute);
const adios2::DataType type(attributeBase->m_Type);
if (type == adios2::DataType::None)
{
// not supported
}
else if (type == adios2::helper::GetDataType<std::string>())
{
const adios2::core::Attribute<std::string> *attributeCpp =
dynamic_cast<const adios2::core::Attribute<std::string> *>(attributeBase);
if (attributeCpp->m_IsSingleValue)
{
char *dataT = reinterpret_cast<char *>(data);
attributeCpp->m_DataSingleValue.copy(dataT, attributeCpp->m_DataSingleValue.size());
dataT[attributeCpp->m_DataSingleValue.size()] = '\0';
*size = 1;
}
else
{
*size = attributeCpp->m_Elements;
char **dataT = reinterpret_cast<char **>(data);
for (size_t e = 0; e < *size; ++e)
{
attributeCpp->m_DataArray[e].copy(dataT[e],
attributeCpp->m_DataArray[e].size());
dataT[e][attributeCpp->m_DataArray[e].size()] = '\0';
}
}
}
#define declare_template_instantiation(T) \
else if (type == adios2::helper::GetDataType<T>()) \
{ \
const adios2::core::Attribute<T> *attributeCpp = \
dynamic_cast<const adios2::core::Attribute<T> *>(attributeBase); \
T *dataT = reinterpret_cast<T *>(data); \
if (attributeCpp->m_IsSingleValue) \
{ \
*dataT = attributeCpp->m_DataSingleValue; \
*size = 1; \
} \
else \
{ \
std::copy(attributeCpp->m_DataArray.begin(), attributeCpp->m_DataArray.end(), dataT); \
*size = attributeCpp->m_Elements; \
} \
}
ADIOS2_FOREACH_ATTRIBUTE_PRIMITIVE_STDTYPE_1ARG(declare_template_instantiation)
#undef declare_template_instantiation
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_attribute_data"));
}
}
#ifdef __cplusplus
} // end extern C
#endif
================================================
FILE: 3rd_party/adios/bindings/C/adios2/c/adios2_c_attribute.h
================================================
/*
* Distributed under the OSI-approved Apache License, Version 2.0. See
* accompanying file Copyright.txt for details.
*
* adios2_c_attribute.h :
*
* Created on: Jun 11, 2018
* Author: William F Godoy godoywf@ornl.gov
*/
#ifndef ADIOS2_BINDINGS_C_C_ADIOS2_C_ATTRIBUTE_H_
#define ADIOS2_BINDINGS_C_C_ADIOS2_C_ATTRIBUTE_H_
#include "adios2_c_types.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* Retrieve attribute name
* For safe use, call this function first with NULL name parameter
* to get the size, then preallocate the buffer (with room for '\0'
* if desired), then call the function again with the buffer.
* Then '\0' terminate it if desired.
* @param name output, string without trailing '\0', NULL or preallocated buffer
* @param size output, name size without '\0'
* @param attribute handler
* @return adios2_error 0: success, see enum adios2_error for errors
*/
adios2_error adios2_attribute_name(char *name, size_t *size, const adios2_attribute *attribute);
/**
* Retrieve attribute type
* @param type
* @param attribute handler
* @return adios2_error 0: success, see enum adios2_error for errors
*/
adios2_error adios2_attribute_type(adios2_type *type, const adios2_attribute *attribute);
/**
* Retrieve attribute type in string form "char", "unsigned long", etc.
* For safe use, call this function first with NULL name parameter
* to get the size, then preallocate the buffer (with room for '\0'
* if desired), then call the function again with the buffer.
* Then '\0' terminate it if desired.
* @param type output, string without trailing '\0', NULL or preallocated buffer
* @param size output, type size without '\0'
* @param attribute handler
* @return adios2_error 0: success, see enum adios2_error for errors
*/
adios2_error adios2_attribute_type_string(char *type, size_t *size,
const adios2_attribute *attribute);
/**
* Checks if attribute is a single value or an array
* @param result output, adios2_true: single value, adios2_false: array
* @param attribute handler
* @return adios2_error 0: success, see enum adios2_error for errors
*/
adios2_error adios2_attribute_is_value(adios2_bool *result, const adios2_attribute *attribute);
/**
* Returns the number of elements (as in C++ STL size() function) if attribute
* is a 1D array. If single value returns 1
* @param size output, number of elements in attribute
* @param attribute handler
* @return adios2_error 0: success, see enum adios2_error for errors
*/
adios2_error adios2_attribute_size(size_t *size, const adios2_attribute *attribute);
/**
* Retrieve attribute data pointer (read-only)
* @param data output attribute values, must be pre-allocated
* @param size data size
* @param attribute handler
* @return adios2_error 0: success, see enum adios2_error for errors
*/
adios2_error adios2_attribute_data(void *data, size_t *size, const adios2_attribute *attribute);
#ifdef __cplusplus
} // end extern C
#endif
#endif /* ADIOS2_BINDINGS_C_C_ADIOS2_C_ATTRIBUTE_H_ */
================================================
FILE: 3rd_party/adios/bindings/C/adios2/c/adios2_c_engine.cpp
================================================
/*
* Distributed under the OSI-approved Apache License, Version 2.0. See
* accompanying file Copyright.txt for details.
*
* adios2_c_engine.cpp
*
* Created on: Nov 8, 2017
* Author: William F Godoy godoywf@ornl.gov
*/
#include "adios2_c_engine.h"
#include "adios2/core/Engine.h"
#include "adios2/helper/adiosFunctions.h" //GetDataType<T>
#include "adios2_c_internal.h"
namespace
{
adios2::Mode adios2_ToMode(const adios2_mode mode, const std::string &hint)
{
adios2::Mode modeCpp = adios2::Mode::Undefined;
switch (mode)
{
case adios2_mode_write:
modeCpp = adios2::Mode::Write;
break;
case adios2_mode_read:
modeCpp = adios2::Mode::Read;
break;
case adios2_mode_append:
modeCpp = adios2::Mode::Append;
break;
case adios2_mode_readRandomAccess:
modeCpp = adios2::Mode::ReadRandomAccess;
break;
case adios2_mode_deferred:
modeCpp = adios2::Mode::Deferred;
break;
case adios2_mode_sync:
modeCpp = adios2::Mode::Sync;
break;
default:
throw std::invalid_argument("ERROR: invalid adios2_mode, " + hint + "\n");
}
return modeCpp;
}
adios2_mode adios2_fromMode(const adios2::Mode mode, const std::string &hint)
{
adios2_mode modeC = adios2_mode_undefined;
switch (mode)
{
case adios2::Mode::Write:
modeC = adios2_mode_write;
break;
case adios2::Mode::Read:
modeC = adios2_mode_read;
break;
case adios2::Mode::Append:
modeC = adios2_mode_append;
break;
case adios2::Mode::ReadRandomAccess:
modeC = adios2_mode_readRandomAccess;
break;
case adios2::Mode::Deferred:
modeC = adios2_mode_deferred;
break;
case adios2::Mode::Sync:
modeC = adios2_mode_sync;
break;
default:
throw std::invalid_argument("ERROR: invalid adios2::Mode, " + hint + "\n");
}
return modeC;
}
adios2::StepMode ToStepMode(const adios2_step_mode mode, const std::string &hint)
{
adios2::StepMode stepModeCpp = adios2::StepMode::Read;
switch (mode)
{
case (adios2_step_mode_append):
stepModeCpp = adios2::StepMode::Append;
break;
case (adios2_step_mode_read):
stepModeCpp = adios2::StepMode::Read;
break;
case (adios2_step_mode_update):
stepModeCpp = adios2::StepMode::Update;
break;
default:
throw std::invalid_argument("ERROR: invalid adios2_step_mode, " + hint + "\n");
}
return stepModeCpp;
}
adios2_step_status ToStepStatus(const adios2::StepStatus statusCpp, const std::string &hint)
{
adios2_step_status status = adios2_step_status_other_error;
switch (statusCpp)
{
case (adios2::StepStatus::OK):
status = adios2_step_status_ok;
break;
case (adios2::StepStatus::EndOfStream):
status = adios2_step_status_end_of_stream;
break;
case (adios2::StepStatus::NotReady):
status = adios2_step_status_not_ready;
break;
case (adios2::StepStatus::OtherError):
status = adios2_step_status_other_error;
break;
default:
throw std::invalid_argument("ERROR: invalid adios2_step_status, " + hint + "\n");
}
return status;
}
} // end anonymous namespace
adios2_error adios2_engine_name(char *name, size_t *size, const adios2_engine *engine)
{
try
{
adios2::helper::CheckForNullptr(engine,
"for const adios2_engine, in call to adios2_engine_name");
const adios2::core::Engine *engineCpp =
reinterpret_cast<const adios2::core::Engine *>(engine);
adios2::helper::CheckForNullptr(size, "for size_t* size, in call to adios2_engine_name");
return String2CAPI(engineCpp->m_Name, name, size);
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_engine_name"));
}
}
adios2_error adios2_engine_get_type(char *type, size_t *size, const adios2_engine *engine)
{
try
{
adios2::helper::CheckForNullptr(
engine, "for const adios2_engine, in call to adios2_engine_get_type");
const adios2::core::Engine *engineCpp =
reinterpret_cast<const adios2::core::Engine *>(engine);
adios2::helper::CheckForNullptr(size,
"for size_t* size, in call to adios2_engine_get_type");
return String2CAPI(engineCpp->m_EngineType, type, size);
}
catch (...)
{
return static_cast<adios2_error>(
adios2::helper::ExceptionToError("adios2_engine_get_type"));
}
}
adios2_error adios2_engine_openmode(adios2_mode *mode, const adios2_engine *engine)
{
try
{
adios2::helper::CheckForNullptr(
engine, "for const adios2_engine, in call to adios2_engine_openmode");
const adios2::core::Engine *engineCpp =
reinterpret_cast<const adios2::core::Engine *>(engine);
auto m = engineCpp->OpenMode();
*mode = adios2_fromMode(m, "in adios2_engine_openmode()");
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(
adios2::helper::ExceptionToError("adios2_engine_openmode"));
}
}
adios2_error adios2_begin_step(adios2_engine *engine, const adios2_step_mode mode,
const float timeout_seconds, adios2_step_status *status)
{
try
{
adios2::helper::CheckForNullptr(engine, "for adios2_engine, in call to adios2_begin_step");
adios2::core::Engine *engineCpp = reinterpret_cast<adios2::core::Engine *>(engine);
const adios2::StepStatus statusCpp =
engineCpp->BeginStep(ToStepMode(mode, "in call to adios2_begin_step"), timeout_seconds);
*status = ToStepStatus(statusCpp, "in call to adios2_begin_step");
return adios2_error_none;
}
catch (...)
{
*status = adios2_step_status_other_error;
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_begin_step"));
}
}
adios2_error adios2_between_step_pairs(size_t *between_step_pairs, const adios2_engine *engine)
{
try
{
adios2::helper::CheckForNullptr(engine,
"for adios2_engine, in call to adios2_between_step_pairs");
const adios2::core::Engine *engineCpp =
reinterpret_cast<const adios2::core::Engine *>(engine);
*between_step_pairs = engineCpp->BetweenStepPairs();
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(
adios2::helper::ExceptionToError("adios2_between_step_pairs"));
}
}
adios2_error adios2_current_step(size_t *current_step, const adios2_engine *engine)
{
try
{
adios2::helper::CheckForNullptr(engine,
"for adios2_engine, in call to adios2_current_step");
const adios2::core::Engine *engineCpp =
reinterpret_cast<const adios2::core::Engine *>(engine);
*current_step = engineCpp->CurrentStep();
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_current_step"));
}
}
adios2_error adios2_steps(size_t *steps, const adios2_engine *engine)
{
try
{
adios2::helper::CheckForNullptr(engine, "for adios2_engine, in call to adios2_steps");
const adios2::core::Engine *engineCpp =
reinterpret_cast<const adios2::core::Engine *>(engine);
*steps = engineCpp->Steps();
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_steps"));
}
}
adios2_error adios2_put(adios2_engine *engine, adios2_variable *variable, const void *data,
const adios2_mode mode)
{
try
{
adios2::helper::CheckForNullptr(engine, "for adios2_engine, in call to adios2_put");
adios2::core::Engine *engineCpp = reinterpret_cast<adios2::core::Engine *>(engine);
adios2::helper::CheckForNullptr(variable, "for adios2_variable, in call to adios2_put");
adios2::core::VariableBase *variableBase =
reinterpret_cast<adios2::core::VariableBase *>(variable);
const adios2::DataType type(variableBase->m_Type);
const adios2::Mode modeCpp =
adios2_ToMode(mode, "only adios2_mode_deferred or adios2_mode_sync are valid, "
"in call to adios2_put");
if (type == adios2::DataType::Struct)
{
// not supported
}
else if (type == adios2::helper::GetDataType<std::string>())
{
const std::string dataStr(reinterpret_cast<const char *>(data));
engineCpp->Put(*dynamic_cast<adios2::core::Variable<std::string> *>(variableBase),
dataStr, modeCpp);
}
#define declare_template_instantiation(T) \
else if (type == adios2::helper::GetDataType<T>()) \
{ \
engineCpp->Put(*dynamic_cast<adios2::core::Variable<T> *>(variableBase), \
reinterpret_cast<const T *>(data), modeCpp); \
}
ADIOS2_FOREACH_PRIMITIVE_STDTYPE_1ARG(declare_template_instantiation)
#undef declare_template_instantiation
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_put"));
}
}
adios2_error adios2_put_by_name(adios2_engine *engine, const char *variable_name, const void *data,
const adios2_mode mode)
{
try
{
adios2::helper::CheckForNullptr(engine, "for adios2_engine, in call to adios2_put_by_name");
adios2::core::Engine *engineCpp = reinterpret_cast<adios2::core::Engine *>(engine);
adios2::helper::CheckForNullptr(
variable_name, "for const char* variable_name, in call to adios2_put_by_name");
const adios2::Mode modeCpp =
adios2_ToMode(mode, "only adios2_mode_deferred or adios2_mode_sync are valid, "
"in call to adios2_put_by_name");
const adios2::DataType type(engineCpp->m_IO.InquireVariableType(variable_name));
if (type == adios2::DataType::Struct)
{
// not supported
}
else if (type == adios2::helper::GetDataType<std::string>())
{
const std::string dataStr(reinterpret_cast<const char *>(data));
engineCpp->Put(variable_name, dataStr, modeCpp);
}
#define declare_template_instantiation(T) \
else if (type == adios2::helper::GetDataType<T>()) \
{ \
engineCpp->Put(variable_name, reinterpret_cast<const T *>(data), modeCpp); \
}
ADIOS2_FOREACH_PRIMITIVE_STDTYPE_1ARG(declare_template_instantiation)
#undef declare_template_instantiation
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_put_by_name"));
}
}
adios2_error adios2_perform_puts(adios2_engine *engine)
{
try
{
adios2::helper::CheckForNullptr(engine,
"for adios2_engine, in call to adios2_perform_puts");
adios2::core::Engine *engineCpp = reinterpret_cast<adios2::core::Engine *>(engine);
engineCpp->PerformPuts();
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_perform_puts"));
}
}
adios2_error adios2_perform_data_write(adios2_engine *engine)
{
try
{
adios2::helper::CheckForNullptr(engine,
"for adios2_engine, in call to adios2_perform_data_write");
adios2::core::Engine *engineCpp = reinterpret_cast<adios2::core::Engine *>(engine);
engineCpp->PerformDataWrite();
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(
adios2::helper::ExceptionToError("adios2_perform_data_write"));
}
}
adios2_error adios2_get(adios2_engine *engine, adios2_variable *variable, void *values,
const adios2_mode mode)
{
try
{
adios2::helper::CheckForNullptr(engine, "for adios2_engine, in call to adios2_get");
adios2::core::Engine *engineCpp = reinterpret_cast<adios2::core::Engine *>(engine);
adios2::helper::CheckForNullptr(variable, "for adios2_variable, in call "
"to adios2_get");
adios2::core::VariableBase *variableBase =
reinterpret_cast<adios2::core::VariableBase *>(variable);
const adios2::DataType type(variableBase->m_Type);
if (type == adios2::DataType::Struct)
{
// not supported
}
else if (type == adios2::helper::GetDataType<std::string>())
{
std::string dataStr;
engineCpp->Get(*dynamic_cast<adios2::core::Variable<std::string> *>(variableBase),
dataStr);
dataStr.copy(reinterpret_cast<char *>(values), dataStr.size());
}
#define declare_template_instantiation(T) \
else if (type == adios2::helper::GetDataType<T>()) \
{ \
const adios2::Mode modeCpp = \
adios2_ToMode(mode, "only adios2_mode_deferred or adios2_mode_sync are valid, " \
"in call to adios2_get"); \
engineCpp->Get(*dynamic_cast<adios2::core::Variable<T> *>(variableBase), \
reinterpret_cast<T *>(values), modeCpp); \
}
ADIOS2_FOREACH_PRIMITIVE_STDTYPE_1ARG(declare_template_instantiation)
#undef declare_template_instantiation
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_get"));
}
}
adios2_error adios2_get_by_name(adios2_engine *engine, const char *variable_name, void *data,
const adios2_mode mode)
{
try
{
adios2::helper::CheckForNullptr(engine, "for adios2_engine, in call to adios2_get_by_name");
adios2::core::Engine *engineCpp = reinterpret_cast<adios2::core::Engine *>(engine);
adios2::helper::CheckForNullptr(variable_name, "for const char* variable_name, in call to "
"adios2_get_by_name");
const adios2::Mode modeCpp =
adios2_ToMode(mode, "only adios2_mode_deferred or adios2_mode_sync are valid, "
"in call to adios2_get_by_name");
const adios2::DataType type(engineCpp->m_IO.InquireVariableType(variable_name));
if (type == adios2::DataType::Struct)
{
// not supported
}
else if (type == adios2::helper::GetDataType<std::string>())
{
std::string dataStr;
engineCpp->Get(variable_name, dataStr);
dataStr.copy(reinterpret_cast<char *>(data), dataStr.size());
}
#define declare_template_instantiation(T) \
else if (type == adios2::helper::GetDataType<T>()) \
{ \
engineCpp->Get(variable_name, reinterpret_cast<T *>(data), modeCpp); \
}
ADIOS2_FOREACH_PRIMITIVE_STDTYPE_1ARG(declare_template_instantiation)
#undef declare_template_instantiation
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_get_by_name"));
}
}
adios2_error adios2_perform_gets(adios2_engine *engine)
{
try
{
adios2::helper::CheckForNullptr(engine,
"for adios2_engine, in call to adios2_perform_gets");
adios2::core::Engine *engineCpp = reinterpret_cast<adios2::core::Engine *>(engine);
engineCpp->PerformGets();
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_perform_gets"));
}
}
adios2_error adios2_end_step(adios2_engine *engine)
{
try
{
adios2::helper::CheckForNullptr(engine, "for adios2_engine, in call to adios2_end_step");
adios2::core::Engine *engineCpp = reinterpret_cast<adios2::core::Engine *>(engine);
engineCpp->EndStep();
return adios2_error_none;
}
catch (...)
{
return static_cast<adios2_error>(adios2::helper::ExceptionToError("adios2_end_step"));
}
}
adios2_error adios2_flush(adios2_engine *engine) { return adios2_flush_by_index(engine, -1); }
adios2_error adios2_flush_by_index(adios2_engine *engine, const int transport_index)
{
try
{
adios2::helper::CheckForNullptr(engine, "for adios2_engine, in call to "
"adios2_flush or "
"adios2_flush_by_index");
adios2::core::Engine *engineCpp = reinterpret_cast<adios2::core::Engine
Showing preview only (704K chars total). Download the full file or copy to clipboard to get everything.
gitextract_6ppq7fkn/ ├── .clang-format ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ └── workflows/ │ └── ci.yml ├── .gitignore ├── 3rd_party/ │ ├── .gitignore │ ├── adios/ │ │ ├── .circleci/ │ │ │ └── config.yml │ │ ├── .clang-format │ │ ├── .clang-tidy │ │ ├── .e4s/ │ │ │ └── e4s.yaml │ │ ├── .gitattributes │ │ ├── .github/ │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug_report.md │ │ │ │ ├── feature_request.md │ │ │ │ └── new_release.md │ │ │ ├── actions/ │ │ │ │ └── save-context-artifacts/ │ │ │ │ └── action.yml │ │ │ └── workflows/ │ │ │ ├── everything.yml │ │ │ └── pypackaging.yml │ │ ├── .gitignore │ │ ├── .gitlab/ │ │ │ ├── config/ │ │ │ │ ├── SpackCIBridge.py │ │ │ │ ├── ccache.cmake │ │ │ │ ├── dynamic_pipeline.yml.in │ │ │ │ ├── generate_pipelines.py │ │ │ │ └── kokkos.sh │ │ │ ├── gitlab-ci-ascent.yml │ │ │ └── gitlab-ci-crusher.yml │ │ ├── .shellcheck_exclude_paths │ │ ├── CMakeLists.txt │ │ ├── CODEOWNERS │ │ ├── CTestConfig.cmake │ │ ├── CTestCustom.cmake.in │ │ ├── Contributing.md │ │ ├── Copyright.txt │ │ ├── LICENSE │ │ ├── ReadMe.md │ │ ├── bandit.yml │ │ ├── bindings/ │ │ │ ├── C/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── adios2/ │ │ │ │ │ └── c/ │ │ │ │ │ ├── adios2_c_adios.cpp │ │ │ │ │ ├── adios2_c_adios.h │ │ │ │ │ ├── adios2_c_adios_mpi.cpp │ │ │ │ │ ├── adios2_c_attribute.cpp │ │ │ │ │ ├── adios2_c_attribute.h │ │ │ │ │ ├── adios2_c_engine.cpp │ │ │ │ │ ├── adios2_c_engine.h │ │ │ │ │ ├── adios2_c_internal.h │ │ │ │ │ ├── adios2_c_internal.inl │ │ │ │ │ ├── adios2_c_io.cpp │ │ │ │ │ ├── adios2_c_io.h │ │ │ │ │ ├── adios2_c_io.tcc │ │ │ │ │ ├── adios2_c_io_mpi.cpp │ │ │ │ │ ├── adios2_c_operator.cpp │ │ │ │ │ ├── adios2_c_operator.h │ │ │ │ │ ├── adios2_c_types.h │ │ │ │ │ ├── adios2_c_variable.cpp │ │ │ │ │ └── adios2_c_variable.h │ │ │ │ └── adios2_c.h │ │ │ ├── CMakeLists.txt │ │ │ ├── CXX11/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── adios2/ │ │ │ │ │ └── cxx11/ │ │ │ │ │ ├── ADIOS.cpp │ │ │ │ │ ├── ADIOS.h │ │ │ │ │ ├── ADIOS.inl │ │ │ │ │ ├── ADIOSMPI.cpp │ │ │ │ │ ├── ADIOSView.h │ │ │ │ │ ├── Attribute.cpp │ │ │ │ │ ├── Attribute.h │ │ │ │ │ ├── Engine.cpp │ │ │ │ │ ├── Engine.h │ │ │ │ │ ├── Engine.tcc │ │ │ │ │ ├── Group.cpp │ │ │ │ │ ├── Group.h │ │ │ │ │ ├── Group.tcc │ │ │ │ │ ├── IO.cpp │ │ │ │ │ ├── IO.h │ │ │ │ │ ├── IO.tcc │ │ │ │ │ ├── IOMPI.cpp │ │ │ │ │ ├── KokkosView.h │ │ │ │ │ ├── Operator.cpp │ │ │ │ │ ├── Operator.h │ │ │ │ │ ├── Query.cpp │ │ │ │ │ ├── Query.h │ │ │ │ │ ├── Types.cpp │ │ │ │ │ ├── Types.h │ │ │ │ │ ├── Types.tcc │ │ │ │ │ ├── Variable.cpp │ │ │ │ │ ├── Variable.h │ │ │ │ │ ├── Variable.tcc │ │ │ │ │ ├── VariableDerived.cpp │ │ │ │ │ ├── VariableDerived.h │ │ │ │ │ ├── VariableNT.cpp │ │ │ │ │ ├── VariableNT.h │ │ │ │ │ └── fstream/ │ │ │ │ │ ├── ADIOS2fstream.cpp │ │ │ │ │ ├── ADIOS2fstream.h │ │ │ │ │ ├── ADIOS2fstream.tcc │ │ │ │ │ └── ADIOS2fstreamMPI.cpp │ │ │ │ └── adios2.h │ │ │ ├── Fortran/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── f2c/ │ │ │ │ │ ├── adios2_f2c_adios.cpp │ │ │ │ │ ├── adios2_f2c_adios_mpi.cpp │ │ │ │ │ ├── adios2_f2c_attribute.cpp │ │ │ │ │ ├── adios2_f2c_common.h │ │ │ │ │ ├── adios2_f2c_engine.cpp │ │ │ │ │ ├── adios2_f2c_io.cpp │ │ │ │ │ ├── adios2_f2c_io_mpi.cpp │ │ │ │ │ ├── adios2_f2c_operator.cpp │ │ │ │ │ └── adios2_f2c_variable.cpp │ │ │ │ └── modules/ │ │ │ │ ├── adios2_adios_init_mod.F90 │ │ │ │ ├── adios2_adios_init_mpi_smod.F90 │ │ │ │ ├── adios2_adios_init_serial_smod.F90 │ │ │ │ ├── adios2_adios_mod.f90 │ │ │ │ ├── adios2_attribute_data_mod.f90 │ │ │ │ ├── adios2_attribute_mod.f90 │ │ │ │ ├── adios2_engine_begin_step_mod.f90 │ │ │ │ ├── adios2_engine_get_mod.f90 │ │ │ │ ├── adios2_engine_mod.f90 │ │ │ │ ├── adios2_engine_put_mod.f90 │ │ │ │ ├── adios2_functions_allocate_mod.f90 │ │ │ │ ├── adios2_functions_mod.f90 │ │ │ │ ├── adios2_io_define_attribute_mod.f90 │ │ │ │ ├── adios2_io_define_derived_variable_mod.f90 │ │ │ │ ├── adios2_io_define_variable_mod.f90 │ │ │ │ ├── adios2_io_mod.f90 │ │ │ │ ├── adios2_io_open_mod.F90 │ │ │ │ ├── adios2_io_open_mpi_smod.F90 │ │ │ │ ├── adios2_io_open_serial_smod.F90 │ │ │ │ ├── adios2_mod.f90 │ │ │ │ ├── adios2_operator_mod.f90 │ │ │ │ ├── adios2_parameters_mod.f90 │ │ │ │ ├── adios2_variable_max_mod.f90 │ │ │ │ ├── adios2_variable_min_mod.f90 │ │ │ │ ├── adios2_variable_mod.f90 │ │ │ │ └── contains/ │ │ │ │ ├── adios2_engine_get.f90 │ │ │ │ ├── adios2_engine_get_by_name.f90 │ │ │ │ ├── adios2_engine_get_deferred.f90 │ │ │ │ ├── adios2_engine_get_deferred_by_name.f90 │ │ │ │ ├── adios2_engine_put.f90 │ │ │ │ ├── adios2_engine_put_by_name.f90 │ │ │ │ ├── adios2_engine_put_deferred.f90 │ │ │ │ └── adios2_engine_put_deferred_by_name.f90 │ │ │ ├── Matlab/ │ │ │ │ ├── HOWTO-debug.txt │ │ │ │ ├── Makefile │ │ │ │ ├── README.txt │ │ │ │ ├── adios.m │ │ │ │ ├── adiosclose.m │ │ │ │ ├── adiosclosec.c │ │ │ │ ├── adiosload.m │ │ │ │ ├── adiosopen.m │ │ │ │ ├── adiosopenc.c │ │ │ │ ├── adiosread.m │ │ │ │ ├── adiosreadc.c │ │ │ │ └── test/ │ │ │ │ ├── TestADIOSRead.m │ │ │ │ ├── test1_read.m │ │ │ │ ├── test1_read.py │ │ │ │ ├── test1_read_hl.py │ │ │ │ ├── test1_write.py │ │ │ │ └── test1_write_hl.py │ │ │ └── Python/ │ │ │ ├── CMakeLists.txt │ │ │ ├── __init__.py.in │ │ │ ├── py11ADIOS.cpp │ │ │ ├── py11ADIOS.h │ │ │ ├── py11ADIOSMPI.cpp │ │ │ ├── py11Attribute.cpp │ │ │ ├── py11Attribute.h │ │ │ ├── py11Engine.cpp │ │ │ ├── py11Engine.h │ │ │ ├── py11IO.cpp │ │ │ ├── py11IO.h │ │ │ ├── py11IOMPI.cpp │ │ │ ├── py11Operator.cpp │ │ │ ├── py11Operator.h │ │ │ ├── py11Query.cpp │ │ │ ├── py11Query.h │ │ │ ├── py11Variable.cpp │ │ │ ├── py11Variable.h │ │ │ ├── py11glue.cpp │ │ │ ├── py11types.h │ │ │ └── test/ │ │ │ ├── __init__.py │ │ │ └── simple_read_write.py │ │ ├── cmake/ │ │ │ ├── ADIOSBisonFlexSub.cmake │ │ │ ├── ADIOSFunctions.cmake │ │ │ ├── CMakeFindDependencyMacro.cmake │ │ │ ├── CheckTypeRepresentation.cmake │ │ │ ├── CheckTypeRepresentationCompile.c.in │ │ │ ├── CheckTypeRepresentationCompile.f.in │ │ │ ├── CheckTypeRepresentationRun.c.in │ │ │ ├── DetectOptions.cmake │ │ │ ├── EmptyDir.cmake │ │ │ ├── FindBZip2.cmake │ │ │ ├── FindCrayDRC.cmake │ │ │ ├── FindDAOS.cmake │ │ │ ├── FindDataSpaces.cmake │ │ │ ├── FindHDF5.cmake │ │ │ ├── FindIME.cmake │ │ │ ├── FindLIBFABRIC.cmake │ │ │ ├── FindMPI.cmake │ │ │ ├── FindPkgConfig.cmake │ │ │ ├── FindPython.cmake │ │ │ ├── FindPythonModule.cmake │ │ │ ├── FindSZ.cmake │ │ │ ├── FindSodium.cmake │ │ │ ├── FindUCX.cmake │ │ │ ├── FindZeroMQ.cmake │ │ │ ├── Findpugixml.cmake │ │ │ ├── GoogleTest.cmake │ │ │ ├── Internal/ │ │ │ │ └── FloatRepresentationTable.cmake │ │ │ ├── SSTFunctions.cmake │ │ │ ├── adios2-config-common.cmake.in │ │ │ ├── adios2-config-install.cmake.in │ │ │ ├── adios2-config.cmake.in │ │ │ ├── check_libfabric_cxi.c │ │ │ ├── install/ │ │ │ │ ├── packaging/ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── post/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── adios2-config-dummy/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── foo.F90 │ │ │ │ │ │ ├── foo.c │ │ │ │ │ │ ├── foo.cxx │ │ │ │ │ │ ├── foo.h │ │ │ │ │ │ ├── main.c │ │ │ │ │ │ ├── main.cxx │ │ │ │ │ │ └── main.f90 │ │ │ │ │ ├── adios2-config.post.sh.in │ │ │ │ │ ├── adios2-config.pre.sh.in │ │ │ │ │ └── generate-adios2-config.sh.in │ │ │ │ └── pre/ │ │ │ │ └── CMakeLists.txt │ │ │ └── upstream/ │ │ │ ├── CMakeFindDependencyMacro.cmake │ │ │ ├── FindBZip2.cmake │ │ │ ├── FindHDF5.cmake │ │ │ ├── FindMPI/ │ │ │ │ ├── libver_mpi.c │ │ │ │ └── test_mpi.c │ │ │ ├── FindMPI.cmake │ │ │ ├── FindPkgConfig.cmake │ │ │ ├── FindPython/ │ │ │ │ └── Support.cmake │ │ │ ├── FindPython.cmake │ │ │ └── GoogleTest.cmake │ │ ├── docs/ │ │ │ ├── README.md │ │ │ ├── api_doxygen/ │ │ │ │ ├── C/ │ │ │ │ │ └── Doxyfile │ │ │ │ └── CXX11/ │ │ │ │ └── Doxyfile │ │ │ ├── environment.yml │ │ │ └── user_guide/ │ │ │ ├── Makefile │ │ │ ├── make.bat │ │ │ └── source/ │ │ │ ├── _static │ │ │ ├── advanced/ │ │ │ │ ├── aggregation.rst │ │ │ │ ├── campaign_management.rst │ │ │ │ ├── ecp_hardware.rst │ │ │ │ ├── gpu_aware.rst │ │ │ │ ├── memory_management.rst │ │ │ │ ├── plugins.rst │ │ │ │ └── query.rst │ │ │ ├── advice/ │ │ │ │ └── advice.rst │ │ │ ├── api_full/ │ │ │ │ ├── api_full.rst │ │ │ │ ├── c.rst │ │ │ │ ├── cxx11.rst │ │ │ │ └── fortran.rst │ │ │ ├── api_high/ │ │ │ │ ├── api_high.rst │ │ │ │ ├── cxx11.rst │ │ │ │ └── matlab.rst │ │ │ ├── api_python/ │ │ │ │ ├── adios2-doc-read-filereader.py │ │ │ │ ├── adios2-doc-read-stream.py │ │ │ │ ├── adios2-doc-write.py │ │ │ │ ├── api_python.rst │ │ │ │ ├── python.rst │ │ │ │ ├── python_bindings.rst │ │ │ │ ├── python_example.rst │ │ │ │ └── python_transition_from_high.rst │ │ │ ├── components/ │ │ │ │ ├── adios.rst │ │ │ │ ├── anatomy.rst │ │ │ │ ├── attribute.rst │ │ │ │ ├── components.rst │ │ │ │ ├── engine.rst │ │ │ │ ├── io.rst │ │ │ │ ├── operator.rst │ │ │ │ ├── overview.rst │ │ │ │ ├── runtime.rst │ │ │ │ └── variable.rst │ │ │ ├── conf.py │ │ │ ├── ecosystem/ │ │ │ │ ├── h5vol/ │ │ │ │ │ └── vol.rst │ │ │ │ ├── h5vol.rst │ │ │ │ ├── utilities/ │ │ │ │ │ ├── adios2-config.rst │ │ │ │ │ ├── adios_reorganize.rst │ │ │ │ │ ├── bpls.rst │ │ │ │ │ └── sst_conn_tool.rst │ │ │ │ ├── utilities.rst │ │ │ │ ├── visualization/ │ │ │ │ │ └── vtk.rst │ │ │ │ └── visualization.rst │ │ │ ├── engines/ │ │ │ │ ├── bp3.rst │ │ │ │ ├── bp4.rst │ │ │ │ ├── bp5.rst │ │ │ │ ├── dataman.rst │ │ │ │ ├── dataspaces.rst │ │ │ │ ├── engines.rst │ │ │ │ ├── hdf5.rst │ │ │ │ ├── inline.rst │ │ │ │ ├── null.rst │ │ │ │ ├── plugin.rst │ │ │ │ ├── ssc.rst │ │ │ │ ├── sst.rst │ │ │ │ └── virtual_engines.rst │ │ │ ├── faq/ │ │ │ │ └── faq.rst │ │ │ ├── index.rst │ │ │ ├── introduction/ │ │ │ │ ├── adaptable_io.rst │ │ │ │ ├── introduction.rst │ │ │ │ ├── nutshell.rst │ │ │ │ └── whatsnew.rst │ │ │ ├── operators/ │ │ │ │ ├── CompressorZFP.rst │ │ │ │ ├── encryption.rst │ │ │ │ ├── operators.rst │ │ │ │ └── plugin.rst │ │ │ ├── setting_up/ │ │ │ │ ├── doemachines.rst │ │ │ │ ├── linking.rst │ │ │ │ ├── package.rst │ │ │ │ ├── setting_up.rst │ │ │ │ ├── source/ │ │ │ │ │ ├── cmake.rst │ │ │ │ │ ├── cpp_c.rst │ │ │ │ │ ├── ctest.rst │ │ │ │ │ ├── examples.rst │ │ │ │ │ ├── fortran.rst │ │ │ │ │ ├── hpc_systems.rst │ │ │ │ │ └── python.rst │ │ │ │ └── source.rst │ │ │ └── tutorials/ │ │ │ ├── attributes.rst │ │ │ ├── basicTutorials.rst │ │ │ ├── downloadAndBuild.rst │ │ │ ├── helloWorld.rst │ │ │ ├── operators.rst │ │ │ ├── overview.rst │ │ │ ├── steps.rst │ │ │ └── variables.rst │ │ ├── examples/ │ │ │ ├── CMakeLists.txt │ │ │ ├── ReadMe.md │ │ │ ├── basics/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── ReadMe.md │ │ │ │ ├── globalArray1D/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── decomp.F90 │ │ │ │ │ ├── decomp.c │ │ │ │ │ ├── decomp.h │ │ │ │ │ ├── globalArray1DRead.F90 │ │ │ │ │ ├── globalArray1DRead.c │ │ │ │ │ ├── globalArray1DWrite.F90 │ │ │ │ │ ├── globalArray1DWrite.c │ │ │ │ │ ├── mpivars.F90 │ │ │ │ │ ├── mpivars.c │ │ │ │ │ └── mpivars.h │ │ │ │ ├── globalArrayND/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── globalArrayNDWrite.cpp │ │ │ │ ├── joinedArray/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── joinedArrayWrite.cpp │ │ │ │ ├── localArray/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── localArrayRead.cpp │ │ │ │ │ └── localArrayWrite.cpp │ │ │ │ ├── queryWorker/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── ReadMe.md │ │ │ │ │ ├── configs/ │ │ │ │ │ │ ├── bp4io.xml │ │ │ │ │ │ ├── bp4io_composite.xml │ │ │ │ │ │ ├── q1.json │ │ │ │ │ │ └── q2.json │ │ │ │ │ └── queryWorker.cpp │ │ │ │ ├── values/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── mpivars.F90 │ │ │ │ │ ├── values.F90 │ │ │ │ │ └── valuesWrite.cpp │ │ │ │ └── variablesShapes/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── variablesShapes.cpp │ │ │ │ └── variablesShapes_hl.cpp │ │ │ ├── campaign/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── campaign_write.cpp │ │ │ ├── hello/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── ReadMe.md │ │ │ │ ├── bpAttributeWriteRead/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── bpAttributeWriteRead.cpp │ │ │ │ │ └── bpAttributeWriteRead_tutorialSkeleton.cpp │ │ │ │ ├── bpFWriteCRead/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── CppReader.cpp │ │ │ │ │ ├── CppWriter.cpp │ │ │ │ │ ├── FReader.f90 │ │ │ │ │ └── FWriter.f90 │ │ │ │ ├── bpFlushWriter/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── bpFlushWriter.cpp │ │ │ │ │ └── bpFlushWriter_nompi.cpp │ │ │ │ ├── bpOperatorSZWriter/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── bpOperatorSZWriter.cpp │ │ │ │ │ └── bpOperatorSZWriter_tutorialSkeleton.cxx │ │ │ │ ├── bpReader/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── bpReader.cpp │ │ │ │ │ ├── bpReaderHeatMap2D-bindings.py │ │ │ │ │ ├── bpReaderHeatMap2D.cpp │ │ │ │ │ ├── bpReaderHeatMap2D.py │ │ │ │ │ ├── bpReaderHeatMap3D.F90 │ │ │ │ │ ├── bpReaderHeatMap3D.cpp │ │ │ │ │ └── bpReader_tutorialSkeleton.cpp │ │ │ │ ├── bpStepsWriteRead/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── bpStepsWriteRead.cpp │ │ │ │ │ └── bpStepsWriteRead_tutorialSkeleton.cxx │ │ │ │ ├── bpStepsWriteReadCuda/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── bpStepsWriteReadCuda.cu │ │ │ │ ├── bpStepsWriteReadHip/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── bpStepsWriteReadHip.cpp │ │ │ │ ├── bpStepsWriteReadKokkos/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── bpStepsWriteReadKokkos.F90 │ │ │ │ │ ├── bpStepsWriteReadKokkos.cpp │ │ │ │ │ ├── bpWriteReadKokkosView.cpp │ │ │ │ │ ├── view-cxx.cc │ │ │ │ │ └── view-f.f90 │ │ │ │ ├── bpThreadWrite/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── bpThreadWrite.cpp │ │ │ │ ├── bpWriter/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── bpPutDeferred.cpp │ │ │ │ │ ├── bpSubStreams.cpp │ │ │ │ │ ├── bpWriter-bindings.py │ │ │ │ │ ├── bpWriter.F90 │ │ │ │ │ ├── bpWriter.c │ │ │ │ │ ├── bpWriter.cpp │ │ │ │ │ ├── bpWriter.py │ │ │ │ │ └── bpWriter_tutorialSkeleton.cpp │ │ │ │ ├── datamanKokkos/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── dataManReaderKokkos.cpp │ │ │ │ │ └── dataManWriterKokkos.cpp │ │ │ │ ├── datamanReader/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── dataManReader.cpp │ │ │ │ │ └── dataManReader.py │ │ │ │ ├── datamanWriter/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── dataManWriter.cpp │ │ │ │ │ └── dataManWriter.py │ │ │ │ ├── dataspacesReader/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── dataSpacesReader.cpp │ │ │ │ ├── dataspacesWriter/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── dataSpacesWriter.cpp │ │ │ │ ├── hdf5Reader/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── hdf5Reader.cpp │ │ │ │ │ └── hdf5Reader_nompi.cpp │ │ │ │ ├── hdf5SubFile/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── hdf5SubFile.cpp │ │ │ │ ├── hdf5Writer/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── hdf5Writer.cpp │ │ │ │ │ └── hdf5Writer_nompi.cpp │ │ │ │ ├── helloWorld/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── hello-world-bindings.py │ │ │ │ │ ├── hello-world-hl.cpp │ │ │ │ │ ├── hello-world.c │ │ │ │ │ ├── hello-world.cpp │ │ │ │ │ ├── hello-world.py │ │ │ │ │ └── hello-world_tutorialSkeleton.cpp │ │ │ │ ├── inlineFWriteCppRead/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── inlineMixedLang.cpp │ │ │ │ │ └── inlineMixedLang.f90 │ │ │ │ ├── inlineMWE/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── inlineMWE.cpp │ │ │ │ ├── inlineReaderWriter/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── inlineReaderWriter.cpp │ │ │ │ ├── skeleton/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── SkeletonArgs.cpp │ │ │ │ │ ├── SkeletonArgs.h │ │ │ │ │ ├── SkeletonPrint.h │ │ │ │ │ ├── bpfile.xml │ │ │ │ │ ├── skeleton.xml │ │ │ │ │ ├── skeletonReader.cpp │ │ │ │ │ └── skeletonWriter.cpp │ │ │ │ ├── sstKokkos/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── sstReaderKokkos.cpp │ │ │ │ │ └── sstWriterKokkos.cpp │ │ │ │ ├── sstReader/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── sstReader-bindings.py │ │ │ │ │ ├── sstReader.cpp │ │ │ │ │ └── sstReader.py │ │ │ │ └── sstWriter/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── sstWriter-bindings.py │ │ │ │ ├── sstWriter.cpp │ │ │ │ └── sstWriter.py │ │ │ ├── plugins/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── ReadMe.md │ │ │ │ ├── engine/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── ExampleReadPlugin.cpp │ │ │ │ │ ├── ExampleReadPlugin.h │ │ │ │ │ ├── ExampleReadPlugin.tcc │ │ │ │ │ ├── ExampleWritePlugin.cpp │ │ │ │ │ ├── ExampleWritePlugin.h │ │ │ │ │ ├── ExampleWritePlugin.tcc │ │ │ │ │ ├── examplePluginEngineRead.cpp │ │ │ │ │ ├── examplePluginEngineWrite.cpp │ │ │ │ │ └── example_engine.xml │ │ │ │ └── operator/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── examplePluginOperatorRead.cpp │ │ │ │ ├── examplePluginOperatorWrite.cpp │ │ │ │ └── example_operator.xml │ │ │ ├── simulations/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── GrayScott.jl/ │ │ │ │ │ ├── .JuliaFormatter.toml │ │ │ │ │ ├── Project.toml │ │ │ │ │ ├── ReadMe.md │ │ │ │ │ ├── examples/ │ │ │ │ │ │ └── settings-files.json │ │ │ │ │ ├── gray-scott.jl │ │ │ │ │ ├── scripts/ │ │ │ │ │ │ ├── config_crusher.sh │ │ │ │ │ │ ├── config_summit.sh │ │ │ │ │ │ ├── job_crusher.sh │ │ │ │ │ │ └── job_summit.sh │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── GrayScott.jl │ │ │ │ │ │ ├── analysis/ │ │ │ │ │ │ │ └── pdfcalc.jl │ │ │ │ │ │ ├── helper/ │ │ │ │ │ │ │ ├── Helper.jl │ │ │ │ │ │ │ ├── helperMPI.jl │ │ │ │ │ │ │ └── helperString.jl │ │ │ │ │ │ └── simulation/ │ │ │ │ │ │ ├── IO.jl │ │ │ │ │ │ ├── Inputs.jl │ │ │ │ │ │ ├── Simulation.jl │ │ │ │ │ │ ├── Simulation_AMDGPU.jl │ │ │ │ │ │ ├── Simulation_CUDA.jl │ │ │ │ │ │ └── Structs.jl │ │ │ │ │ └── test/ │ │ │ │ │ ├── Project.toml │ │ │ │ │ ├── functional/ │ │ │ │ │ │ └── functional-GrayScott.jl │ │ │ │ │ ├── runtests.jl │ │ │ │ │ └── unit/ │ │ │ │ │ ├── analysis/ │ │ │ │ │ │ └── unit-pdfcalc.jl │ │ │ │ │ ├── helper/ │ │ │ │ │ │ └── unit-helperMPI.jl │ │ │ │ │ └── simulation/ │ │ │ │ │ ├── unit-IO.jl │ │ │ │ │ ├── unit-Inputs.jl │ │ │ │ │ ├── unit-Simulation.jl │ │ │ │ │ └── unit-Simulation_CUDA.jl │ │ │ │ ├── ReadMe.md │ │ │ │ ├── gray-scott/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── ReadMe.md │ │ │ │ │ ├── adios2-fides-staging.xml │ │ │ │ │ ├── adios2-inline-plugin.xml │ │ │ │ │ ├── adios2.xml │ │ │ │ │ ├── analysis/ │ │ │ │ │ │ └── pdf-calc.cpp │ │ │ │ │ ├── catalyst/ │ │ │ │ │ │ ├── gs-fides.json │ │ │ │ │ │ ├── gs-pipeline.py │ │ │ │ │ │ └── setup.sh │ │ │ │ │ ├── cleanup.sh │ │ │ │ │ ├── common/ │ │ │ │ │ │ └── timer.hpp │ │ │ │ │ ├── plot/ │ │ │ │ │ │ ├── decomp.py │ │ │ │ │ │ ├── gsplot.py │ │ │ │ │ │ └── pdfplot.py │ │ │ │ │ ├── simulation/ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── gray-scott.cpp │ │ │ │ │ │ ├── gray-scott.h │ │ │ │ │ │ ├── json.hpp │ │ │ │ │ │ ├── main.cpp │ │ │ │ │ │ ├── restart.cpp │ │ │ │ │ │ ├── restart.h │ │ │ │ │ │ ├── settings-files.json │ │ │ │ │ │ ├── settings-inline.json │ │ │ │ │ │ ├── settings-staging.json │ │ │ │ │ │ ├── settings.cpp │ │ │ │ │ │ ├── settings.h │ │ │ │ │ │ ├── writer.cpp │ │ │ │ │ │ └── writer.h │ │ │ │ │ ├── visit-bp4.session │ │ │ │ │ ├── visit-bp4.session.gui │ │ │ │ │ ├── visit-sst.session │ │ │ │ │ └── visit-sst.session.gui │ │ │ │ ├── gray-scott-kokkos/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── ReadMe.md │ │ │ │ │ ├── gray-scott.cpp │ │ │ │ │ ├── gray-scott.h │ │ │ │ │ ├── json.hpp │ │ │ │ │ ├── main.cpp │ │ │ │ │ ├── restart.cpp │ │ │ │ │ ├── restart.h │ │ │ │ │ ├── settings.cpp │ │ │ │ │ ├── settings.h │ │ │ │ │ ├── timer.hpp │ │ │ │ │ ├── writer.cpp │ │ │ │ │ └── writer.h │ │ │ │ ├── gray-scott-struct/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── ReadMe.md │ │ │ │ │ ├── adios2-inline-plugin.xml │ │ │ │ │ ├── adios2.xml │ │ │ │ │ ├── analysis/ │ │ │ │ │ │ └── pdf-calc.cpp │ │ │ │ │ ├── catalyst/ │ │ │ │ │ │ ├── gs-fides.json │ │ │ │ │ │ ├── gs-pipeline.py │ │ │ │ │ │ └── setup.sh │ │ │ │ │ ├── cleanup.sh │ │ │ │ │ ├── common/ │ │ │ │ │ │ └── timer.hpp │ │ │ │ │ ├── plot/ │ │ │ │ │ │ ├── decomp.py │ │ │ │ │ │ ├── gsplot.py │ │ │ │ │ │ └── pdfplot.py │ │ │ │ │ ├── simulation/ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── gray-scott.cpp │ │ │ │ │ │ ├── gray-scott.h │ │ │ │ │ │ ├── json.hpp │ │ │ │ │ │ ├── main.cpp │ │ │ │ │ │ ├── restart.cpp │ │ │ │ │ │ ├── restart.h │ │ │ │ │ │ ├── settings-files.json │ │ │ │ │ │ ├── settings-inline.json │ │ │ │ │ │ ├── settings-staging.json │ │ │ │ │ │ ├── settings.cpp │ │ │ │ │ │ ├── settings.h │ │ │ │ │ │ ├── writer.cpp │ │ │ │ │ │ └── writer.h │ │ │ │ │ ├── test-firstrun.json │ │ │ │ │ ├── test-restart.json │ │ │ │ │ ├── visit-bp4.session │ │ │ │ │ ├── visit-bp4.session.gui │ │ │ │ │ ├── visit-sst.session │ │ │ │ │ └── visit-sst.session.gui │ │ │ │ ├── heatTransfer/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── ReadMe.md │ │ │ │ │ ├── heat_bp3.xml │ │ │ │ │ ├── heat_bp3_zfp.xml │ │ │ │ │ ├── heat_bp4.xml │ │ │ │ │ ├── heat_bp4_zfp.xml │ │ │ │ │ ├── heat_dataman.xml │ │ │ │ │ ├── heat_dataspaces.xml │ │ │ │ │ ├── heat_file.xml │ │ │ │ │ ├── heat_hdf5.xml │ │ │ │ │ ├── heat_inline.xml │ │ │ │ │ ├── heat_nullcore.xml │ │ │ │ │ ├── heat_ssc.xml │ │ │ │ │ ├── heat_sst_bp.xml │ │ │ │ │ ├── heat_sst_bp_rdma.xml │ │ │ │ │ ├── heat_sst_ffs.xml │ │ │ │ │ ├── heat_sst_ffs_rdma.xml │ │ │ │ │ ├── inline/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── InlineIO.cpp │ │ │ │ │ │ ├── InlineIO.h │ │ │ │ │ │ └── main.cpp │ │ │ │ │ ├── read/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── PrintDataStep.h │ │ │ │ │ │ ├── ReadSettings.cpp │ │ │ │ │ │ ├── ReadSettings.h │ │ │ │ │ │ └── heatRead.cpp │ │ │ │ │ ├── readFileOnly/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── PrintData.h │ │ │ │ │ │ └── heatReadFileOnly.cpp │ │ │ │ │ └── write/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── HeatTransfer.cpp │ │ │ │ │ ├── HeatTransfer.h │ │ │ │ │ ├── IO.h │ │ │ │ │ ├── IO_adios2.cpp │ │ │ │ │ ├── IO_ascii.cpp │ │ │ │ │ ├── IO_h5mixer.cpp │ │ │ │ │ ├── IO_hdf5_a.cpp │ │ │ │ │ ├── IO_ph5.cpp │ │ │ │ │ ├── Settings.cpp │ │ │ │ │ ├── Settings.h │ │ │ │ │ └── main.cpp │ │ │ │ ├── korteweg-de-vries/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── KdV.cpp │ │ │ │ │ ├── ReadMe.md │ │ │ │ │ └── graph_solution.py │ │ │ │ └── lorenz_ode/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── ReadMe.md │ │ │ │ ├── lorenz.hpp │ │ │ │ ├── lorenzReader.cpp │ │ │ │ └── lorenzWriter.cpp │ │ │ └── useCases/ │ │ │ ├── CMakeLists.txt │ │ │ ├── ReadMe.md │ │ │ ├── fidesOneCell/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── ReadMe.md │ │ │ │ ├── fidesOneCell.cpp │ │ │ │ └── fidesOneCell.json │ │ │ └── insituGlobalArrays/ │ │ │ ├── CMakeLists.txt │ │ │ ├── insituGlobalArraysReaderNxN.cpp │ │ │ └── insituGlobalArraysWriter.cpp │ │ ├── plugins/ │ │ │ ├── CMakeLists.txt │ │ │ ├── engines/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── ParaViewFidesEngine.cpp │ │ │ │ └── ParaViewFidesEngine.h │ │ │ └── operators/ │ │ │ ├── CMakeLists.txt │ │ │ ├── EncryptionOperator.cpp │ │ │ └── EncryptionOperator.h │ │ ├── pyproject.toml │ │ ├── python/ │ │ │ ├── CMakeLists.txt │ │ │ └── adios2/ │ │ │ ├── __init__.py │ │ │ ├── adios.py │ │ │ ├── attribute.py │ │ │ ├── engine.py │ │ │ ├── file_reader.py │ │ │ ├── io.py │ │ │ ├── operator.py │ │ │ ├── stream.py │ │ │ └── variable.py │ │ ├── readthedocs.yml │ │ ├── requirements.txt │ │ ├── scripts/ │ │ │ ├── build_scripts/ │ │ │ │ ├── build-adios2-cuda-perlmutter.sh │ │ │ │ ├── build-adios2-cuda-summit.sh │ │ │ │ ├── build-adios2-kokkos-crusher.sh │ │ │ │ ├── build-adios2-kokkos-perlmutter.sh │ │ │ │ ├── build-adios2-kokkos-summit.sh │ │ │ │ └── build-adios2-sycl-polaris.sh │ │ │ ├── ci/ │ │ │ │ ├── circle/ │ │ │ │ │ ├── findStatus.py │ │ │ │ │ ├── postCDashStatus.sh │ │ │ │ │ └── run.sh │ │ │ │ ├── cmake/ │ │ │ │ │ ├── adios-asan.supp │ │ │ │ │ ├── ci-ascent-common.cmake │ │ │ │ │ ├── ci-ascent-cuda.cmake │ │ │ │ │ ├── ci-ascent-kokkos-cuda.cmake │ │ │ │ │ ├── ci-ascent-nvhpc.cmake │ │ │ │ │ ├── ci-ascent-xl.cmake │ │ │ │ │ ├── ci-common.cmake │ │ │ │ │ ├── ci-crusher-cray.cmake │ │ │ │ │ ├── ci-crusher-kokkos-hip.cmake │ │ │ │ │ ├── ci-el7-spack.cmake │ │ │ │ │ ├── ci-el7.cmake │ │ │ │ │ ├── ci-el8-icc-mpich.cmake │ │ │ │ │ ├── ci-el8-icc-ompi.cmake │ │ │ │ │ ├── ci-el8-icc-serial.cmake │ │ │ │ │ ├── ci-el8-oneapi-mpich.cmake │ │ │ │ │ ├── ci-el8-oneapi-ompi.cmake │ │ │ │ │ ├── ci-el8-oneapi-serial.cmake │ │ │ │ │ ├── ci-fedora-asan.cmake │ │ │ │ │ ├── ci-fedora-msan.cmake │ │ │ │ │ ├── ci-fedora-openmpi-ubsan.cmake │ │ │ │ │ ├── ci-fedora-tsan.cmake │ │ │ │ │ ├── ci-fedora-ubsan.cmake │ │ │ │ │ ├── ci-macos-11-xcode13_0-shared-serial.cmake │ │ │ │ │ ├── ci-macos-12-xcode13_4_1-shared-serial.cmake │ │ │ │ │ ├── ci-macos-12-xcode13_4_1-static-serial.cmake │ │ │ │ │ ├── ci-ubuntu20.04-clang10-mpich.cmake │ │ │ │ │ ├── ci-ubuntu20.04-clang10-ompi.cmake │ │ │ │ │ ├── ci-ubuntu20.04-clang10-serial.cmake │ │ │ │ │ ├── ci-ubuntu20.04-clang6-mpich.cmake │ │ │ │ │ ├── ci-ubuntu20.04-clang6-ompi.cmake │ │ │ │ │ ├── ci-ubuntu20.04-clang6-serial.cmake │ │ │ │ │ ├── ci-ubuntu20.04-clang6-static-ompi.cmake │ │ │ │ │ ├── ci-ubuntu20.04-gcc10-mpich.cmake │ │ │ │ │ ├── ci-ubuntu20.04-gcc10-ompi.cmake │ │ │ │ │ ├── ci-ubuntu20.04-gcc10-serial.cmake │ │ │ │ │ ├── ci-ubuntu20.04-gcc11-mpich.cmake │ │ │ │ │ ├── ci-ubuntu20.04-gcc11-ompi.cmake │ │ │ │ │ ├── ci-ubuntu20.04-gcc11-serial.cmake │ │ │ │ │ ├── ci-ubuntu20.04-gcc8-mpich.cmake │ │ │ │ │ ├── ci-ubuntu20.04-gcc8-ompi.cmake │ │ │ │ │ ├── ci-ubuntu20.04-gcc8-serial-codeql.cmake │ │ │ │ │ ├── ci-ubuntu20.04-gcc8-serial.cmake │ │ │ │ │ ├── ci-ubuntu20.04-gcc8-static-ompi.cmake │ │ │ │ │ ├── ci-ubuntu20.04-gcc8-static-serial.cmake │ │ │ │ │ ├── ci-ubuntu20.04-gcc9-mpich.cmake │ │ │ │ │ ├── ci-ubuntu20.04-gcc9-ompi.cmake │ │ │ │ │ ├── ci-ubuntu20.04-gcc9-serial.cmake │ │ │ │ │ ├── ci-win2019-vs2019-msmpi.cmake │ │ │ │ │ ├── ci-win2019-vs2019-ninja.cmake │ │ │ │ │ ├── ci-win2019-vs2019-ompi.cmake │ │ │ │ │ ├── ci-win2019-vs2019-serial.cmake │ │ │ │ │ ├── ci-win2022-vs2022-ompi.cmake │ │ │ │ │ ├── ci-win2022-vs2022-serial.cmake │ │ │ │ │ └── ci-win2022-vs2022-static-serial.cmake │ │ │ │ ├── gh-actions/ │ │ │ │ │ ├── check-branch-name.sh │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── adios-version.cmake │ │ │ │ │ │ └── ninja.cmake │ │ │ │ │ ├── get-changed-files.sh │ │ │ │ │ ├── linux-setup.sh │ │ │ │ │ ├── macos-setup.sh │ │ │ │ │ ├── run.sh │ │ │ │ │ └── windows-setup.ps1 │ │ │ │ ├── gitlab-ci/ │ │ │ │ │ ├── run.sh │ │ │ │ │ └── setup-vars.sh │ │ │ │ ├── images/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── 0001-mpich-support-ch3-sock.patch │ │ │ │ │ ├── Dockerfile.ci-el8-intel │ │ │ │ │ ├── Dockerfile.ci-spack-ubuntu20.04-base │ │ │ │ │ ├── Dockerfile.ci-spack-ubuntu20.04-clang │ │ │ │ │ ├── Dockerfile.ci-spack-ubuntu20.04-gcc │ │ │ │ │ ├── Dockerfile.ci-spack-ubuntu20.04-intel │ │ │ │ │ ├── build-el8.sh │ │ │ │ │ ├── build-ubuntu.sh │ │ │ │ │ ├── fedora-asan/ │ │ │ │ │ │ └── Dockerfile │ │ │ │ │ ├── fedora-full-stack-onbuild/ │ │ │ │ │ │ └── Dockerfile │ │ │ │ │ ├── fedora-msan/ │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ └── toolchain.cmake │ │ │ │ │ ├── fedora-sanitizers-base/ │ │ │ │ │ │ └── Dockerfile │ │ │ │ │ ├── fedora-tsan/ │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ └── toolchain.cmake │ │ │ │ │ ├── fedora-ubsan/ │ │ │ │ │ │ └── Dockerfile │ │ │ │ │ ├── formatting/ │ │ │ │ │ │ └── Dockerfile │ │ │ │ │ ├── oneAPI.repo │ │ │ │ │ ├── packages.yaml │ │ │ │ │ └── spack/ │ │ │ │ │ └── Dockerfile │ │ │ │ ├── scripts/ │ │ │ │ │ ├── github-list-prs.py │ │ │ │ │ ├── github-prs-to-gitlab.sh │ │ │ │ │ ├── run-black.sh │ │ │ │ │ ├── run-clang-format.sh │ │ │ │ │ ├── run-flake8.sh │ │ │ │ │ ├── run-pylint.sh │ │ │ │ │ └── run-shellcheck.sh │ │ │ │ └── setup-run/ │ │ │ │ ├── ci-Windows.sh │ │ │ │ ├── ci-el8-icc.sh │ │ │ │ ├── ci-el8-oneapi.sh │ │ │ │ ├── ci-ubuntu20.04-clang10.sh │ │ │ │ ├── ci-ubuntu20.04-clang6.sh │ │ │ │ ├── ci-ubuntu20.04-gcc10.sh │ │ │ │ ├── ci-ubuntu20.04-gcc11.sh │ │ │ │ ├── ci-ubuntu20.04-gcc8.sh │ │ │ │ └── ci-ubuntu20.04-gcc9.sh │ │ │ ├── conda/ │ │ │ │ └── adios2/ │ │ │ │ ├── LICENSE │ │ │ │ ├── meta.yaml │ │ │ │ └── superbuild/ │ │ │ │ └── CMakeLists.txt │ │ │ ├── dashboard/ │ │ │ │ ├── EnvironmentModules.cmake │ │ │ │ ├── adios_common.cmake │ │ │ │ └── common.cmake │ │ │ ├── developer/ │ │ │ │ ├── create-changelog.sh │ │ │ │ ├── git/ │ │ │ │ │ ├── git-clang-format │ │ │ │ │ ├── setup-aliases │ │ │ │ │ ├── setup-hooks │ │ │ │ │ └── setup-remotes │ │ │ │ ├── merge-pr-from-release.sh │ │ │ │ ├── run-clang-format.sh │ │ │ │ └── setup.sh │ │ │ ├── docker/ │ │ │ │ ├── Dockerfile.complete │ │ │ │ ├── Dockerfile.dependencies │ │ │ │ ├── modules.yaml │ │ │ │ ├── packages.yaml │ │ │ │ └── setup-user.sh │ │ │ └── runconf/ │ │ │ ├── runconf.sh │ │ │ └── runconf_olcf.sh │ │ ├── source/ │ │ │ ├── CMakeLists.txt │ │ │ ├── adios2/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── common/ │ │ │ │ │ ├── ADIOSConfig.h.in │ │ │ │ │ ├── ADIOSMacros.h │ │ │ │ │ ├── ADIOSTypes.cpp │ │ │ │ │ ├── ADIOSTypes.h │ │ │ │ │ └── ADIOSTypes.inl │ │ │ │ ├── core/ │ │ │ │ │ ├── ADIOS.cpp │ │ │ │ │ ├── ADIOS.h │ │ │ │ │ ├── Attribute.cpp │ │ │ │ │ ├── Attribute.h │ │ │ │ │ ├── Attribute.tcc │ │ │ │ │ ├── AttributeBase.cpp │ │ │ │ │ ├── AttributeBase.h │ │ │ │ │ ├── CoreTypes.h │ │ │ │ │ ├── Engine.cpp │ │ │ │ │ ├── Engine.h │ │ │ │ │ ├── Engine.tcc │ │ │ │ │ ├── Group.cpp │ │ │ │ │ ├── Group.h │ │ │ │ │ ├── Group.tcc │ │ │ │ │ ├── IO.cpp │ │ │ │ │ ├── IO.h │ │ │ │ │ ├── IO.tcc │ │ │ │ │ ├── IOHDF5.cpp │ │ │ │ │ ├── IOMPI.cpp │ │ │ │ │ ├── Info.cpp │ │ │ │ │ ├── Info.h │ │ │ │ │ ├── Operator.cpp │ │ │ │ │ ├── Operator.h │ │ │ │ │ ├── Span.cpp │ │ │ │ │ ├── Span.h │ │ │ │ │ ├── Span.tcc │ │ │ │ │ ├── Stream.cpp │ │ │ │ │ ├── Stream.h │ │ │ │ │ ├── Stream.tcc │ │ │ │ │ ├── Variable.cpp │ │ │ │ │ ├── Variable.h │ │ │ │ │ ├── Variable.tcc │ │ │ │ │ ├── VariableBase.cpp │ │ │ │ │ ├── VariableBase.h │ │ │ │ │ ├── VariableDerived.cpp │ │ │ │ │ ├── VariableDerived.h │ │ │ │ │ ├── VariableStruct.cpp │ │ │ │ │ └── VariableStruct.h │ │ │ │ ├── engine/ │ │ │ │ │ ├── bp3/ │ │ │ │ │ │ ├── BP3Reader.cpp │ │ │ │ │ │ ├── BP3Reader.h │ │ │ │ │ │ ├── BP3Reader.tcc │ │ │ │ │ │ ├── BP3Writer.cpp │ │ │ │ │ │ ├── BP3Writer.h │ │ │ │ │ │ └── BP3Writer.tcc │ │ │ │ │ ├── bp4/ │ │ │ │ │ │ ├── BP4Reader.cpp │ │ │ │ │ │ ├── BP4Reader.h │ │ │ │ │ │ ├── BP4Reader.tcc │ │ │ │ │ │ ├── BP4Writer.cpp │ │ │ │ │ │ ├── BP4Writer.h │ │ │ │ │ │ └── BP4Writer.tcc │ │ │ │ │ ├── bp5/ │ │ │ │ │ │ ├── BP5Engine.cpp │ │ │ │ │ │ ├── BP5Engine.h │ │ │ │ │ │ ├── BP5Reader.cpp │ │ │ │ │ │ ├── BP5Reader.h │ │ │ │ │ │ ├── BP5Reader.tcc │ │ │ │ │ │ ├── BP5Writer.cpp │ │ │ │ │ │ ├── BP5Writer.h │ │ │ │ │ │ ├── BP5Writer.tcc │ │ │ │ │ │ ├── BP5Writer_EveryoneWrites_Async.cpp │ │ │ │ │ │ ├── BP5Writer_TwoLevelShm.cpp │ │ │ │ │ │ └── BP5Writer_TwoLevelShm_Async.cpp │ │ │ │ │ ├── campaign/ │ │ │ │ │ │ ├── CampaignData.cpp │ │ │ │ │ │ ├── CampaignData.h │ │ │ │ │ │ ├── CampaignManager.cpp │ │ │ │ │ │ ├── CampaignManager.h │ │ │ │ │ │ ├── CampaignReader.cpp │ │ │ │ │ │ ├── CampaignReader.h │ │ │ │ │ │ ├── CampaignReader.tcc │ │ │ │ │ │ └── CampaignRecord.h │ │ │ │ │ ├── daos/ │ │ │ │ │ │ ├── BP5Writer_TwoLevelShm.cpp │ │ │ │ │ │ ├── DaosEngine.cpp │ │ │ │ │ │ ├── DaosEngine.h │ │ │ │ │ │ ├── DaosReader.cpp │ │ │ │ │ │ ├── DaosReader.h │ │ │ │ │ │ ├── DaosReader.tcc │ │ │ │ │ │ ├── DaosWriter.cpp │ │ │ │ │ │ ├── DaosWriter.h │ │ │ │ │ │ ├── DaosWriter.tcc │ │ │ │ │ │ ├── DaosWriter_EveryoneWrites_Async.cpp │ │ │ │ │ │ ├── DaosWriter_TwoLevelShm.cpp │ │ │ │ │ │ └── DaosWriter_TwoLevelShm_Async.cpp │ │ │ │ │ ├── dataman/ │ │ │ │ │ │ ├── DataManMonitor.cpp │ │ │ │ │ │ ├── DataManMonitor.h │ │ │ │ │ │ ├── DataManReader.cpp │ │ │ │ │ │ ├── DataManReader.h │ │ │ │ │ │ ├── DataManReader.tcc │ │ │ │ │ │ ├── DataManWriter.cpp │ │ │ │ │ │ ├── DataManWriter.h │ │ │ │ │ │ └── DataManWriter.tcc │ │ │ │ │ ├── dataspaces/ │ │ │ │ │ │ ├── DataSpacesReader.cpp │ │ │ │ │ │ ├── DataSpacesReader.h │ │ │ │ │ │ ├── DataSpacesReader.tcc │ │ │ │ │ │ ├── DataSpacesWriter.cpp │ │ │ │ │ │ ├── DataSpacesWriter.h │ │ │ │ │ │ └── DataSpacesWriter.tcc │ │ │ │ │ ├── hdf5/ │ │ │ │ │ │ ├── HDF5ReaderP.cpp │ │ │ │ │ │ ├── HDF5ReaderP.h │ │ │ │ │ │ ├── HDF5ReaderP.tcc │ │ │ │ │ │ ├── HDF5WriterP.cpp │ │ │ │ │ │ └── HDF5WriterP.h │ │ │ │ │ ├── inline/ │ │ │ │ │ │ ├── InlineReader.cpp │ │ │ │ │ │ ├── InlineReader.h │ │ │ │ │ │ ├── InlineReader.tcc │ │ │ │ │ │ ├── InlineWriter.cpp │ │ │ │ │ │ ├── InlineWriter.h │ │ │ │ │ │ └── InlineWriter.tcc │ │ │ │ │ ├── mhs/ │ │ │ │ │ │ ├── MhsReader.cpp │ │ │ │ │ │ ├── MhsReader.h │ │ │ │ │ │ ├── MhsReader.tcc │ │ │ │ │ │ ├── MhsWriter.cpp │ │ │ │ │ │ ├── MhsWriter.h │ │ │ │ │ │ └── MhsWriter.tcc │ │ │ │ │ ├── null/ │ │ │ │ │ │ ├── NullReader.cpp │ │ │ │ │ │ ├── NullReader.h │ │ │ │ │ │ ├── NullReader.tcc │ │ │ │ │ │ ├── NullWriter.cpp │ │ │ │ │ │ ├── NullWriter.h │ │ │ │ │ │ └── NullWriter.tcc │ │ │ │ │ ├── plugin/ │ │ │ │ │ │ ├── PluginEngine.cpp │ │ │ │ │ │ ├── PluginEngine.h │ │ │ │ │ │ ├── PluginEngineInterface.cpp │ │ │ │ │ │ └── PluginEngineInterface.h │ │ │ │ │ ├── skeleton/ │ │ │ │ │ │ ├── SkeletonReader.cpp │ │ │ │ │ │ ├── SkeletonReader.h │ │ │ │ │ │ ├── SkeletonReader.tcc │ │ │ │ │ │ ├── SkeletonWriter.cpp │ │ │ │ │ │ ├── SkeletonWriter.h │ │ │ │ │ │ └── SkeletonWriter.tcc │ │ │ │ │ ├── ssc/ │ │ │ │ │ │ ├── SscHelper.cpp │ │ │ │ │ │ ├── SscHelper.h │ │ │ │ │ │ ├── SscReader.cpp │ │ │ │ │ │ ├── SscReader.h │ │ │ │ │ │ ├── SscReaderBase.cpp │ │ │ │ │ │ ├── SscReaderBase.h │ │ │ │ │ │ ├── SscReaderGeneric.cpp │ │ │ │ │ │ ├── SscReaderGeneric.h │ │ │ │ │ │ ├── SscReaderGeneric.tcc │ │ │ │ │ │ ├── SscReaderNaive.cpp │ │ │ │ │ │ ├── SscReaderNaive.h │ │ │ │ │ │ ├── SscReaderNaive.tcc │ │ │ │ │ │ ├── SscWriter.cpp │ │ │ │ │ │ ├── SscWriter.h │ │ │ │ │ │ ├── SscWriterBase.cpp │ │ │ │ │ │ ├── SscWriterBase.h │ │ │ │ │ │ ├── SscWriterGeneric.cpp │ │ │ │ │ │ ├── SscWriterGeneric.h │ │ │ │ │ │ ├── SscWriterNaive.cpp │ │ │ │ │ │ └── SscWriterNaive.h │ │ │ │ │ └── sst/ │ │ │ │ │ ├── SstParamParser.cpp │ │ │ │ │ ├── SstParamParser.h │ │ │ │ │ ├── SstReader.cpp │ │ │ │ │ ├── SstReader.h │ │ │ │ │ ├── SstReader.tcc │ │ │ │ │ ├── SstWriter.cpp │ │ │ │ │ ├── SstWriter.h │ │ │ │ │ └── SstWriter.tcc │ │ │ │ ├── helper/ │ │ │ │ │ ├── adiosCUDA.cu │ │ │ │ │ ├── adiosCUDA.h │ │ │ │ │ ├── adiosComm.cpp │ │ │ │ │ ├── adiosComm.h │ │ │ │ │ ├── adiosComm.inl │ │ │ │ │ ├── adiosComm.tcc │ │ │ │ │ ├── adiosCommDummy.cpp │ │ │ │ │ ├── adiosCommDummy.h │ │ │ │ │ ├── adiosCommMPI.cpp │ │ │ │ │ ├── adiosCommMPI.h │ │ │ │ │ ├── adiosDynamicBinder.cpp │ │ │ │ │ ├── adiosDynamicBinder.h │ │ │ │ │ ├── adiosFunctions.h │ │ │ │ │ ├── adiosGPUFunctions.h │ │ │ │ │ ├── adiosJSONcomplex.h │ │ │ │ │ ├── adiosLog.cpp │ │ │ │ │ ├── adiosLog.h │ │ │ │ │ ├── adiosMath.cpp │ │ │ │ │ ├── adiosMath.h │ │ │ │ │ ├── adiosMath.inl │ │ │ │ │ ├── adiosMemory.cpp │ │ │ │ │ ├── adiosMemory.h │ │ │ │ │ ├── adiosMemory.inl │ │ │ │ │ ├── adiosMemory.tcc │ │ │ │ │ ├── adiosMpiHandshake.cpp │ │ │ │ │ ├── adiosMpiHandshake.h │ │ │ │ │ ├── adiosNetwork.cpp │ │ │ │ │ ├── adiosNetwork.h │ │ │ │ │ ├── adiosPluginManager.cpp │ │ │ │ │ ├── adiosPluginManager.h │ │ │ │ │ ├── adiosRangeFilter.cpp │ │ │ │ │ ├── adiosRangeFilter.h │ │ │ │ │ ├── adiosString.cpp │ │ │ │ │ ├── adiosString.h │ │ │ │ │ ├── adiosString.tcc │ │ │ │ │ ├── adiosSystem.cpp │ │ │ │ │ ├── adiosSystem.h │ │ │ │ │ ├── adiosType.cpp │ │ │ │ │ ├── adiosType.h │ │ │ │ │ ├── adiosType.inl │ │ │ │ │ ├── adiosXML.cpp │ │ │ │ │ ├── adiosXML.h │ │ │ │ │ ├── adiosXMLUtil.cpp │ │ │ │ │ ├── adiosXMLUtil.h │ │ │ │ │ ├── adiosYAML.cpp │ │ │ │ │ ├── adiosYAML.h │ │ │ │ │ └── kokkos/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── adiosKokkos.cpp │ │ │ │ │ └── adiosKokkos.h │ │ │ │ ├── operator/ │ │ │ │ │ ├── OperatorFactory.cpp │ │ │ │ │ ├── OperatorFactory.h │ │ │ │ │ ├── callback/ │ │ │ │ │ │ ├── Signature1.cpp │ │ │ │ │ │ ├── Signature1.h │ │ │ │ │ │ ├── Signature2.cpp │ │ │ │ │ │ └── Signature2.h │ │ │ │ │ ├── compress/ │ │ │ │ │ │ ├── CompressBZIP2.cpp │ │ │ │ │ │ ├── CompressBZIP2.h │ │ │ │ │ │ ├── CompressBlosc.cpp │ │ │ │ │ │ ├── CompressBlosc.h │ │ │ │ │ │ ├── CompressLibPressio.cpp │ │ │ │ │ │ ├── CompressLibPressio.h │ │ │ │ │ │ ├── CompressMGARD.cpp │ │ │ │ │ │ ├── CompressMGARD.h │ │ │ │ │ │ ├── CompressMGARDPlus.cpp │ │ │ │ │ │ ├── CompressMGARDPlus.h │ │ │ │ │ │ ├── CompressNull.cpp │ │ │ │ │ │ ├── CompressNull.h │ │ │ │ │ │ ├── CompressPNG.cpp │ │ │ │ │ │ ├── CompressPNG.h │ │ │ │ │ │ ├── CompressSZ.cpp │ │ │ │ │ │ ├── CompressSZ.h │ │ │ │ │ │ ├── CompressSirius.cpp │ │ │ │ │ │ ├── CompressSirius.h │ │ │ │ │ │ ├── CompressZFP.cpp │ │ │ │ │ │ └── CompressZFP.h │ │ │ │ │ ├── plugin/ │ │ │ │ │ │ ├── PluginOperator.cpp │ │ │ │ │ │ ├── PluginOperator.h │ │ │ │ │ │ ├── PluginOperatorInterface.cpp │ │ │ │ │ │ └── PluginOperatorInterface.h │ │ │ │ │ └── refactor/ │ │ │ │ │ ├── RefactorMDR.cpp │ │ │ │ │ └── RefactorMDR.h │ │ │ │ └── toolkit/ │ │ │ │ ├── aggregator/ │ │ │ │ │ └── mpi/ │ │ │ │ │ ├── MPIAggregator.cpp │ │ │ │ │ ├── MPIAggregator.h │ │ │ │ │ ├── MPIChain.cpp │ │ │ │ │ ├── MPIChain.h │ │ │ │ │ ├── MPIShmChain.cpp │ │ │ │ │ └── MPIShmChain.h │ │ │ │ ├── burstbuffer/ │ │ │ │ │ ├── FileDrainer.cpp │ │ │ │ │ ├── FileDrainer.h │ │ │ │ │ ├── FileDrainerSingleThread.cpp │ │ │ │ │ └── FileDrainerSingleThread.h │ │ │ │ ├── dataspaces/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── DSpacesConfig.h.in │ │ │ │ │ ├── ds.h │ │ │ │ │ ├── ds_data.h │ │ │ │ │ └── ds_writer.c │ │ │ │ ├── derived/ │ │ │ │ │ ├── ExprHelper.h │ │ │ │ │ ├── Expression.cpp │ │ │ │ │ ├── Expression.h │ │ │ │ │ ├── Function.cpp │ │ │ │ │ ├── Function.h │ │ │ │ │ ├── Function.tcc │ │ │ │ │ └── parser/ │ │ │ │ │ ├── ASTDriver.cpp │ │ │ │ │ ├── ASTDriver.h │ │ │ │ │ ├── ASTNode.cpp │ │ │ │ │ ├── ASTNode.h │ │ │ │ │ ├── lexer.l │ │ │ │ │ ├── parser.y │ │ │ │ │ └── pregen-source/ │ │ │ │ │ ├── lexer.cpp │ │ │ │ │ ├── lexer.h │ │ │ │ │ ├── location.hh │ │ │ │ │ ├── parser.cpp │ │ │ │ │ └── parser.h │ │ │ │ ├── format/ │ │ │ │ │ ├── bp/ │ │ │ │ │ │ ├── BPBase.cpp │ │ │ │ │ │ ├── BPBase.h │ │ │ │ │ │ ├── BPBase.inl │ │ │ │ │ │ ├── BPBase.tcc │ │ │ │ │ │ ├── BPSerializer.cpp │ │ │ │ │ │ ├── BPSerializer.h │ │ │ │ │ │ ├── BPSerializer.inl │ │ │ │ │ │ ├── BPSerializer.tcc │ │ │ │ │ │ ├── bp3/ │ │ │ │ │ │ │ ├── BP3Base.cpp │ │ │ │ │ │ │ ├── BP3Base.h │ │ │ │ │ │ │ ├── BP3Deserializer.cpp │ │ │ │ │ │ │ ├── BP3Deserializer.h │ │ │ │ │ │ │ ├── BP3Deserializer.tcc │ │ │ │ │ │ │ ├── BP3Serializer.cpp │ │ │ │ │ │ │ ├── BP3Serializer.h │ │ │ │ │ │ │ └── BP3Serializer.tcc │ │ │ │ │ │ ├── bp4/ │ │ │ │ │ │ │ ├── BP4Base.cpp │ │ │ │ │ │ │ ├── BP4Base.h │ │ │ │ │ │ │ ├── BP4Deserializer.cpp │ │ │ │ │ │ │ ├── BP4Deserializer.h │ │ │ │ │ │ │ ├── BP4Deserializer.tcc │ │ │ │ │ │ │ ├── BP4Serializer.cpp │ │ │ │ │ │ │ ├── BP4Serializer.h │ │ │ │ │ │ │ └── BP4Serializer.tcc │ │ │ │ │ │ └── bpBackCompatOperation/ │ │ │ │ │ │ ├── BPBackCompatOperation.h │ │ │ │ │ │ └── compress/ │ │ │ │ │ │ ├── BPBackCompatBlosc.cpp │ │ │ │ │ │ └── BPBackCompatBlosc.h │ │ │ │ │ ├── bp5/ │ │ │ │ │ │ ├── BP5Base.cpp │ │ │ │ │ │ ├── BP5Base.h │ │ │ │ │ │ ├── BP5Deserializer.cpp │ │ │ │ │ │ ├── BP5Deserializer.h │ │ │ │ │ │ ├── BP5Deserializer.tcc │ │ │ │ │ │ ├── BP5Serializer.cpp │ │ │ │ │ │ └── BP5Serializer.h │ │ │ │ │ ├── buffer/ │ │ │ │ │ │ ├── Buffer.cpp │ │ │ │ │ │ ├── Buffer.h │ │ │ │ │ │ ├── BufferV.cpp │ │ │ │ │ │ ├── BufferV.h │ │ │ │ │ │ ├── chunk/ │ │ │ │ │ │ │ ├── ChunkV.cpp │ │ │ │ │ │ │ └── ChunkV.h │ │ │ │ │ │ ├── ffs/ │ │ │ │ │ │ │ ├── BufferFFS.cpp │ │ │ │ │ │ │ ├── BufferFFS.h │ │ │ │ │ │ │ └── BufferSTL.tcc │ │ │ │ │ │ ├── heap/ │ │ │ │ │ │ │ ├── BufferMalloc.cpp │ │ │ │ │ │ │ ├── BufferMalloc.h │ │ │ │ │ │ │ ├── BufferMalloc.tcc │ │ │ │ │ │ │ ├── BufferSTL.cpp │ │ │ │ │ │ │ ├── BufferSTL.h │ │ │ │ │ │ │ └── BufferSTL.tcc │ │ │ │ │ │ ├── ipc/ │ │ │ │ │ │ │ ├── BufferSystemV.cpp │ │ │ │ │ │ │ └── BufferSystemV.h │ │ │ │ │ │ └── malloc/ │ │ │ │ │ │ ├── MallocV.cpp │ │ │ │ │ │ └── MallocV.h │ │ │ │ │ └── dataman/ │ │ │ │ │ ├── DataManSerializer.cpp │ │ │ │ │ ├── DataManSerializer.h │ │ │ │ │ └── DataManSerializer.tcc │ │ │ │ ├── interop/ │ │ │ │ │ └── hdf5/ │ │ │ │ │ ├── HDF5Common.cpp │ │ │ │ │ ├── HDF5Common.h │ │ │ │ │ ├── HDF5Common.tcc │ │ │ │ │ └── HDF5CommonMPI.cpp │ │ │ │ ├── profiling/ │ │ │ │ │ └── iochrono/ │ │ │ │ │ ├── IOChrono.cpp │ │ │ │ │ ├── IOChrono.h │ │ │ │ │ ├── Timer.cpp │ │ │ │ │ └── Timer.h │ │ │ │ ├── query/ │ │ │ │ │ ├── BlockIndex.cpp │ │ │ │ │ ├── BlockIndex.h │ │ │ │ │ ├── Index.h │ │ │ │ │ ├── JsonWorker.cpp │ │ │ │ │ ├── Query.cpp │ │ │ │ │ ├── Query.h │ │ │ │ │ ├── Query.tcc │ │ │ │ │ ├── Util.h │ │ │ │ │ ├── Worker.cpp │ │ │ │ │ ├── Worker.h │ │ │ │ │ └── XmlWorker.cpp │ │ │ │ ├── remote/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Remote.cpp │ │ │ │ │ ├── Remote.h │ │ │ │ │ ├── remote_common.cpp │ │ │ │ │ ├── remote_common.h │ │ │ │ │ └── remote_server.cpp │ │ │ │ ├── shm/ │ │ │ │ │ ├── SerializeProcesses.cpp │ │ │ │ │ ├── SerializeProcesses.h │ │ │ │ │ ├── Spinlock.cpp │ │ │ │ │ ├── Spinlock.h │ │ │ │ │ └── TokenChain.h │ │ │ │ ├── sst/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── SSTConfig.h.in │ │ │ │ │ ├── cp/ │ │ │ │ │ │ ├── cp_common.c │ │ │ │ │ │ ├── cp_internal.h │ │ │ │ │ │ ├── cp_reader.c │ │ │ │ │ │ ├── cp_writer.c │ │ │ │ │ │ ├── ffs_marshal.c │ │ │ │ │ │ ├── ffs_marshal.h │ │ │ │ │ │ └── ffs_zfp.c │ │ │ │ │ ├── dp/ │ │ │ │ │ │ ├── daos_dp.c │ │ │ │ │ │ ├── dp.c │ │ │ │ │ │ ├── dummy_dp.c │ │ │ │ │ │ ├── evpath_dp.c │ │ │ │ │ │ ├── mpi_dp.c │ │ │ │ │ │ ├── rdma_dp.c │ │ │ │ │ │ └── ucx_dp.c │ │ │ │ │ ├── dp_interface.h │ │ │ │ │ ├── sst.h │ │ │ │ │ ├── sst_comm.cpp │ │ │ │ │ ├── sst_comm.h │ │ │ │ │ ├── sst_comm_fwd.h │ │ │ │ │ ├── sst_data.h │ │ │ │ │ └── util/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── sst_conn_tool.c │ │ │ │ │ └── sst_conn_tool.cxx │ │ │ │ ├── transport/ │ │ │ │ │ ├── Transport.cpp │ │ │ │ │ ├── Transport.h │ │ │ │ │ ├── file/ │ │ │ │ │ │ ├── FileAWSSDK.cpp │ │ │ │ │ │ ├── FileAWSSDK.h │ │ │ │ │ │ ├── FileDaos.cpp │ │ │ │ │ │ ├── FileDaos.h │ │ │ │ │ │ ├── FileFStream.cpp │ │ │ │ │ │ ├── FileFStream.h │ │ │ │ │ │ ├── FileHTTP.cpp │ │ │ │ │ │ ├── FileHTTP.h │ │ │ │ │ │ ├── FileIME.cpp │ │ │ │ │ │ ├── FileIME.h │ │ │ │ │ │ ├── FilePOSIX.cpp │ │ │ │ │ │ ├── FilePOSIX.h │ │ │ │ │ │ ├── FileRemote.cpp │ │ │ │ │ │ ├── FileRemote.h │ │ │ │ │ │ ├── FileStdio.cpp │ │ │ │ │ │ └── FileStdio.h │ │ │ │ │ ├── null/ │ │ │ │ │ │ ├── NullTransport.cpp │ │ │ │ │ │ └── NullTransport.h │ │ │ │ │ └── shm/ │ │ │ │ │ ├── ShmSystemV.cpp │ │ │ │ │ └── ShmSystemV.h │ │ │ │ ├── transportman/ │ │ │ │ │ ├── TransportMan.cpp │ │ │ │ │ └── TransportMan.h │ │ │ │ └── zmq/ │ │ │ │ ├── zmqpubsub/ │ │ │ │ │ ├── ZmqPubSub.cpp │ │ │ │ │ └── ZmqPubSub.h │ │ │ │ └── zmqreqrep/ │ │ │ │ ├── ZmqReqRep.cpp │ │ │ │ └── ZmqReqRep.h │ │ │ ├── h5vol/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── H5Vol.c │ │ │ │ ├── H5Vol.h │ │ │ │ ├── H5VolError.h │ │ │ │ ├── H5VolReadWrite.c │ │ │ │ ├── H5VolReadWrite.h │ │ │ │ ├── H5VolUtil.c │ │ │ │ ├── H5VolUtil.h │ │ │ │ ├── H5Vol_attr.c │ │ │ │ ├── H5Vol_dataset.c │ │ │ │ ├── H5Vol_def.h │ │ │ │ ├── H5Vol_file.c │ │ │ │ ├── H5Vol_group.c │ │ │ │ ├── H5Vol_link.c │ │ │ │ ├── H5Vol_object.c │ │ │ │ └── READ.ME │ │ │ └── utils/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Utils.cpp │ │ │ ├── Utils.h │ │ │ ├── adios2_deactivate_bp │ │ │ ├── adios2_json_pp.py │ │ │ ├── adios_campaign_manager/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── adios2_campaign_manager.py │ │ │ ├── adios_iotest/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── adiosStream.cpp │ │ │ │ ├── adiosStream.h │ │ │ │ ├── adios_iotest.cpp │ │ │ │ ├── decomp.cpp │ │ │ │ ├── decomp.h │ │ │ │ ├── hdf5Stream.cpp │ │ │ │ ├── hdf5Stream.h │ │ │ │ ├── ioGroup.cpp │ │ │ │ ├── ioGroup.h │ │ │ │ ├── iotest-config/ │ │ │ │ │ ├── coupling2.xml │ │ │ │ │ ├── coupling2_blocking_01_simple.txt │ │ │ │ │ ├── coupling2_blocking_02_dump_result.txt │ │ │ │ │ ├── manyvars.txt │ │ │ │ │ ├── pipe2.xml │ │ │ │ │ ├── pipe2_01_simple.txt │ │ │ │ │ ├── pipe2_02_link.txt │ │ │ │ │ ├── pipe2_03_conditional.txt │ │ │ │ │ ├── pipe2_04_nonblocking.txt │ │ │ │ │ ├── pipe2_05_add_variables.txt │ │ │ │ │ ├── pipe2_06_busy.txt │ │ │ │ │ ├── wf_2_to_1.txt │ │ │ │ │ └── wf_2_to_1.xml │ │ │ │ ├── processConfig.cpp │ │ │ │ ├── processConfig.h │ │ │ │ ├── settings.cpp │ │ │ │ ├── settings.h │ │ │ │ ├── stream.cpp │ │ │ │ └── stream.h │ │ │ ├── adios_reorganize/ │ │ │ │ ├── Reorganize.cpp │ │ │ │ ├── Reorganize.h │ │ │ │ ├── adios2_reorganize_wrapper │ │ │ │ └── main.cpp │ │ │ ├── bp4dbg/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── adios2/ │ │ │ │ │ └── bp4dbg/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── data.py │ │ │ │ │ ├── idxtable.py │ │ │ │ │ ├── metadata.py │ │ │ │ │ └── utils.py │ │ │ │ └── bp4dbg.py │ │ │ ├── bp5dbg/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── adios2/ │ │ │ │ │ └── bp5dbg/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── idxtable.py │ │ │ │ │ ├── metadata.py │ │ │ │ │ ├── metametadata.py │ │ │ │ │ └── utils.py │ │ │ │ └── bp5dbg.py │ │ │ ├── bpls/ │ │ │ │ ├── bpls.cmake.gen.in │ │ │ │ ├── bpls.cpp │ │ │ │ └── bpls.h │ │ │ └── verinfo.h.in │ │ ├── testing/ │ │ │ ├── CMakeLists.txt │ │ │ ├── adios2/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── backward_compatibility/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── TestBP4ReadOldCompressed.cpp │ │ │ │ │ ├── create_compressed_file.txt │ │ │ │ │ └── create_compressed_file.xml │ │ │ │ ├── bindings/ │ │ │ │ │ ├── C/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── SmallTestData_c.h │ │ │ │ │ │ ├── TestBPAvailableVariablesAttribites.cpp │ │ │ │ │ │ ├── TestBPMemorySpace.cpp │ │ │ │ │ │ ├── TestBPWriteAggregateReadLocal.cpp │ │ │ │ │ │ ├── TestBPWriteReadMultiblock.cpp │ │ │ │ │ │ ├── TestBPWriteTypes.cpp │ │ │ │ │ │ └── TestNullWriteRead.cpp │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fortran/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── SmallTestData_mod.F90 │ │ │ │ │ │ ├── TestAdios2BindingsFortranIO.F90 │ │ │ │ │ │ ├── TestBPMemorySpace.F90 │ │ │ │ │ │ ├── TestBPMemorySpaceGPU.F90 │ │ │ │ │ │ ├── TestBPReadGlobalsByName.F90 │ │ │ │ │ │ ├── TestBPWriteMemorySelectionRead2D.F90 │ │ │ │ │ │ ├── TestBPWriteMemorySelectionRead3D.F90 │ │ │ │ │ │ ├── TestBPWriteReadAttributes.F90 │ │ │ │ │ │ ├── TestBPWriteReadHeatMap2D.F90 │ │ │ │ │ │ ├── TestBPWriteReadHeatMap3D.F90 │ │ │ │ │ │ ├── TestBPWriteReadHeatMap4D.F90 │ │ │ │ │ │ ├── TestBPWriteReadHeatMap5D.F90 │ │ │ │ │ │ ├── TestBPWriteReadHeatMap6D.F90 │ │ │ │ │ │ ├── TestBPWriteTypes.F90 │ │ │ │ │ │ ├── TestBPWriteTypesByName.F90 │ │ │ │ │ │ ├── TestBPWriteTypesLocal.F90 │ │ │ │ │ │ ├── TestBPWriteVariableAttributes.F90 │ │ │ │ │ │ ├── TestF2C_BPReadFBlocks.cpp │ │ │ │ │ │ ├── TestNullEngine.F90 │ │ │ │ │ │ ├── TestRemove.F90 │ │ │ │ │ │ └── operation/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── TestBPWriteReadSZ2D.F90 │ │ │ │ │ │ ├── TestBPWriteReadSZ3D.F90 │ │ │ │ │ │ ├── TestBPWriteReadZfp2D.F90 │ │ │ │ │ │ └── TestBPWriteReadZfp2DRemove.F90 │ │ │ │ │ └── python/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── TestBPBlocksInfo.py │ │ │ │ │ ├── TestBPReadMultisteps.py │ │ │ │ │ ├── TestBPSelectSteps.py │ │ │ │ │ ├── TestBPWriteRead2D.py │ │ │ │ │ ├── TestBPWriteReadString.py │ │ │ │ │ ├── TestBPWriteReadTypes.py │ │ │ │ │ ├── TestBPWriteReadTypes_nompi.py │ │ │ │ │ ├── TestGetException_nompi.py │ │ │ │ │ ├── TestNullEngine.py │ │ │ │ │ ├── TestQuery.py │ │ │ │ │ ├── TestQueryLocalArray.py │ │ │ │ │ ├── adios2NPTypes.py │ │ │ │ │ └── types_np.h5 │ │ │ │ ├── derived/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── TestBPDerivedCorrectness.cpp │ │ │ │ ├── engine/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── SmallTestData.h │ │ │ │ │ ├── bp/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── TestBPAccuracyDefaults.cpp │ │ │ │ │ │ ├── TestBPAppendAfterSteps.cpp │ │ │ │ │ │ ├── TestBPBufferSize.cpp │ │ │ │ │ │ ├── TestBPChangingShape.cpp │ │ │ │ │ │ ├── TestBPChangingShapeWithinStep.cpp │ │ │ │ │ │ ├── TestBPDirectIO.cpp │ │ │ │ │ │ ├── TestBPFStreamWriteReadHighLevelAPI.cpp │ │ │ │ │ │ ├── TestBPFortranToCppReader.cpp │ │ │ │ │ │ ├── TestBPFortranToCppWriter.F90 │ │ │ │ │ │ ├── TestBPInquireDefine.cpp │ │ │ │ │ │ ├── TestBPInquireVariableException.cpp │ │ │ │ │ │ ├── TestBPJoinedArray.cpp │ │ │ │ │ │ ├── TestBPLargeMetadata.cpp │ │ │ │ │ │ ├── TestBPNoXMLRecovery.cpp │ │ │ │ │ │ ├── TestBPParameterSelectSteps.cpp │ │ │ │ │ │ ├── TestBPReadMultithreaded.cpp │ │ │ │ │ │ ├── TestBPSelectionsCuda.cpp │ │ │ │ │ │ ├── TestBPSelectionsOnColumnMajorData.cpp │ │ │ │ │ │ ├── TestBPSelectionsOnRowMajorData.cpp │ │ │ │ │ │ ├── TestBPStepsFileGlobalArray.cpp │ │ │ │ │ │ ├── TestBPStepsFileLocalArray.cpp │ │ │ │ │ │ ├── TestBPStepsInSituGlobalArray.cpp │ │ │ │ │ │ ├── TestBPStepsInSituLocalArray.cpp │ │ │ │ │ │ ├── TestBPTimeAggregation.cpp │ │ │ │ │ │ ├── TestBPWriteAggregateRead.cpp │ │ │ │ │ │ ├── TestBPWriteAppendReadADIOS2.cpp │ │ │ │ │ │ ├── TestBPWriteFlushRead.cpp │ │ │ │ │ │ ├── TestBPWriteMemorySelectionRead.cpp │ │ │ │ │ │ ├── TestBPWriteMultiblockRead.cpp │ │ │ │ │ │ ├── TestBPWriteNull.cpp │ │ │ │ │ │ ├── TestBPWriteProfilingJSON.cpp │ │ │ │ │ │ ├── TestBPWriteReadADIOS2.cpp │ │ │ │ │ │ ├── TestBPWriteReadADIOS2fstream.cpp │ │ │ │ │ │ ├── TestBPWriteReadADIOS2stdio.cpp │ │ │ │ │ │ ├── TestBPWriteReadAsStreamADIOS2.cpp │ │ │ │ │ │ ├── TestBPWriteReadAsStreamADIOS2_Threads.cpp │ │ │ │ │ │ ├── TestBPWriteReadAttributes.cpp │ │ │ │ │ │ ├── TestBPWriteReadAttributesMultirank.cpp │ │ │ │ │ │ ├── TestBPWriteReadBlockInfo.cpp │ │ │ │ │ │ ├── TestBPWriteReadCuda.cpp │ │ │ │ │ │ ├── TestBPWriteReadFlatten.cpp │ │ │ │ │ │ ├── TestBPWriteReadLocalVariables.cpp │ │ │ │ │ │ ├── TestBPWriteReadLocalVariablesSel.cpp │ │ │ │ │ │ ├── TestBPWriteReadLocalVariablesSelHighLevel.cpp │ │ │ │ │ │ ├── TestBPWriteReadMultiblock.cpp │ │ │ │ │ │ ├── TestBPWriteReadVariableSpan.cpp │ │ │ │ │ │ ├── TestBPWriteReadVector.cpp │ │ │ │ │ │ └── operations/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── CudaRoutines.cu │ │ │ │ │ │ ├── CudaRoutines.h │ │ │ │ │ │ ├── TestBPWriteReadBZIP2.cpp │ │ │ │ │ │ ├── TestBPWriteReadBlosc.cpp │ │ │ │ │ │ ├── TestBPWriteReadBlosc2.cpp │ │ │ │ │ │ ├── TestBPWriteReadLocalVariables.cpp │ │ │ │ │ │ ├── TestBPWriteReadMGARD.cpp │ │ │ │ │ │ ├── TestBPWriteReadMGARDCuda.cpp │ │ │ │ │ │ ├── TestBPWriteReadMGARDMDR.cpp │ │ │ │ │ │ ├── TestBPWriteReadMGARDPlus.cpp │ │ │ │ │ │ ├── TestBPWriteReadPNG.cpp │ │ │ │ │ │ ├── TestBPWriteReadSZ.cpp │ │ │ │ │ │ ├── TestBPWriteReadSzComplex.cpp │ │ │ │ │ │ ├── TestBPWriteReadZfp.cpp │ │ │ │ │ │ ├── TestBPWriteReadZfpComplex.cpp │ │ │ │ │ │ ├── TestBPWriteReadZfpConfig.cpp │ │ │ │ │ │ ├── TestBPWriteReadZfpCuda.cpp │ │ │ │ │ │ ├── TestBPWriteReadZfpHighLevelAPI.cpp │ │ │ │ │ │ ├── TestBPWriteReadZfpRemoveOperations.cpp │ │ │ │ │ │ ├── configZfp_rate10.xml │ │ │ │ │ │ ├── configZfp_rate10.yaml │ │ │ │ │ │ ├── configZfp_rate10Simple.xml │ │ │ │ │ │ ├── configZfp_rate8.xml │ │ │ │ │ │ ├── configZfp_rate8.yaml │ │ │ │ │ │ ├── configZfp_rate8Simple.xml │ │ │ │ │ │ ├── configZfp_rate9.xml │ │ │ │ │ │ ├── configZfp_rate9.yaml │ │ │ │ │ │ └── configZfp_rate9Simple.xml │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ └── TestEngineCommon.cpp │ │ │ │ │ ├── dataman/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── TestDataMan1D.cpp │ │ │ │ │ │ ├── TestDataMan1D.py │ │ │ │ │ │ ├── TestDataMan1DSuperLarge.cpp │ │ │ │ │ │ ├── TestDataMan1xN.py │ │ │ │ │ │ ├── TestDataMan2DMemSelect.cpp │ │ │ │ │ │ ├── TestDataMan2DSz.cpp │ │ │ │ │ │ ├── TestDataMan2DZfp.cpp │ │ │ │ │ │ ├── TestDataMan3DMemSelect.cpp │ │ │ │ │ │ ├── TestDataManReaderDoubleBuffer.cpp │ │ │ │ │ │ ├── TestDataManReaderSingleBuffer.cpp │ │ │ │ │ │ ├── TestDataManReliable.cpp │ │ │ │ │ │ ├── TestDataManSingleValues.py │ │ │ │ │ │ ├── TestDataManWriterDoubleBuffer.cpp │ │ │ │ │ │ └── TestDataManWriterSingleBuffer.cpp │ │ │ │ │ ├── hdf5/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── TestHDF5Append.cpp │ │ │ │ │ │ ├── TestHDF5StreamWriteReadHighLevelAPI.cpp │ │ │ │ │ │ ├── TestHDF5WriteMemorySelectionRead.cpp │ │ │ │ │ │ ├── TestHDF5WriteReadAsStream.cpp │ │ │ │ │ │ ├── TestHDF5WriteReadAttributesADIOS2.cpp │ │ │ │ │ │ └── TestNativeHDF5WriteRead.cpp │ │ │ │ │ ├── inline/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ └── TestInlineWriteRead.cpp │ │ │ │ │ ├── mhs/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── TestMhsCommon.h │ │ │ │ │ │ ├── TestMhsMultiRank.cpp │ │ │ │ │ │ ├── TestMhsMultiReader.cpp │ │ │ │ │ │ └── TestMhsSingleRank.cpp │ │ │ │ │ ├── null/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ └── TestNullWriteRead.cpp │ │ │ │ │ ├── nullcore/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ └── TestNullCoreWrite.cpp │ │ │ │ │ ├── skeleton/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── TestSkeletonReader.cpp │ │ │ │ │ │ ├── TestSkeletonReaderExpectedOutput.txt │ │ │ │ │ │ ├── TestSkeletonWriter.cpp │ │ │ │ │ │ └── TestSkeletonWriterExpectedOutput.txt │ │ │ │ │ ├── ssc/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── TestSsc3DMemSelect.cpp │ │ │ │ │ │ ├── TestSsc7d.cpp │ │ │ │ │ │ ├── TestSscBase.cpp │ │ │ │ │ │ ├── TestSscBaseThreading.cpp │ │ │ │ │ │ ├── TestSscBaseUnlocked.cpp │ │ │ │ │ │ ├── TestSscCommon.h │ │ │ │ │ │ ├── TestSscLockBeforeEndStep.cpp │ │ │ │ │ │ ├── TestSscMoreReadersThanWriters.cpp │ │ │ │ │ │ ├── TestSscMoreWritersThanReaders.cpp │ │ │ │ │ │ ├── TestSscNoAttributes.cpp │ │ │ │ │ │ ├── TestSscNoSelection.cpp │ │ │ │ │ │ ├── TestSscOnlyOneStep.cpp │ │ │ │ │ │ ├── TestSscOnlyTwoSteps.cpp │ │ │ │ │ │ ├── TestSscReaderMultiblock.cpp │ │ │ │ │ │ ├── TestSscSingleStep.cpp │ │ │ │ │ │ ├── TestSscString.cpp │ │ │ │ │ │ ├── TestSscStruct.cpp │ │ │ │ │ │ ├── TestSscSuperLarge.cpp │ │ │ │ │ │ ├── TestSscUnbalanced.cpp │ │ │ │ │ │ ├── TestSscVaryingSteps.cpp │ │ │ │ │ │ ├── TestSscWriterMultiblock.cpp │ │ │ │ │ │ ├── TestSscXgc2Way.cpp │ │ │ │ │ │ ├── TestSscXgc3Way.cpp │ │ │ │ │ │ ├── TestSscXgc3WayMatchedSteps.cpp │ │ │ │ │ │ └── TestSscZeroBlock.cpp │ │ │ │ │ ├── sst/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── TestSstParamFails.cpp │ │ │ │ │ │ └── TestSstWriterFails.cpp │ │ │ │ │ └── staging-common/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── ParseArgs.h │ │ │ │ │ ├── README.md │ │ │ │ │ ├── TestCommonClient.cpp │ │ │ │ │ ├── TestCommonRead.cpp │ │ │ │ │ ├── TestCommonReadAttrs.cpp │ │ │ │ │ ├── TestCommonReadF.F90 │ │ │ │ │ ├── TestCommonReadLocal.cpp │ │ │ │ │ ├── TestCommonReadR64.cpp │ │ │ │ │ ├── TestCommonReadShared.cpp │ │ │ │ │ ├── TestCommonServer.cpp │ │ │ │ │ ├── TestCommonSpanRead.cpp │ │ │ │ │ ├── TestCommonSpanWrite.cpp │ │ │ │ │ ├── TestCommonWrite.cpp │ │ │ │ │ ├── TestCommonWriteAttrs.cpp │ │ │ │ │ ├── TestCommonWriteF.F90 │ │ │ │ │ ├── TestCommonWriteLocal.cpp │ │ │ │ │ ├── TestCommonWriteModes.cpp │ │ │ │ │ ├── TestCommonWriteShared.cpp │ │ │ │ │ ├── TestData.h │ │ │ │ │ ├── TestData2.h │ │ │ │ │ ├── TestData_mod.F90 │ │ │ │ │ ├── TestDefSyncWrite.cpp │ │ │ │ │ ├── TestDistributionRead.cpp │ │ │ │ │ ├── TestDistributionWrite.cpp │ │ │ │ │ ├── TestLocalRead.cpp │ │ │ │ │ ├── TestLocalWrite.cpp │ │ │ │ │ ├── TestOnDemandMPI.cpp │ │ │ │ │ ├── TestOnDemandRead.cpp │ │ │ │ │ ├── TestOnDemandWrite.cpp │ │ │ │ │ ├── TestReadJoined.cpp │ │ │ │ │ ├── TestShapeChangingWrite.cpp │ │ │ │ │ ├── TestStagingMPMD.cpp │ │ │ │ │ ├── TestStructRead.cpp │ │ │ │ │ ├── TestStructWrite.cpp │ │ │ │ │ ├── TestSupp.cmake │ │ │ │ │ ├── TestThreads.cpp │ │ │ │ │ ├── TestWriteJoined.cpp │ │ │ │ │ └── run_test.py.gen.in │ │ │ │ ├── helper/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── TestDivideBlock.cpp │ │ │ │ │ ├── TestHelperStrings.cpp │ │ │ │ │ ├── TestMinMaxs.cpp │ │ │ │ │ ├── TestRangeFilter.cpp │ │ │ │ │ └── TestReadNonBPFile.cpp │ │ │ │ ├── hierarchy/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── TestBPHierarchicalReading.cpp │ │ │ │ ├── interface/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── TestADIOSDefineAttribute.cpp │ │ │ │ │ ├── TestADIOSDefineVariable.cpp │ │ │ │ │ ├── TestADIOSInfo.cpp │ │ │ │ │ ├── TestADIOSInterface.cpp │ │ │ │ │ ├── TestADIOSInterfaceWrite.cpp │ │ │ │ │ ├── TestADIOSNoMpi.cpp │ │ │ │ │ └── TestADIOSSelection.cpp │ │ │ │ ├── performance/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── manyvars/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── PerfManyVars.c │ │ │ │ │ │ └── TestManyVars.cpp │ │ │ │ │ ├── metadata/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── PerfMetaData.cpp │ │ │ │ │ │ └── README │ │ │ │ │ └── query/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── TestBPQuery.cpp │ │ │ │ ├── python/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── TestADIOS.py │ │ │ │ │ ├── TestAttribute.py │ │ │ │ │ ├── TestBPChangingShapeHighLevelAPI.py │ │ │ │ │ ├── TestBPPNGHighLevelAPI.py │ │ │ │ │ ├── TestBPWriteReadString.py │ │ │ │ │ ├── TestBPWriteTypesHighLevelAPI.py │ │ │ │ │ ├── TestBPWriteTypesHighLevelAPILocal.py │ │ │ │ │ ├── TestBPWriteTypesHighLevelAPI_HDF5.py │ │ │ │ │ ├── TestBPZfpHighLevelAPI.py │ │ │ │ │ ├── TestEngine.py │ │ │ │ │ ├── TestFileReader.py │ │ │ │ │ ├── TestIO.py │ │ │ │ │ ├── TestOperator.py │ │ │ │ │ ├── TestStream.py │ │ │ │ │ ├── TestVariable.py │ │ │ │ │ └── adios2NPTypes.py │ │ │ │ ├── transports/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── TestFile.cpp │ │ │ │ ├── unit/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── TestChunkV.cpp │ │ │ │ │ └── TestPosixTransport.cpp │ │ │ │ ├── xml/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── TestXMLConfig.cpp │ │ │ │ │ ├── TestXMLConfigSerial.cpp │ │ │ │ │ ├── config1.xml │ │ │ │ │ ├── config2.xml │ │ │ │ │ ├── configOpNoneException.xml │ │ │ │ │ ├── configOpNullException.xml │ │ │ │ │ ├── configOpTypeException.xml │ │ │ │ │ └── configRemoveIO.xml │ │ │ │ └── yaml/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── TestYAMLConfig.cpp │ │ │ │ ├── TestYAMLConfigSerial.cpp │ │ │ │ ├── config1.yaml │ │ │ │ ├── configOpNullException.yaml │ │ │ │ ├── configOpTypeException.yaml │ │ │ │ └── proto.yaml │ │ │ ├── contract/ │ │ │ │ ├── examples/ │ │ │ │ │ ├── build.sh │ │ │ │ │ ├── config.sh │ │ │ │ │ ├── depends.sh │ │ │ │ │ ├── install.sh │ │ │ │ │ ├── setup.sh │ │ │ │ │ └── test.sh │ │ │ │ ├── lammps/ │ │ │ │ │ ├── adios2_config.xml │ │ │ │ │ ├── build.sh │ │ │ │ │ ├── check_results.sh │ │ │ │ │ ├── config.sh │ │ │ │ │ ├── depends.sh │ │ │ │ │ ├── in.test │ │ │ │ │ ├── install.sh │ │ │ │ │ ├── setup.sh │ │ │ │ │ └── test.sh │ │ │ │ ├── scorpio/ │ │ │ │ │ ├── 0.dump │ │ │ │ │ ├── 1.dump │ │ │ │ │ ├── 2.dump │ │ │ │ │ ├── 3.dump │ │ │ │ │ ├── build.sh │ │ │ │ │ ├── config.sh │ │ │ │ │ ├── depends.sh │ │ │ │ │ ├── install.sh │ │ │ │ │ ├── setup.sh │ │ │ │ │ └── test.sh │ │ │ │ └── tau/ │ │ │ │ ├── build.sh │ │ │ │ ├── config.sh │ │ │ │ ├── depends.sh │ │ │ │ ├── install.sh │ │ │ │ ├── setup.sh │ │ │ │ └── test.sh │ │ │ ├── examples/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── heatTransfer/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── HeatTransfer.Dump.txt │ │ │ │ ├── TestBPFileMx1.cmake │ │ │ │ ├── TestBPFileMx1_zfp.cmake │ │ │ │ ├── TestBPFileMxM.cmake │ │ │ │ ├── TestBPFileMxN.cmake │ │ │ │ ├── TestInlineMxM.cmake │ │ │ │ ├── TestSSCMx1.cmake │ │ │ │ ├── TestSSCMxM.cmake │ │ │ │ ├── TestSSCMxN.cmake │ │ │ │ ├── TestSSTBPMx1.cmake │ │ │ │ ├── TestSSTBPMxM.cmake │ │ │ │ ├── TestSSTBPMxN.cmake │ │ │ │ ├── TestSSTBPRDMAMxN.cmake │ │ │ │ ├── TestSSTFFSMx1.cmake │ │ │ │ ├── TestSSTFFSMxM.cmake │ │ │ │ ├── TestSSTFFSMxN.cmake │ │ │ │ └── TestSSTFFSRDMAMxN.cmake │ │ │ ├── h5vol/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── TestH5VolWriteReadBPFile.cpp │ │ │ ├── install/ │ │ │ │ ├── C/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── main_mpi.c │ │ │ │ │ └── main_nompi.c │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CXX11/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── main_mpi.cxx │ │ │ │ │ └── main_nompi.cxx │ │ │ │ ├── CatalystEnginePlugin/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test-catalyst-config.xml │ │ │ │ │ └── testCatalystEngine.cpp │ │ │ │ ├── EncryptionOperator/ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── EnginePlugin/ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── Fortran/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── main_mpi.f90 │ │ │ │ │ ├── main_mpi_check.F90 │ │ │ │ │ ├── main_nompi.f90 │ │ │ │ │ └── main_nompi_check.F90 │ │ │ │ ├── run_cmake.cmake │ │ │ │ ├── run_install.cmake │ │ │ │ └── run_make.cmake │ │ │ └── utils/ │ │ │ ├── CMakeLists.txt │ │ │ ├── SmallTestData_c.h │ │ │ ├── changingshape/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── TestUtilsChangingShape.bplsla.expected.txt │ │ │ │ ├── TestUtilsChangingShape.bplsldAlternatingStepsAndChangingShapeVar.expected.txt │ │ │ │ ├── TestUtilsChangingShape.bplsldAlternatingStepsAndChangingShapeVarSelection.expected.txt │ │ │ │ ├── TestUtilsChangingShape.bplsldAlternatingStepsVarSelection.expected.txt │ │ │ │ ├── TestUtilsChangingShape.bplsldChangingShapeVarOneStep.expected.txt │ │ │ │ ├── TestUtilsChangingShape.bplsldFixedShapeVarTooManySteps.expected.txt │ │ │ │ └── TestUtilsChangingShape.cpp │ │ │ ├── cwriter/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── TestUtilsCWriter.bplsAl.expected.txt │ │ │ │ ├── TestUtilsCWriter.bplsh.expected.txt │ │ │ │ ├── TestUtilsCWriter.bplsla.expected.txt │ │ │ │ ├── TestUtilsCWriter.bplsldDav.expected.txt │ │ │ │ ├── TestUtilsCWriter.bplsldDavvv.expected.txt │ │ │ │ ├── TestUtilsCWriter.bplsldvarI16.expected.txt │ │ │ │ └── TestUtilsCWriter.c │ │ │ └── iotest/ │ │ │ ├── CMakeLists.txt │ │ │ ├── IOTest.BurstBuffer.1to1.BP4.Stream.Read.bpls.txt │ │ │ ├── IOTest.BurstBuffer.1to1.BP4.Stream.Write.bpls.txt │ │ │ ├── IOTest.BurstBuffer.3to1.BP4.Stream.Read.bpls.txt │ │ │ ├── IOTest.BurstBuffer.3to1.BP4.Stream.Write.bpls.txt │ │ │ ├── IOTest.BurstBuffer.nproc1.BP4.Write.bpls.txt │ │ │ ├── IOTest.BurstBuffer.nproc2.BP4.Write.bpls.txt │ │ │ ├── IOTest.Pipe2.BP.Read.bpls.txt │ │ │ ├── IOTest.Pipe2.BP.Write.bpls.txt │ │ │ ├── IOTest.Pipe2.HDF5.Read.bpls.txt │ │ │ ├── IOTest.Pipe2.HDF5.Write.bpls.txt │ │ │ ├── IOTest.Pipe2.SSC.bpls.txt │ │ │ ├── IOTest.Pipe2.SST.bpls.txt │ │ │ ├── burstbuffer-32KB.txt │ │ │ ├── burstbuffer-BP4-nsub1.xml │ │ │ ├── burstbuffer-BP4-nsub2.yaml │ │ │ ├── burstbuffer-nodrain-BP4-nsub1.xml │ │ │ ├── pipe2-BP.xml │ │ │ ├── pipe2-BP4-burstbuffer-nsub2.xml │ │ │ ├── pipe2-BP4-burstbuffer.xml │ │ │ ├── pipe2-HDF5.txt │ │ │ ├── pipe2-HDF5.xml │ │ │ ├── pipe2-SSC.xml │ │ │ ├── pipe2-SST.xml │ │ │ └── pipe2.txt │ │ └── thirdparty/ │ │ ├── .clang-tidy │ │ ├── CMakeLists.txt │ │ ├── EVPath/ │ │ │ ├── CMakeLists.txt │ │ │ ├── EVPath/ │ │ │ │ ├── .depends │ │ │ │ ├── .github/ │ │ │ │ │ └── workflows/ │ │ │ │ │ ├── build-and-test.yml │ │ │ │ │ └── triggers.yml │ │ │ │ ├── .gitignore │ │ │ │ ├── .indent.pro │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CTestConfig.cmake │ │ │ │ ├── CTestCustom.ctest.in │ │ │ │ ├── EVPathConfig.cmake.in │ │ │ │ ├── EVPathConfigCommon.cmake.in │ │ │ │ ├── EVPathConfigInstall.cmake │ │ │ │ ├── EVPathConfigVersion.cmake.in │ │ │ │ ├── LICENSE │ │ │ │ ├── chr_time.c │ │ │ │ ├── chr_time.h │ │ │ │ ├── cm.c │ │ │ │ ├── cm_control.c │ │ │ │ ├── cm_evol.c │ │ │ │ ├── cm_formats.c │ │ │ │ ├── cm_internal.h │ │ │ │ ├── cm_lock.c │ │ │ │ ├── cm_pbio.c │ │ │ │ ├── cm_perf.c │ │ │ │ ├── cm_schedule.h │ │ │ │ ├── cm_threadio.c │ │ │ │ ├── cm_transport.c │ │ │ │ ├── cm_transport.h │ │ │ │ ├── cm_util.c │ │ │ │ ├── cmake/ │ │ │ │ │ ├── AddLibtoolLibrary.cmake │ │ │ │ │ ├── CERCS_package.cmake │ │ │ │ │ ├── CheckBrokenTitanCompiler.cmake │ │ │ │ │ ├── CreateLibtoolFile.cmake │ │ │ │ │ ├── FindCERCSProject.cmake │ │ │ │ │ ├── FindIBVERBS.cmake │ │ │ │ │ ├── FindLIBFABRIC.cmake │ │ │ │ │ ├── FindNNTI.cmake │ │ │ │ │ ├── FindNVML.cmake │ │ │ │ │ ├── FindPkgConfig.cmake │ │ │ │ │ ├── GOOD_MEMLOCK_LIMIT.c │ │ │ │ │ ├── check_mac_sysctl.c │ │ │ │ │ ├── check_sysconf.c │ │ │ │ │ ├── check_sysinfo.c │ │ │ │ │ └── upstream/ │ │ │ │ │ └── FindPkgConfig.cmake │ │ │ │ ├── cmdemo.c │ │ │ │ ├── cmenet.c │ │ │ │ ├── cmepoll.c │ │ │ │ ├── cmfabric.c │ │ │ │ ├── cmib.c │ │ │ │ ├── cmmulticast.c │ │ │ │ ├── cmnnti.c │ │ │ │ ├── cmprobe.c │ │ │ │ ├── cmselect.c │ │ │ │ ├── cmsockets.c │ │ │ │ ├── cmudp.c │ │ │ │ ├── cmudt4.cpp │ │ │ │ ├── config.h.cmake │ │ │ │ ├── dfg_tests/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── anon_multi_test.c │ │ │ │ │ ├── auto_tree_test.c │ │ │ │ │ ├── chain_test.c │ │ │ │ │ ├── dchain_test.c │ │ │ │ │ ├── delayed_submit.c │ │ │ │ │ ├── evtest.c │ │ │ │ │ ├── fail_chain_test.c │ │ │ │ │ ├── filter_test.c │ │ │ │ │ ├── force_test.c │ │ │ │ │ ├── master_not_client.c │ │ │ │ │ ├── metrics_test.c │ │ │ │ │ ├── multi_sink.c │ │ │ │ │ ├── multi_test.c │ │ │ │ │ ├── named_stones.c │ │ │ │ │ ├── rawtest.c │ │ │ │ │ ├── reconfig_chain_test.c │ │ │ │ │ ├── reconfig_tree_test.c │ │ │ │ │ ├── router_test.c │ │ │ │ │ ├── self_reconfig_test.c │ │ │ │ │ ├── source_split.c │ │ │ │ │ ├── test_support.c │ │ │ │ │ ├── test_support.h │ │ │ │ │ └── tree_test.c │ │ │ │ ├── dlloader.c │ │ │ │ ├── dlloader.h │ │ │ │ ├── doc/ │ │ │ │ │ ├── Doxyfile │ │ │ │ │ ├── cm.dox │ │ │ │ │ ├── cm.tex │ │ │ │ │ ├── creation.dox │ │ │ │ │ ├── evdfg.dox │ │ │ │ │ ├── evpath.dox │ │ │ │ │ ├── func1.eps │ │ │ │ │ ├── func1.fig │ │ │ │ │ ├── func1.fig.bak │ │ │ │ │ ├── mainpage.dox │ │ │ │ │ ├── net.fig │ │ │ │ │ ├── overlay.eps │ │ │ │ │ ├── overlay.fig │ │ │ │ │ ├── struct.eps │ │ │ │ │ └── struct.fig │ │ │ │ ├── ev_dfg.c │ │ │ │ ├── ev_dfg.h │ │ │ │ ├── ev_dfg_internal.h │ │ │ │ ├── ev_internal.h │ │ │ │ ├── ev_select.h │ │ │ │ ├── evp.c │ │ │ │ ├── evp_compat.c │ │ │ │ ├── evp_threads.c │ │ │ │ ├── evpath.h │ │ │ │ ├── evpath.pc.in │ │ │ │ ├── evpath.supp │ │ │ │ ├── evpath_config.in │ │ │ │ ├── examples/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── IPMI_recv.c │ │ │ │ │ ├── derived_recv.c │ │ │ │ │ ├── derived_recv2.c │ │ │ │ │ ├── derived_send.c │ │ │ │ │ ├── derived_send2.c │ │ │ │ │ ├── dfg_client.c │ │ │ │ │ ├── dfg_client2.c │ │ │ │ │ ├── dfg_client3.c │ │ │ │ │ ├── dfg_master.c │ │ │ │ │ ├── dfg_master2.c │ │ │ │ │ ├── dfg_master3.c │ │ │ │ │ ├── dfg_master4.c │ │ │ │ │ ├── messages.h │ │ │ │ │ ├── multi_send.c │ │ │ │ │ ├── net_recv.c │ │ │ │ │ ├── net_send.c │ │ │ │ │ ├── transform_recv.c │ │ │ │ │ ├── transform_recv2.c │ │ │ │ │ ├── transform_recv3.c │ │ │ │ │ └── triv.c │ │ │ │ ├── gen_interface.pl │ │ │ │ ├── ip_config.c │ │ │ │ ├── libvirt.c │ │ │ │ ├── metrics.c │ │ │ │ ├── models.c │ │ │ │ ├── models.h │ │ │ │ ├── mpi_tests/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── bulk_cm.c │ │ │ │ │ └── simple_cm.c │ │ │ │ ├── mtests/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── bulktest.c │ │ │ │ │ ├── cmconn.c │ │ │ │ │ ├── cmping.c │ │ │ │ │ ├── cmtest.c │ │ │ │ │ ├── run_remote_tests.pl │ │ │ │ │ ├── support.c │ │ │ │ │ ├── take_test.c │ │ │ │ │ ├── test_spec │ │ │ │ │ ├── trans_test.c │ │ │ │ │ └── transport_test.pl │ │ │ │ ├── qual_hostname.c │ │ │ │ ├── response.c │ │ │ │ ├── response.h │ │ │ │ ├── rtests/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── evtest.c │ │ │ │ │ ├── extract_test.c │ │ │ │ │ └── remote_terminal_test.c │ │ │ │ ├── scripts/ │ │ │ │ │ ├── ci/ │ │ │ │ │ │ ├── cmake/ │ │ │ │ │ │ │ ├── alma8-clang.cmake │ │ │ │ │ │ │ ├── alma8-gcc.cmake │ │ │ │ │ │ │ ├── alma8-intel.cmake │ │ │ │ │ │ │ ├── alma8-inteloneapi.cmake │ │ │ │ │ │ │ ├── centos7-clang.cmake │ │ │ │ │ │ │ ├── centos7-gcc.cmake │ │ │ │ │ │ │ ├── centos7-nvhpc.cmake │ │ │ │ │ │ │ ├── common.cmake │ │ │ │ │ │ │ ├── macos-clang.cmake │ │ │ │ │ │ │ ├── ubuntu1604-clang.cmake │ │ │ │ │ │ │ ├── ubuntu1604-gcc.cmake │ │ │ │ │ │ │ ├── ubuntu1804-clang.cmake │ │ │ │ │ │ │ ├── ubuntu1804-gcc.cmake │ │ │ │ │ │ │ ├── ubuntu1804-intel.cmake │ │ │ │ │ │ │ ├── ubuntu1804-inteloneapi.cmake │ │ │ │ │ │ │ ├── ubuntu2004-clang.cmake │ │ │ │ │ │ │ ├── ubuntu2004-gcc.cmake │ │ │ │ │ │ │ ├── ubuntu2004-nvhpc.cmake │ │ │ │ │ │ │ ├── unix-common.cmake │ │ │ │ │ │ │ ├── windows-common.cmake │ │ │ │ │ │ │ ├── windows-vs2019-clang.cmake │ │ │ │ │ │ │ └── windows-vs2019-msvc.cmake │ │ │ │ │ │ ├── gh-actions/ │ │ │ │ │ │ │ └── run.sh │ │ │ │ │ │ ├── scripts/ │ │ │ │ │ │ │ └── post-cdash-status.sh │ │ │ │ │ │ └── setup/ │ │ │ │ │ │ ├── install-atl.sh │ │ │ │ │ │ ├── install-dill.sh │ │ │ │ │ │ ├── install-ffs.sh │ │ │ │ │ │ ├── linux.sh │ │ │ │ │ │ ├── macos.sh │ │ │ │ │ │ └── windows.sh │ │ │ │ │ └── dashboard/ │ │ │ │ │ ├── common.cmake │ │ │ │ │ └── evpath_common.cmake │ │ │ │ ├── stone.txt │ │ │ │ ├── tests/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── auto_test.c │ │ │ │ │ ├── block_test.c │ │ │ │ │ ├── bulktest.c │ │ │ │ │ ├── cmconn.c │ │ │ │ │ ├── cmping.c │ │ │ │ │ ├── congest_bulktest.c │ │ │ │ │ ├── congestion_test.c │ │ │ │ │ ├── evtest.c │ │ │ │ │ ├── executing_stone_test.c │ │ │ │ │ ├── extract_test.c │ │ │ │ │ ├── filter2_test.c │ │ │ │ │ ├── filter_test.c │ │ │ │ │ ├── http_test.c │ │ │ │ │ ├── multi_thread.c │ │ │ │ │ ├── multiq_test.c │ │ │ │ │ ├── no_type_router_test.c │ │ │ │ │ ├── rawtest.c │ │ │ │ │ ├── rawtest2.c │ │ │ │ │ ├── router_test.c │ │ │ │ │ ├── router_test2.c │ │ │ │ │ ├── split_test.c │ │ │ │ │ ├── store_limit_test.c │ │ │ │ │ ├── store_pressure_test.c │ │ │ │ │ ├── store_send_test.c │ │ │ │ │ ├── submit_test.c │ │ │ │ │ ├── submit_wait_test.c │ │ │ │ │ ├── support.c │ │ │ │ │ ├── take_test.c │ │ │ │ │ ├── testdll/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ └── foo.c │ │ │ │ │ ├── thin_client.c │ │ │ │ │ ├── thin_test.c │ │ │ │ │ └── transform_test.c │ │ │ │ ├── thin_server.c │ │ │ │ ├── version.c │ │ │ │ └── zpl-enet/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── LICENSE │ │ │ │ ├── ORIGIN │ │ │ │ ├── README.md │ │ │ │ ├── appveyor.yml │ │ │ │ ├── include/ │ │ │ │ │ └── enet.h │ │ │ │ ├── misc/ │ │ │ │ │ ├── ChangeLog │ │ │ │ │ └── docs/ │ │ │ │ │ ├── FAQ.dox │ │ │ │ │ ├── design.dox │ │ │ │ │ ├── install.dox │ │ │ │ │ ├── license.dox │ │ │ │ │ ├── mainpage.dox │ │ │ │ │ └── tutorial.dox │ │ │ │ ├── package.json │ │ │ │ └── test/ │ │ │ │ ├── build.c │ │ │ │ └── library.c │ │ │ ├── Readme.txt │ │ │ └── update.sh │ │ ├── GTest/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Readme.txt │ │ │ ├── googletest/ │ │ │ │ ├── .clang-format │ │ │ │ ├── .github/ │ │ │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ │ │ ├── 00-bug_report.md │ │ │ │ │ │ ├── 10-feature_request.md │ │ │ │ │ │ └── config.yml │ │ │ │ │ └── workflows/ │ │ │ │ │ └── gtest-ci.yml │ │ │ │ ├── .gitignore │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ ├── CONTRIBUTORS │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── WORKSPACE │ │ │ │ ├── ci/ │ │ │ │ │ ├── linux-presubmit.sh │ │ │ │ │ └── macos-presubmit.sh │ │ │ │ ├── docs/ │ │ │ │ │ ├── _config.yml │ │ │ │ │ ├── _data/ │ │ │ │ │ │ └── navigation.yml │ │ │ │ │ ├── _sass/ │ │ │ │ │ │ └── main.scss │ │ │ │ │ ├── advanced.md │ │ │ │ │ ├── assets/ │ │ │ │ │ │ └── css/ │ │ │ │ │ │ └── style.scss │ │ │ │ │ ├── community_created_documentation.md │ │ │ │ │ ├── faq.md │ │ │ │ │ ├── gmock_cheat_sheet.md │ │ │ │ │ ├── gmock_cook_book.md │ │ │ │ │ ├── gmock_faq.md │ │ │ │ │ ├── gmock_for_dummies.md │ │ │ │ │ ├── index.md │ │ │ │ │ ├── pkgconfig.md │ │ │ │ │ ├── platforms.md │ │ │ │ │ ├── primer.md │ │ │ │ │ ├── quickstart-bazel.md │ │ │ │ │ ├── quickstart-cmake.md │ │ │ │ │ ├── reference/ │ │ │ │ │ │ ├── actions.md │ │ │ │ │ │ ├── assertions.md │ │ │ │ │ │ ├── matchers.md │ │ │ │ │ │ ├── mocking.md │ │ │ │ │ │ └── testing.md │ │ │ │ │ └── samples.md │ │ │ │ ├── googlemock/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README.md │ │ │ │ │ ├── cmake/ │ │ │ │ │ │ ├── gmock.pc.in │ │ │ │ │ │ └── gmock_main.pc.in │ │ │ │ │ ├── docs/ │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── include/ │ │ │ │ │ │ └── gmock/ │ │ │ │ │ │ ├── gmock-actions.h │ │ │ │ │ │ ├── gmock-cardinalities.h │ │ │ │ │ │ ├── gmock-function-mocker.h │ │ │ │ │ │ ├── gmock-matchers.h │ │ │ │ │ │ ├── gmock-more-actions.h │ │ │ │ │ │ ├── gmock-more-matchers.h │ │ │ │ │ │ ├── gmock-nice-strict.h │ │ │ │ │ │ ├── gmock-spec-builders.h │ │ │ │ │ │ ├── gmock.h │ │ │ │ │ │ └── internal/ │ │ │ │ │ │ ├── custom/ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── gmock-generated-actions.h │ │ │ │ │ │ │ ├── gmock-matchers.h │ │ │ │ │ │ │ └── gmock-port.h │ │ │ │ │ │ ├── gmock-internal-utils.h │ │ │ │ │ │ ├── gmock-port.h │ │ │ │ │ │ └── gmock-pp.h │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── gmock-all.cc │ │ │ │ │ │ ├── gmock-cardinalities.cc │ │ │ │ │ │ ├── gmock-internal-utils.cc │ │ │ │ │ │ ├── gmock-matchers.cc │ │ │ │ │ │ ├── gmock-spec-builders.cc │ │ │ │ │ │ ├── gmock.cc │ │ │ │ │ │ └── gmock_main.cc │ │ │ │ │ └── test/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── gmock-actions_test.cc │ │ │ │ │ ├── gmock-cardinalities_test.cc │ │ │ │ │ ├── gmock-function-mocker_test.cc │ │ │ │ │ ├── gmock-internal-utils_test.cc │ │ │ │ │ ├── gmock-matchers-arithmetic_test.cc │ │ │ │ │ ├── gmock-matchers-comparisons_test.cc │ │ │ │ │ ├── gmock-matchers-containers_test.cc │ │ │ │ │ ├── gmock-matchers-misc_test.cc │ │ │ │ │ ├── gmock-matchers_test.h │ │ │ │ │ ├── gmock-more-actions_test.cc │ │ │ │ │ ├── gmock-nice-strict_test.cc │ │ │ │ │ ├── gmock-port_test.cc │ │ │ │ │ ├── gmock-pp-string_test.cc │ │ │ │ │ ├── gmock-pp_test.cc │ │ │ │ │ ├── gmock-spec-builders_test.cc │ │ │ │ │ ├── gmock_all_test.cc │ │ │ │ │ ├── gmock_ex_test.cc │ │ │ │ │ ├── gmock_leak_test.py │ │ │ │ │ ├── gmock_leak_test_.cc │ │ │ │ │ ├── gmock_link2_test.cc │ │ │ │ │ ├── gmock_link_test.cc │ │ │ │ │ ├── gmock_link_test.h │ │ │ │ │ ├── gmock_output_test.py │ │ │ │ │ ├── gmock_output_test_.cc │ │ │ │ │ ├── gmock_output_test_golden.txt │ │ │ │ │ ├── gmock_stress_test.cc │ │ │ │ │ ├── gmock_test.cc │ │ │ │ │ └── gmock_test_utils.py │ │ │ │ └── googletest/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README.md │ │ │ │ ├── cmake/ │ │ │ │ │ ├── Config.cmake.in │ │ │ │ │ ├── gtest.pc.in │ │ │ │ │ ├── gtest_main.pc.in │ │ │ │ │ ├── internal_utils.cmake │ │ │ │ │ └── libgtest.la.in │ │ │ │ ├── docs/ │ │ │ │ │ └── README.md │ │ │ │ ├── include/ │ │ │ │ │ └── gtest/ │ │ │ │ │ ├── gtest-assertion-result.h │ │ │ │ │ ├── gtest-death-test.h │ │ │ │ │ ├── gtest-matchers.h │ │ │ │ │ ├── gtest-message.h │ │ │ │ │ ├── gtest-param-test.h │ │ │ │ │ ├── gtest-printers.h │ │ │ │ │ ├── gtest-spi.h │ │ │ │ │ ├── gtest-test-part.h │ │ │ │ │ ├── gtest-typed-test.h │ │ │ │ │ ├── gtest.h │ │ │ │ │ ├── gtest_pred_impl.h │ │ │ │ │ ├── gtest_prod.h │ │ │ │ │ └── internal/ │ │ │ │ │ ├── custom/ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── gtest-port.h │ │ │ │ │ │ ├── gtest-printers.h │ │ │ │ │ │ └── gtest.h │ │ │ │ │ ├── gtest-death-test-internal.h │ │ │ │ │ ├── gtest-filepath.h │ │ │ │ │ ├── gtest-internal.h │ │ │ │ │ ├── gtest-param-util.h │ │ │ │ │ ├── gtest-port-arch.h │ │ │ │ │ ├── gtest-port.h │ │ │ │ │ ├── gtest-string.h │ │ │ │ │ └── gtest-type-util.h │ │ │ │ ├── samples/ │ │ │ │ │ ├── prime_tables.h │ │ │ │ │ ├── sample1.cc │ │ │ │ │ ├── sample1.h │ │ │ │ │ ├── sample10_unittest.cc │ │ │ │ │ ├── sample1_unittest.cc │ │ │ │ │ ├── sample2.cc │ │ │ │ │ ├── sample2.h │ │ │ │ │ ├── sample2_unittest.cc │ │ │ │ │ ├── sample3-inl.h │ │ │ │ │ ├── sample3_unittest.cc │ │ │ │ │ ├── sample4.cc │ │ │ │ │ ├── sample4.h │ │ │ │ │ ├── sample4_unittest.cc │ │ │ │ │ ├── sample5_unittest.cc │ │ │ │ │ ├── sample6_unittest.cc │ │ │ │ │ ├── sample7_unittest.cc │ │ │ │ │ ├── sample8_unittest.cc │ │ │ │ │ └── sample9_unittest.cc │ │ │ │ ├── src/ │ │ │ │ │ ├── gtest-all.cc │ │ │ │ │ ├── gtest-assertion-result.cc │ │ │ │ │ ├── gtest-death-test.cc │ │ │ │ │ ├── gtest-filepath.cc │ │ │ │ │ ├── gtest-internal-inl.h │ │ │ │ │ ├── gtest-matchers.cc │ │ │ │ │ ├── gtest-port.cc │ │ │ │ │ ├── gtest-printers.cc │ │ │ │ │ ├── gtest-test-part.cc │ │ │ │ │ ├── gtest-typed-test.cc │ │ │ │ │ ├── gtest.cc │ │ │ │ │ └── gtest_main.cc │ │ │ │ └── test/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── googletest-break-on-failure-unittest.py │ │ │ │ ├── googletest-break-on-failure-unittest_.cc │ │ │ │ ├── googletest-catch-exceptions-test.py │ │ │ │ ├── googletest-catch-exceptions-test_.cc │ │ │ │ ├── googletest-color-test.py │ │ │ │ ├── googletest-color-test_.cc │ │ │ │ ├── googletest-death-test-test.cc │ │ │ │ ├── googletest-death-test_ex_test.cc │ │ │ │ ├── googletest-env-var-test.py │ │ │ │ ├── googletest-env-var-test_.cc │ │ │ │ ├── googletest-failfast-unittest.py │ │ │ │ ├── googletest-failfast-unittest_.cc │ │ │ │ ├── googletest-filepath-test.cc │ │ │ │ ├── googletest-filter-unittest.py │ │ │ │ ├── googletest-filter-unittest_.cc │ │ │ │ ├── googletest-global-environment-unittest.py │ │ │ │ ├── googletest-global-environment-unittest_.cc │ │ │ │ ├── googletest-json-outfiles-test.py │ │ │ │ ├── googletest-json-output-unittest.py │ │ │ │ ├── googletest-list-tests-unittest.py │ │ │ │ ├── googletest-list-tests-unittest_.cc │ │ │ │ ├── googletest-listener-test.cc │ │ │ │ ├── googletest-message-test.cc │ │ │ │ ├── googletest-options-test.cc │ │ │ │ ├── googletest-output-test-golden-lin.txt │ │ │ │ ├── googletest-output-test.py │ │ │ │ ├── googletest-output-test_.cc │ │ │ │ ├── googletest-param-test-invalid-name1-test.py │ │ │ │ ├── googletest-param-test-invalid-name1-test_.cc │ │ │ │ ├── googletest-param-test-invalid-name2-test.py │ │ │ │ ├── googletest-param-test-invalid-name2-test_.cc │ │ │ │ ├── googletest-param-test-test.cc │ │ │ │ ├── googletest-param-test-test.h │ │ │ │ ├── googletest-param-test2-test.cc │ │ │ │ ├── googletest-port-test.cc │ │ │ │ ├── googletest-printers-test.cc │ │ │ │ ├── googletest-setuptestsuite-test.py │ │ │ │ ├── googletest-setuptestsuite-test_.cc │ │ │ │ ├── googletest-shuffle-test.py │ │ │ │ ├── googletest-shuffle-test_.cc │ │ │ │ ├── googletest-test-part-test.cc │ │ │ │ ├── googletest-throw-on-failure-test.py │ │ │ │ ├── googletest-throw-on-failure-test_.cc │ │ │ │ ├── googletest-uninitialized-test.py │ │ │ │ ├── googletest-uninitialized-test_.cc │ │ │ │ ├── gtest-typed-test2_test.cc │ │ │ │ ├── gtest-typed-test_test.cc │ │ │ │ ├── gtest-typed-test_test.h │ │ │ │ ├── gtest-unittest-api_test.cc │ │ │ │ ├── gtest_all_test.cc │ │ │ │ ├── gtest_assert_by_exception_test.cc │ │ │ │ ├── gtest_environment_test.cc │ │ │ │ ├── gtest_help_test.py │ │ │ │ ├── gtest_help_test_.cc │ │ │ │ ├── gtest_json_test_utils.py │ │ │ │ ├── gtest_list_output_unittest.py │ │ │ │ ├── gtest_list_output_unittest_.cc │ │ │ │ ├── gtest_main_unittest.cc │ │ │ │ ├── gtest_no_test_unittest.cc │ │ │ │ ├── gtest_pred_impl_unittest.cc │ │ │ │ ├── gtest_premature_exit_test.cc │ │ │ │ ├── gtest_prod_test.cc │ │ │ │ ├── gtest_repeat_test.cc │ │ │ │ ├── gtest_skip_check_output_test.py │ │ │ │ ├── gtest_skip_environment_check_output_test.py │ │ │ │ ├── gtest_skip_in_environment_setup_test.cc │ │ │ │ ├── gtest_skip_test.cc │ │ │ │ ├── gtest_sole_header_test.cc │ │ │ │ ├── gtest_stress_test.cc │ │ │ │ ├── gtest_test_macro_stack_footprint_test.cc │ │ │ │ ├── gtest_test_utils.py │ │ │ │ ├── gtest_testbridge_test.py │ │ │ │ ├── gtest_testbridge_test_.cc │ │ │ │ ├── gtest_throw_on_failure_ex_test.cc │ │ │ │ ├── gtest_unittest.cc │ │ │ │ ├── gtest_xml_outfile1_test_.cc │ │ │ │ ├── gtest_xml_outfile2_test_.cc │ │ │ │ ├── gtest_xml_outfiles_test.py │ │ │ │ ├── gtest_xml_output_unittest.py │ │ │ │ ├── gtest_xml_output_unittest_.cc │ │ │ │ ├── gtest_xml_test_utils.py │ │ │ │ ├── production.cc │ │ │ │ └── production.h │ │ │ └── update.sh │ │ ├── KWSys/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Readme.txt │ │ │ ├── adios2sys/ │ │ │ │ ├── Base64.c │ │ │ │ ├── Base64.h.in │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CONTRIBUTING.rst │ │ │ │ ├── CTestConfig.cmake │ │ │ │ ├── CTestCustom.cmake.in │ │ │ │ ├── CommandLineArguments.cxx │ │ │ │ ├── CommandLineArguments.hxx.in │ │ │ │ ├── Configure.h.in │ │ │ │ ├── Configure.hxx.in │ │ │ │ ├── ConsoleBuf.hxx.in │ │ │ │ ├── Copyright.txt │ │ │ │ ├── Directory.cxx │ │ │ │ ├── Directory.hxx.in │ │ │ │ ├── DynamicLoader.cxx │ │ │ │ ├── DynamicLoader.hxx.in │ │ │ │ ├── Encoding.h.in │ │ │ │ ├── Encoding.hxx.in │ │ │ │ ├── EncodingC.c │ │ │ │ ├── EncodingCXX.cxx │ │ │ │ ├── ExtraTest.cmake.in │ │ │ │ ├── FStream.cxx │ │ │ │ ├── FStream.hxx.in │ │ │ │ ├── Glob.cxx │ │ │ │ ├── Glob.hxx.in │ │ │ │ ├── MD5.c │ │ │ │ ├── MD5.h.in │ │ │ │ ├── Process.h.in │ │ │ │ ├── ProcessUNIX.c │ │ │ │ ├── ProcessWin32.c │ │ │ │ ├── README.rst │ │ │ │ ├── RegularExpression.cxx │ │ │ │ ├── RegularExpression.hxx.in │ │ │ │ ├── Status.cxx │ │ │ │ ├── Status.hxx.in │ │ │ │ ├── String.c │ │ │ │ ├── String.h.in │ │ │ │ ├── System.c │ │ │ │ ├── System.h.in │ │ │ │ ├── SystemInformation.cxx │ │ │ │ ├── SystemInformation.hxx.in │ │ │ │ ├── SystemTools.cxx │ │ │ │ ├── SystemTools.hxx.in │ │ │ │ ├── Terminal.c │ │ │ │ ├── Terminal.h.in │ │ │ │ ├── kwsysHeaderDump.pl │ │ │ │ ├── kwsysPlatformTests.cmake │ │ │ │ ├── kwsysPlatformTestsC.c │ │ │ │ ├── kwsysPlatformTestsCXX.cxx │ │ │ │ ├── kwsysPrivate.h │ │ │ │ ├── testCommandLineArguments.cxx │ │ │ │ ├── testCommandLineArguments1.cxx │ │ │ │ ├── testConfigure.cxx │ │ │ │ ├── testConsoleBuf.cxx │ │ │ │ ├── testConsoleBuf.hxx │ │ │ │ ├── testConsoleBufChild.cxx │ │ │ │ ├── testDirectory.cxx │ │ │ │ ├── testDynamicLoader.cxx │ │ │ │ ├── testDynload.c │ │ │ │ ├── testDynload.h │ │ │ │ ├── testDynloadImpl.c │ │ │ │ ├── testDynloadImpl.h │ │ │ │ ├── testDynloadUse.c │ │ │ │ ├── testEncode.c │ │ │ │ ├── testEncoding.cxx │ │ │ │ ├── testFStream.cxx │ │ │ │ ├── testFail.c │ │ │ │ ├── testProcess.c │ │ │ │ ├── testStatus.cxx │ │ │ │ ├── testSystemInformation.cxx │ │ │ │ ├── testSystemTools.cxx │ │ │ │ ├── testSystemTools.h.in │ │ │ │ └── testTerminal.c │ │ │ └── update.sh │ │ ├── atl/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Readme.txt │ │ │ ├── atl/ │ │ │ │ ├── .github/ │ │ │ │ │ └── workflows/ │ │ │ │ │ ├── build-and-test.yml │ │ │ │ │ └── triggers.yml │ │ │ │ ├── .gitignore │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CTestConfig.cmake │ │ │ │ ├── CTestCustom.cmake.in │ │ │ │ ├── LICENSE │ │ │ │ ├── atl-config.cmake.in │ │ │ │ ├── atl-config.in │ │ │ │ ├── atl.h │ │ │ │ ├── atl.pc.in │ │ │ │ ├── atl.supp │ │ │ │ ├── atom.c │ │ │ │ ├── atom_check.c │ │ │ │ ├── atom_internal.h │ │ │ │ ├── atom_server.c │ │ │ │ ├── atom_test.c │ │ │ │ ├── attr.c │ │ │ │ ├── attr_dump.c │ │ │ │ ├── attr_test.c │ │ │ │ ├── config.h.cmake │ │ │ │ ├── lookup3.c │ │ │ │ ├── scripts/ │ │ │ │ │ ├── ci/ │ │ │ │ │ │ ├── cmake/ │ │ │ │ │ │ │ ├── centos7-clang.cmake │ │ │ │ │ │ │ ├── centos7-gcc.cmake │ │ │ │ │ │ │ ├── centos7-nvhpc.cmake │ │ │ │ │ │ │ ├── centos8-clang.cmake │ │ │ │ │ │ │ ├── centos8-gcc.cmake │ │ │ │ │ │ │ ├── centos8-intel.cmake │ │ │ │ │ │ │ ├── centos8-inteloneapi.cmake │ │ │ │ │ │ │ ├── common.cmake │ │ │ │ │ │ │ ├── macos-clang.cmake │ │ │ │ │ │ │ ├── ubuntu1604-clang.cmake │ │ │ │ │ │ │ ├── ubuntu1604-gcc.cmake │ │ │ │ │ │ │ ├── ubuntu1804-clang.cmake │ │ │ │ │ │ │ ├── ubuntu1804-gcc.cmake │ │ │ │ │ │ │ ├── ubuntu1804-intel.cmake │ │ │ │ │ │ │ ├── ubuntu1804-inteloneapi.cmake │ │ │ │ │ │ │ ├── ubuntu2004-clang.cmake │ │ │ │ │ │ │ ├── ubuntu2004-gcc.cmake │ │ │ │ │ │ │ ├── ubuntu2004-nvhpc.cmake │ │ │ │ │ │ │ ├── unix-common.cmake │ │ │ │ │ │ │ ├── windows-common.cmake │ │ │ │ │ │ │ ├── windows-vs2019-clang.cmake │ │ │ │ │ │ │ └── windows-vs2019-msvc.cmake │ │ │ │ │ │ ├── gh-actions/ │ │ │ │ │ │ │ └── run.sh │ │ │ │ │ │ ├── scripts/ │ │ │ │ │ │ │ └── post-cdash-status.sh │ │ │ │ │ │ └── setup/ │ │ │ │ │ │ ├── linux.sh │ │ │ │ │ │ ├── macos.sh │ │ │ │ │ │ └── windows.sh │ │ │ │ │ └── dashboard/ │ │ │ │ │ ├── atl_common.cmake │ │ │ │ │ └── common.cmake │ │ │ │ ├── tclHash.c │ │ │ │ ├── tclHash.h │ │ │ │ └── unix_defs.h │ │ │ └── update.sh │ │ ├── dill/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Readme.txt │ │ │ ├── dill/ │ │ │ │ ├── .clang-format │ │ │ │ ├── .github/ │ │ │ │ │ └── workflows/ │ │ │ │ │ ├── build-and-test.yml │ │ │ │ │ └── triggers.yml │ │ │ │ ├── .gitignore │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CTestConfig.cmake │ │ │ │ ├── CTestCustom.cmake.in │ │ │ │ ├── LICENSE │ │ │ │ ├── PORTING │ │ │ │ ├── arm5.c │ │ │ │ ├── arm5.h │ │ │ │ ├── arm5.ops │ │ │ │ ├── arm5_rt.c │ │ │ │ ├── arm6.c │ │ │ │ ├── arm6.h │ │ │ │ ├── arm6.ops │ │ │ │ ├── arm6_rt.c │ │ │ │ ├── arm8.c │ │ │ │ ├── arm8.h │ │ │ │ ├── arm8.ops │ │ │ │ ├── arm8_rt.c │ │ │ │ ├── base.ops │ │ │ │ ├── cmake/ │ │ │ │ │ ├── Compile.cmake │ │ │ │ │ ├── FindBinUtils.cmake │ │ │ │ │ └── FindLibFFI.cmake │ │ │ │ ├── config.h.cmake │ │ │ │ ├── dill-config-common.cmake.in │ │ │ │ ├── dill-config-install.cmake.in │ │ │ │ ├── dill-config-version.cmake.in │ │ │ │ ├── dill-config.cmake.in │ │ │ │ ├── dill-config.in │ │ │ │ ├── dill.pc.in │ │ │ │ ├── dill.supp │ │ │ │ ├── dill_cplus.c │ │ │ │ ├── dill_internal.h │ │ │ │ ├── dill_pkg.c │ │ │ │ ├── dill_util.c │ │ │ │ ├── ia64.c │ │ │ │ ├── ia64.h │ │ │ │ ├── ia64.ops │ │ │ │ ├── ia64_rt.c │ │ │ │ ├── powerpc.c │ │ │ │ ├── powerpc.h │ │ │ │ ├── powerpc.ops │ │ │ │ ├── powerpc_rt.c │ │ │ │ ├── ppc64le.c │ │ │ │ ├── ppc64le.h │ │ │ │ ├── ppc64le.ops │ │ │ │ ├── ppc64le_rt.c │ │ │ │ ├── scripts/ │ │ │ │ │ ├── ci/ │ │ │ │ │ │ ├── cmake/ │ │ │ │ │ │ │ ├── alma8-clang.cmake │ │ │ │ │ │ │ ├── alma8-gcc.cmake │ │ │ │ │ │ │ ├── alma8-intel.cmake │ │ │ │ │ │ │ ├── alma8-inteloneapi.cmake │ │ │ │ │ │ │ ├── centos7-clang.cmake │ │ │ │ │ │ │ ├── centos7-gcc.cmake │ │ │ │ │ │ │ ├── centos7-nvhpc.cmake │ │ │ │ │ │ │ ├── common.cmake │ │ │ │ │ │ │ ├── macos-clang.cmake │ │ │ │ │ │ │ ├── ubuntu1604-clang.cmake │ │ │ │ │ │ │ ├── ubuntu1604-gcc.cmake │ │ │ │ │ │ │ ├── ubuntu1804-clang.cmake │ │ │ │ │ │ │ ├── ubuntu1804-gcc.cmake │ │ │ │ │ │ │ ├── ubuntu1804-intel.cmake │ │ │ │ │ │ │ ├── ubuntu1804-inteloneapi.cmake │ │ │ │ │ │ │ ├── ubuntu2004-clang.cmake │ │ │ │ │ │ │ ├── ubuntu2004-gcc.cmake │ │ │ │ │ │ │ ├── ubuntu2004-nvhpc.cmake │ │ │ │ │ │ │ ├── unix-common.cmake │ │ │ │ │ │ │ ├── windows-common.cmake │ │ │ │ │ │ │ ├── windows2019-vs2019-clang.cmake │ │ │ │ │ │ │ └── windows2022-vs2022-msvc.cmake │ │ │ │ │ │ ├── gh-actions/ │ │ │ │ │ │ │ └── run.sh │ │ │ │ │ │ ├── scripts/ │ │ │ │ │ │ │ └── post-cdash-status.sh │ │ │ │ │ │ └── setup/ │ │ │ │ │ │ ├── linux.sh │ │ │ │ │ │ ├── macos.sh │ │ │ │ │ │ └── windows.sh │ │ │ │ │ └── dashboard/ │ │ │ │ │ ├── common.cmake │ │ │ │ │ └── dill_common.cmake │ │ │ │ ├── sparc.c │ │ │ │ ├── sparc.h │ │ │ │ ├── sparc.ops │ │ │ │ ├── sparc_rt.c │ │ │ │ ├── tests/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── call-gen │ │ │ │ │ ├── cplus.cc │ │ │ │ │ ├── ctest.c │ │ │ │ │ ├── pkg_test.c │ │ │ │ │ ├── rtest.c │ │ │ │ │ ├── stest.c │ │ │ │ │ ├── t1.c │ │ │ │ │ └── test-gen │ │ │ │ ├── virtual.c │ │ │ │ ├── virtual.h │ │ │ │ ├── virtual.ops │ │ │ │ ├── vm.c │ │ │ │ ├── vtests/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── basic_call.c │ │ │ │ │ ├── branch.c │ │ │ │ │ ├── general.ops │ │ │ │ │ ├── multi_test.c │ │ │ │ │ ├── opt.c │ │ │ │ │ ├── pkg_test.c │ │ │ │ │ ├── prefix_test.c │ │ │ │ │ └── t1.c │ │ │ │ ├── x86.c │ │ │ │ ├── x86.h │ │ │ │ ├── x86.ops │ │ │ │ ├── x86_64.c │ │ │ │ ├── x86_64.h │ │ │ │ ├── x86_64.ops │ │ │ │ ├── x86_64_disassembler.c │ │ │ │ ├── x86_64_rt.c │ │ │ │ └── x86_rt.c │ │ │ └── update.sh │ │ ├── enet/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Readme.txt │ │ │ ├── enet/ │ │ │ │ ├── .gitignore │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CMakeLists.txt.not_using │ │ │ │ ├── ChangeLog │ │ │ │ ├── Doxyfile │ │ │ │ ├── DoxygenLayout.xml │ │ │ │ ├── LICENSE │ │ │ │ ├── Makefile.am │ │ │ │ ├── Makefile.in │ │ │ │ ├── README │ │ │ │ ├── aclocal.m4 │ │ │ │ ├── callbacks.c │ │ │ │ ├── compress.c │ │ │ │ ├── config.guess │ │ │ │ ├── config.sub │ │ │ │ ├── configure │ │ │ │ ├── configure.ac │ │ │ │ ├── depcomp │ │ │ │ ├── docs/ │ │ │ │ │ ├── FAQ.dox │ │ │ │ │ ├── design.dox │ │ │ │ │ ├── install.dox │ │ │ │ │ ├── license.dox │ │ │ │ │ ├── mainpage.dox │ │ │ │ │ └── tutorial.dox │ │ │ │ ├── enet-config.cmake.in │ │ │ │ ├── enet-config.in │ │ │ │ ├── enet.dsp │ │ │ │ ├── enet.pc.in │ │ │ │ ├── enet_dll.cbp │ │ │ │ ├── host.c │ │ │ │ ├── include/ │ │ │ │ │ └── enet/ │ │ │ │ │ ├── callbacks.h │ │ │ │ │ ├── enet.h │ │ │ │ │ ├── list.h │ │ │ │ │ ├── protocol.h │ │ │ │ │ ├── time.h │ │ │ │ │ ├── types.h │ │ │ │ │ ├── unix.h │ │ │ │ │ ├── utility.h │ │ │ │ │ └── win32.h │ │ │ │ ├── install-sh │ │ │ │ ├── libenet.pc.in │ │ │ │ ├── list.c │ │ │ │ ├── ltmain.sh │ │ │ │ ├── m4/ │ │ │ │ │ ├── .keep │ │ │ │ │ ├── libtool.m4 │ │ │ │ │ ├── ltoptions.m4 │ │ │ │ │ ├── ltsugar.m4 │ │ │ │ │ ├── ltversion.m4 │ │ │ │ │ └── lt~obsolete.m4 │ │ │ │ ├── missing │ │ │ │ ├── packet.c │ │ │ │ ├── peer.c │ │ │ │ ├── premake4.lua │ │ │ │ ├── protocol.c │ │ │ │ ├── unix.c │ │ │ │ └── win32.c │ │ │ └── update.sh │ │ ├── ffs/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Readme.txt │ │ │ ├── ffs/ │ │ │ │ ├── .depends │ │ │ │ ├── .github/ │ │ │ │ │ └── workflows/ │ │ │ │ │ ├── build-and-test.yml │ │ │ │ │ └── triggers.yml │ │ │ │ ├── .gitignore │ │ │ │ ├── .indent.pro │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CTestConfig.cmake │ │ │ │ ├── CTestCustom.ctest.in │ │ │ │ ├── LICENSE │ │ │ │ ├── cmake/ │ │ │ │ │ └── BisonFlexSub.cmake │ │ │ │ ├── cod/ │ │ │ │ │ ├── .depends │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── cg.c │ │ │ │ │ ├── cod.h │ │ │ │ │ ├── cod.l │ │ │ │ │ ├── cod.structs │ │ │ │ │ ├── cod.y │ │ │ │ │ ├── cod_internal.h │ │ │ │ │ ├── doc/ │ │ │ │ │ │ ├── Doxyfile │ │ │ │ │ │ ├── cod.tex │ │ │ │ │ │ └── mainpage.dox │ │ │ │ │ ├── gcctestsuite.pl │ │ │ │ │ ├── gen_tests.pl │ │ │ │ │ ├── pregen_source/ │ │ │ │ │ │ ├── Linux/ │ │ │ │ │ │ │ ├── cod.l │ │ │ │ │ │ │ ├── cod.tab.c │ │ │ │ │ │ │ ├── cod.tab.h │ │ │ │ │ │ │ ├── cod.y │ │ │ │ │ │ │ └── lex.yy.c │ │ │ │ │ │ └── Windows/ │ │ │ │ │ │ ├── cod.l │ │ │ │ │ │ ├── cod.tab.c │ │ │ │ │ │ ├── cod.tab.h │ │ │ │ │ │ ├── cod.y │ │ │ │ │ │ └── lex.yy.c │ │ │ │ │ ├── standard.c │ │ │ │ │ ├── struct.pl │ │ │ │ │ └── tests/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── atl_test.c │ │ │ │ │ ├── compound_assignment.c │ │ │ │ │ ├── control.c │ │ │ │ │ ├── data_funcs.c │ │ │ │ │ ├── data_funcs.h │ │ │ │ │ ├── general.ops │ │ │ │ │ ├── gray-images.c │ │ │ │ │ ├── gray.c │ │ │ │ │ ├── mix.c │ │ │ │ │ ├── strings.c │ │ │ │ │ ├── structs.c │ │ │ │ │ ├── t1.c │ │ │ │ │ ├── t10.c │ │ │ │ │ ├── t11.c │ │ │ │ │ ├── t12.c │ │ │ │ │ ├── t2.c │ │ │ │ │ ├── t3.c │ │ │ │ │ ├── t4.c │ │ │ │ │ ├── t5.c │ │ │ │ │ ├── t6.c │ │ │ │ │ ├── t7.c │ │ │ │ │ ├── t8.c │ │ │ │ │ ├── t9.c │ │ │ │ │ ├── test_output/ │ │ │ │ │ │ ├── t1/ │ │ │ │ │ │ │ ├── t1.ia64 │ │ │ │ │ │ │ ├── t1.rhe4 │ │ │ │ │ │ │ ├── t1.rhe4-64 │ │ │ │ │ │ │ ├── t1.sun8 │ │ │ │ │ │ │ └── t1.sun8-64 │ │ │ │ │ │ ├── t5/ │ │ │ │ │ │ │ ├── t5.ia64 │ │ │ │ │ │ │ ├── t5.rhe4 │ │ │ │ │ │ │ ├── t5.rhe4-64 │ │ │ │ │ │ │ ├── t5.sun8 │ │ │ │ │ │ │ └── t5.sun8-64 │ │ │ │ │ │ └── tests │ │ │ │ │ ├── time.c │ │ │ │ │ └── xform.c │ │ │ │ ├── config.h.cmake │ │ │ │ ├── doc/ │ │ │ │ │ ├── IO.bib │ │ │ │ │ ├── IO.tex │ │ │ │ │ ├── code.sty │ │ │ │ │ ├── decode_test.c │ │ │ │ │ ├── encode_test.c │ │ │ │ │ ├── examples/ │ │ │ │ │ │ ├── dynamic_data2.c │ │ │ │ │ │ ├── ffs_decode.c │ │ │ │ │ │ ├── ffs_decode2.c │ │ │ │ │ │ ├── ffs_decode3.c │ │ │ │ │ │ ├── ffs_encode.c │ │ │ │ │ │ ├── ffs_encode2.c │ │ │ │ │ │ ├── ffs_read.c │ │ │ │ │ │ ├── ffs_read2.c │ │ │ │ │ │ ├── ffs_write.c │ │ │ │ │ │ └── ffs_write2.c │ │ │ │ │ ├── format_server.tex │ │ │ │ │ ├── indent.sty │ │ │ │ │ ├── manual.tex │ │ │ │ │ ├── manual_body.tex │ │ │ │ │ ├── manual_test.c │ │ │ │ │ ├── manual_test2.c │ │ │ │ │ ├── server.eps │ │ │ │ │ ├── server.fig │ │ │ │ │ ├── string_mem.eps │ │ │ │ │ ├── string_mem.fig │ │ │ │ │ ├── xml_output │ │ │ │ │ └── xml_output2 │ │ │ │ ├── ffs/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── evol.c │ │ │ │ │ ├── ffs.c │ │ │ │ │ ├── ffs.h.in │ │ │ │ │ ├── ffs_conv.c │ │ │ │ │ ├── ffs_file.c │ │ │ │ │ ├── ffs_formats.c │ │ │ │ │ ├── ffs_gen.c │ │ │ │ │ ├── ffs_gen.h │ │ │ │ │ ├── ffs_internal.h │ │ │ │ │ ├── ffs_malloc.c │ │ │ │ │ ├── ffs_marshal.c │ │ │ │ │ ├── ffs_marshal.h │ │ │ │ │ ├── io_malloc.h │ │ │ │ │ ├── io_test_formats.h │ │ │ │ │ ├── progs/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── FFScp.c │ │ │ │ │ │ ├── FFSdump.c │ │ │ │ │ │ ├── FFSsort.c │ │ │ │ │ │ └── sort_test_generate.c │ │ │ │ │ ├── sax.c │ │ │ │ │ ├── string_conversion.c │ │ │ │ │ ├── tests/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── adios2_bug.c │ │ │ │ │ │ ├── append.c │ │ │ │ │ │ ├── compat_test.c │ │ │ │ │ │ ├── context_test.c │ │ │ │ │ │ ├── context_test2.c │ │ │ │ │ │ ├── ffs_file_test.c │ │ │ │ │ │ ├── ffs_index_test.c │ │ │ │ │ │ ├── ffs_write.c │ │ │ │ │ │ ├── fortran_test.c │ │ │ │ │ │ ├── get_set_test.c │ │ │ │ │ │ ├── io_align_test.c │ │ │ │ │ │ ├── io_def_write.c │ │ │ │ │ │ ├── io_default_test.c │ │ │ │ │ │ ├── io_dyn_read.c │ │ │ │ │ │ ├── io_read.c │ │ │ │ │ │ ├── io_read2.c │ │ │ │ │ │ ├── marshal_test.c │ │ │ │ │ │ ├── marshal_test2.c │ │ │ │ │ │ ├── no_leaf_test.c │ │ │ │ │ │ ├── self_format_test.c │ │ │ │ │ │ ├── test_file_unique.c │ │ │ │ │ │ ├── test_funcs.c │ │ │ │ │ │ ├── test_funcs.h │ │ │ │ │ │ └── xml_test.c │ │ │ │ │ └── xml.c │ │ │ │ ├── ffs-config.cmake.in │ │ │ │ ├── ffs-config.in │ │ │ │ ├── ffs.pc.in │ │ │ │ ├── ffs.supp │ │ │ │ ├── fm/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fm.h │ │ │ │ │ ├── fm_dump.c │ │ │ │ │ ├── fm_formats.c │ │ │ │ │ ├── fm_get.c │ │ │ │ │ ├── fm_internal.h │ │ │ │ │ ├── io_interface.h │ │ │ │ │ ├── lookup3.c │ │ │ │ │ ├── nt_io.c │ │ │ │ │ ├── null_io.c │ │ │ │ │ ├── progs/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── edu.gatech.cercs.formatproxy.plist │ │ │ │ │ │ ├── format_cmd.c │ │ │ │ │ │ ├── format_dump.c │ │ │ │ │ │ ├── format_info.c │ │ │ │ │ │ ├── format_server.c │ │ │ │ │ │ └── server.c │ │ │ │ │ ├── self_ip_addr.c │ │ │ │ │ ├── server_acts.c │ │ │ │ │ ├── string_conversion.c │ │ │ │ │ ├── tests/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── align_test.c │ │ │ │ │ │ ├── compat_test.c │ │ │ │ │ │ ├── format_test.c │ │ │ │ │ │ ├── scale_test.c │ │ │ │ │ │ ├── self_format_test.c │ │ │ │ │ │ ├── test_funcs.c │ │ │ │ │ │ └── test_funcs.h │ │ │ │ │ ├── unix_io.c │ │ │ │ │ └── xml.c │ │ │ │ ├── scripts/ │ │ │ │ │ ├── ci/ │ │ │ │ │ │ ├── cmake/ │ │ │ │ │ │ │ ├── alma8-clang.cmake │ │ │ │ │ │ │ ├── alma8-gcc.cmake │ │ │ │ │ │ │ ├── alma8-intel.cmake │ │ │ │ │ │ │ ├── alma8-inteloneapi.cmake │ │ │ │ │ │ │ ├── centos7-clang.cmake │ │ │ │ │ │ │ ├── centos7-gcc.cmake │ │ │ │ │ │ │ ├── centos7-nvhpc.cmake │ │ │ │ │ │ │ ├── centos8-clang.cmake │ │ │ │ │ │ │ ├── centos8-gcc.cmake │ │ │ │ │ │ │ ├── centos8-intel.cmake │ │ │ │ │ │ │ ├── centos8-inteloneapi.cmake │ │ │ │ │ │ │ ├── common.cmake │ │ │ │ │ │ │ ├── macos-clang.cmake │ │ │ │ │ │ │ ├── ubuntu1604-clang.cmake │ │ │ │ │ │ │ ├── ubuntu1604-gcc.cmake │ │ │ │ │ │ │ ├── ubuntu1804-clang.cmake │ │ │ │ │ │ │ ├── ubuntu1804-gcc.cmake │ │ │ │ │ │ │ ├── ubuntu1804-intel.cmake │ │ │ │ │ │ │ ├── ubuntu1804-inteloneapi.cmake │ │ │ │ │ │ │ ├── ubuntu2004-clang.cmake │ │ │ │ │ │ │ ├── ubuntu2004-gcc.cmake │ │ │ │ │ │ │ ├── ubuntu2004-nvhpc.cmake │ │ │ │ │ │ │ ├── unix-common.cmake │ │ │ │ │ │ │ ├── windows-common.cmake │ │ │ │ │ │ │ ├── windows-vs2019-clang.cmake │ │ │ │ │ │ │ ├── windows-vs2019-msvc.cmake │ │ │ │ │ │ │ ├── windows2019-vs2019-clang.cmake │ │ │ │ │ │ │ ├── windows2022-vs2022-msvc-static.cmake │ │ │ │ │ │ │ └── windows2022-vs2022-msvc.cmake │ │ │ │ │ │ ├── gh-actions/ │ │ │ │ │ │ │ └── run.sh │ │ │ │ │ │ ├── scripts/ │ │ │ │ │ │ │ └── post-cdash-status.sh │ │ │ │ │ │ └── setup/ │ │ │ │ │ │ ├── install-atl.sh │ │ │ │ │ │ ├── install-dill.sh │ │ │ │ │ │ ├── linux.sh │ │ │ │ │ │ ├── macos.sh │ │ │ │ │ │ └── windows.sh │ │ │ │ │ └── dashboard/ │ │ │ │ │ ├── common.cmake │ │ │ │ │ └── ffs_common.cmake │ │ │ │ └── version.c │ │ │ └── update.sh │ │ ├── mingw-w64/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Readme.txt │ │ │ ├── mingw-w64/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── mingw-w64-crt/ │ │ │ │ │ └── misc/ │ │ │ │ │ └── getopt.c │ │ │ │ └── mingw-w64-headers/ │ │ │ │ └── crt/ │ │ │ │ └── getopt.h │ │ │ └── update.sh │ │ ├── nlohmann_json/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Readme.txt │ │ │ ├── nlohmann_json_wrapper/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── nlohmann_json.hpp │ │ │ │ └── single_include/ │ │ │ │ └── nlohmann/ │ │ │ │ └── json.hpp │ │ │ └── update.sh │ │ ├── perfstubs/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Readme.txt │ │ │ ├── adios2-perfstubs-interface.h.in │ │ │ ├── perfstubs/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ └── perfstubs_api/ │ │ │ │ ├── README.md │ │ │ │ ├── config.h.in │ │ │ │ ├── timer.c │ │ │ │ ├── timer.h │ │ │ │ └── tool.h │ │ │ ├── perfstubs.supp │ │ │ └── update.sh │ │ ├── pugixml/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Readme.txt │ │ │ ├── pugixml/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── src/ │ │ │ │ ├── pugiconfig.hpp │ │ │ │ ├── pugixml.cpp │ │ │ │ └── pugixml.hpp │ │ │ └── update.sh │ │ ├── pybind11/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Readme.txt │ │ │ ├── pybind11/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── include/ │ │ │ │ └── pybind11/ │ │ │ │ ├── attr.h │ │ │ │ ├── buffer_info.h │ │ │ │ ├── cast.h │ │ │ │ ├── chrono.h │ │ │ │ ├── common.h │ │ │ │ ├── complex.h │ │ │ │ ├── detail/ │ │ │ │ │ ├── class.h │ │ │ │ │ ├── common.h │ │ │ │ │ ├── descr.h │ │ │ │ │ ├── init.h │ │ │ │ │ ├── internals.h │ │ │ │ │ ├── type_caster_base.h │ │ │ │ │ └── typeid.h │ │ │ │ ├── eigen.h │ │ │ │ ├── embed.h │ │ │ │ ├── eval.h │ │ │ │ ├── functional.h │ │ │ │ ├── gil.h │ │ │ │ ├── iostream.h │ │ │ │ ├── numpy.h │ │ │ │ ├── operators.h │ │ │ │ ├── options.h │ │ │ │ ├── pybind11.h │ │ │ │ ├── pytypes.h │ │ │ │ ├── stl/ │ │ │ │ │ └── filesystem.h │ │ │ │ ├── stl.h │ │ │ │ └── stl_bind.h │ │ │ └── update.sh │ │ ├── update-common.sh │ │ └── yaml-cpp/ │ │ ├── CMakeLists.txt │ │ ├── Readme.txt │ │ ├── update.sh │ │ └── yaml-cpp/ │ │ ├── CMakeLists.txt │ │ ├── LICENSE │ │ ├── include/ │ │ │ └── yaml-cpp/ │ │ │ ├── anchor.h │ │ │ ├── binary.h │ │ │ ├── contrib/ │ │ │ │ ├── anchordict.h │ │ │ │ └── graphbuilder.h │ │ │ ├── depthguard.h │ │ │ ├── dll.h │ │ │ ├── emitfromevents.h │ │ │ ├── emitter.h │ │ │ ├── emitterdef.h │ │ │ ├── emittermanip.h │ │ │ ├── emitterstyle.h │ │ │ ├── eventhandler.h │ │ │ ├── exceptions.h │ │ │ ├── mark.h │ │ │ ├── node/ │ │ │ │ ├── convert.h │ │ │ │ ├── detail/ │ │ │ │ │ ├── impl.h │ │ │ │ │ ├── iterator.h │ │ │ │ │ ├── iterator_fwd.h │ │ │ │ │ ├── memory.h │ │ │ │ │ ├── node.h │ │ │ │ │ ├── node_data.h │ │ │ │ │ ├── node_iterator.h │ │ │ │ │ └── node_ref.h │ │ │ │ ├── emit.h │ │ │ │ ├── impl.h │ │ │ │ ├── iterator.h │ │ │ │ ├── node.h │ │ │ │ ├── parse.h │ │ │ │ ├── ptr.h │ │ │ │ └── type.h │ │ │ ├── noexcept.h │ │ │ ├── null.h │ │ │ ├── ostream_wrapper.h │ │ │ ├── parser.h │ │ │ ├── stlemitter.h │ │ │ ├── traits.h │ │ │ └── yaml.h │ │ └── src/ │ │ ├── binary.cpp │ │ ├── collectionstack.h │ │ ├── contrib/ │ │ │ ├── graphbuilder.cpp │ │ │ ├── graphbuilderadapter.cpp │ │ │ ├── graphbuilderadapter.h │ │ │ ├── yaml-cpp.natvis │ │ │ └── yaml-cpp.natvis.md │ │ ├── convert.cpp │ │ ├── depthguard.cpp │ │ ├── directives.cpp │ │ ├── directives.h │ │ ├── emit.cpp │ │ ├── emitfromevents.cpp │ │ ├── emitter.cpp │ │ ├── emitterstate.cpp │ │ ├── emitterstate.h │ │ ├── emitterutils.cpp │ │ ├── emitterutils.h │ │ ├── exceptions.cpp │ │ ├── exp.cpp │ │ ├── exp.h │ │ ├── indentation.h │ │ ├── memory.cpp │ │ ├── node.cpp │ │ ├── node_data.cpp │ │ ├── nodebuilder.cpp │ │ ├── nodebuilder.h │ │ ├── nodeevents.cpp │ │ ├── nodeevents.h │ │ ├── null.cpp │ │ ├── ostream_wrapper.cpp │ │ ├── parse.cpp │ │ ├── parser.cpp │ │ ├── ptr_vector.h │ │ ├── regex_yaml.cpp │ │ ├── regex_yaml.h │ │ ├── regeximpl.h │ │ ├── scanner.cpp │ │ ├── scanner.h │ │ ├── scanscalar.cpp │ │ ├── scanscalar.h │ │ ├── scantag.cpp │ │ ├── scantag.h │ │ ├── scantoken.cpp │ │ ├── setting.h │ │ ├── simplekey.cpp │ │ ├── singledocparser.cpp │ │ ├── singledocparser.h │ │ ├── stream.cpp │ │ ├── stream.h │ │ ├── streamcharsource.h │ │ ├── stringsource.h │ │ ├── tag.cpp │ │ ├── tag.h │ │ └── token.h │ ├── cpptrace/ │ │ ├── CHANGELOG.md │ │ ├── CMakeLists.txt │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── ci/ │ │ │ ├── build-in-all-configs.py │ │ │ ├── dump_msvc_env.ps1 │ │ │ ├── setup-prerequisites-mingw.ps1 │ │ │ ├── setup-prerequisites.sh │ │ │ ├── speedtest.py │ │ │ ├── test-all-configs.py │ │ │ └── util.py │ │ ├── cmake/ │ │ │ ├── InstallRules.cmake │ │ │ ├── OptionVariables.cmake │ │ │ ├── PreventInSourceBuilds.cmake │ │ │ ├── ProjectIsTopLevel.cmake │ │ │ ├── has_backtrace.cpp │ │ │ ├── has_cxx_exception_type.cpp │ │ │ ├── has_cxxabi.cpp │ │ │ ├── has_dl.cpp │ │ │ ├── has_dl_find_object.cpp │ │ │ ├── has_execinfo.cpp │ │ │ ├── has_stackwalk.cpp │ │ │ ├── has_unwind.cpp │ │ │ └── in/ │ │ │ └── cpptrace-config-cmake.in │ │ ├── docs/ │ │ │ ├── c-api.md │ │ │ └── signal-safe-tracing.md │ │ ├── include/ │ │ │ ├── cpptrace/ │ │ │ │ └── cpptrace.hpp │ │ │ └── ctrace/ │ │ │ └── ctrace.h │ │ ├── sonar-project.properties │ │ └── src/ │ │ ├── binary/ │ │ │ ├── elf.hpp │ │ │ ├── mach-o.hpp │ │ │ ├── object.hpp │ │ │ ├── pe.hpp │ │ │ └── safe_dl.hpp │ │ ├── cpptrace.cpp │ │ ├── ctrace.cpp │ │ ├── demangle/ │ │ │ ├── demangle.hpp │ │ │ ├── demangle_with_cxxabi.cpp │ │ │ ├── demangle_with_nothing.cpp │ │ │ └── demangle_with_winapi.cpp │ │ ├── symbols/ │ │ │ ├── symbols.hpp │ │ │ ├── symbols_core.cpp │ │ │ ├── symbols_with_addr2line.cpp │ │ │ ├── symbols_with_dbghelp.cpp │ │ │ ├── symbols_with_dl.cpp │ │ │ ├── symbols_with_libbacktrace.cpp │ │ │ ├── symbols_with_libdwarf.cpp │ │ │ └── symbols_with_nothing.cpp │ │ ├── unwind/ │ │ │ ├── unwind.hpp │ │ │ ├── unwind_with_dbghelp.cpp │ │ │ ├── unwind_with_execinfo.cpp │ │ │ ├── unwind_with_libunwind.cpp │ │ │ ├── unwind_with_nothing.cpp │ │ │ ├── unwind_with_unwind.cpp │ │ │ └── unwind_with_winapi.cpp │ │ └── utils/ │ │ ├── common.hpp │ │ ├── dbghelp_syminit_manager.hpp │ │ ├── dwarf.hpp │ │ ├── error.hpp │ │ ├── exception_type.hpp │ │ ├── program_name.hpp │ │ └── utils.hpp │ ├── cvode/ │ │ ├── .readthedocs.yaml │ │ ├── CHANGELOG.md │ │ ├── CITATIONS.md │ │ ├── CMakeLists.txt │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── NOTICE │ │ ├── README.md │ │ ├── benchmarks/ │ │ │ ├── CMakeLists.txt │ │ │ ├── advection_reaction_3D/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── ParallelGrid.hpp │ │ │ │ ├── README.md │ │ │ │ ├── advection_reaction_3D.cpp │ │ │ │ ├── advection_reaction_3D.hpp │ │ │ │ ├── arkode_driver.cpp │ │ │ │ ├── backends.hpp │ │ │ │ ├── check_retval.h │ │ │ │ ├── cvode_driver.cpp │ │ │ │ ├── ida_driver.cpp │ │ │ │ ├── rhs3D.hpp │ │ │ │ └── scripts/ │ │ │ │ ├── compare_error.py │ │ │ │ ├── compute_error.py │ │ │ │ └── pickle_solution_output.py │ │ │ ├── diffusion_2D/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README.md │ │ │ │ ├── diffusion_2D.cpp │ │ │ │ ├── diffusion_2D.hpp │ │ │ │ ├── main_arkode.cpp │ │ │ │ ├── main_cvode.cpp │ │ │ │ ├── main_ida.cpp │ │ │ │ ├── mpi_gpu/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── buffers.cpp │ │ │ │ │ ├── diffusion.cpp │ │ │ │ │ ├── solution.cpp │ │ │ │ │ └── utils.cpp │ │ │ │ ├── mpi_serial/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── buffers.cpp │ │ │ │ │ ├── diffusion.cpp │ │ │ │ │ ├── solution.cpp │ │ │ │ │ └── utils.cpp │ │ │ │ └── preconditioner_jacobi.cpp │ │ │ └── nvector/ │ │ │ ├── CMakeLists.txt │ │ │ ├── cuda/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── test_nvector_performance_cuda.cu │ │ │ ├── hip/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── test_nvector_performance_hip.cpp │ │ │ ├── kokkos/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── test_nvector_performance_kokkos.cpp │ │ │ ├── mpiplusx/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── test_nvector_performance_mpiplusx.c │ │ │ ├── openmp/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── test_nvector_performance_openmp.c │ │ │ ├── openmpdev/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── test_nvector_performance_openmpdev.c │ │ │ ├── parallel/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── test_nvector_performance_parallel.c │ │ │ ├── parhyp/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── test_nvector_performance_parhyp.c │ │ │ ├── petsc/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── test_nvector_performance_petsc.c │ │ │ ├── plot_nvector_performance_results.py │ │ │ ├── plot_nvector_performance_speedup.py │ │ │ ├── pthreads/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── test_nvector_performance_pthreads.c │ │ │ ├── raja/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── test_nvector_performance_raja.cpp │ │ │ ├── serial/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── test_nvector_performance_serial.c │ │ │ ├── sycl/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── test_nvector_performance_sycl.cpp │ │ │ ├── test_nvector_performance.c │ │ │ └── test_nvector_performance.h │ │ ├── cmake/ │ │ │ ├── SUNDIALSConfig.cmake.in │ │ │ ├── SundialsBuildOptionsPost.cmake │ │ │ ├── SundialsBuildOptionsPre.cmake │ │ │ ├── SundialsDeprecated.cmake │ │ │ ├── SundialsExampleOptions.cmake │ │ │ ├── SundialsIndexSize.cmake │ │ │ ├── SundialsSetupCXX.cmake │ │ │ ├── SundialsSetupCompilers.cmake │ │ │ ├── SundialsSetupConfig.cmake │ │ │ ├── SundialsSetupCuda.cmake │ │ │ ├── SundialsSetupFortran.cmake │ │ │ ├── SundialsSetupHIP.cmake │ │ │ ├── SundialsSetupTPLs.cmake │ │ │ ├── SundialsSetupTesting.cmake │ │ │ ├── SundialsTPLOptions.cmake │ │ │ ├── macros/ │ │ │ │ ├── SundialsAddExamplesGinkgo.cmake │ │ │ │ ├── SundialsAddExecutable.cmake │ │ │ │ ├── SundialsAddLibrary.cmake │ │ │ │ ├── SundialsAddTest.cmake │ │ │ │ ├── SundialsAddTestInstall.cmake │ │ │ │ ├── SundialsCMakeMacros.cmake │ │ │ │ ├── SundialsInstallExamples.cmake │ │ │ │ ├── SundialsInstallExamplesGinkgo.cmake │ │ │ │ ├── SundialsOption.cmake │ │ │ │ └── SundialsTryCompileExecute.cmake │ │ │ └── tpl/ │ │ │ ├── FindHYPRE.cmake │ │ │ ├── FindKLU.cmake │ │ │ ├── FindMAGMA.cmake │ │ │ ├── FindPETSC.cmake │ │ │ ├── FindSUPERLUDIST.cmake │ │ │ ├── FindSUPERLUMT.cmake │ │ │ ├── FindTrilinos.cmake │ │ │ ├── FindXBRAID.cmake │ │ │ ├── SundialsCaliper.cmake │ │ │ ├── SundialsGinkgo.cmake │ │ │ ├── SundialsHypre.cmake │ │ │ ├── SundialsKLU.cmake │ │ │ ├── SundialsKokkos.cmake │ │ │ ├── SundialsKokkosKernels.cmake │ │ │ ├── SundialsLapack.cmake │ │ │ ├── SundialsMAGMA.cmake │ │ │ ├── SundialsMPI.cmake │ │ │ ├── SundialsONEMKL.cmake │ │ │ ├── SundialsOpenMP.cmake │ │ │ ├── SundialsPETSC.cmake │ │ │ ├── SundialsPOSIXTimers.cmake │ │ │ ├── SundialsPthread.cmake │ │ │ ├── SundialsRAJA.cmake │ │ │ ├── SundialsSuperLUDIST.cmake │ │ │ ├── SundialsSuperLUMT.cmake │ │ │ ├── SundialsTrilinos.cmake │ │ │ └── SundialsXBRAID.cmake │ │ ├── doc/ │ │ │ ├── cvode/ │ │ │ │ └── guide/ │ │ │ │ ├── Makefile │ │ │ │ └── source/ │ │ │ │ ├── Constants.rst │ │ │ │ ├── History_link.rst │ │ │ │ ├── Install_link.rst │ │ │ │ ├── Introduction.rst │ │ │ │ ├── Landing.rst │ │ │ │ ├── Mathematics.rst │ │ │ │ ├── Organization.rst │ │ │ │ ├── References.rst │ │ │ │ ├── Usage/ │ │ │ │ │ └── index.rst │ │ │ │ ├── conf.py │ │ │ │ ├── figs/ │ │ │ │ │ ├── arkode/ │ │ │ │ │ │ └── time_adaptivity.fig │ │ │ │ │ ├── bandmat.eps │ │ │ │ │ ├── bandmat.fig │ │ │ │ │ ├── cmake/ │ │ │ │ │ │ ├── CMake.screens.docx │ │ │ │ │ │ ├── ccmakeempty.eps │ │ │ │ │ │ ├── ccmakeinstalldir.eps │ │ │ │ │ │ ├── cmaketest.eps │ │ │ │ │ │ ├── testrunnerbot.eps │ │ │ │ │ │ └── testrunnertop.eps │ │ │ │ │ ├── cscmat.eps │ │ │ │ │ ├── cscmat.fig │ │ │ │ │ ├── doc_logo.eps │ │ │ │ │ ├── doc_logo_blue.eps │ │ │ │ │ ├── sunorg.pptx │ │ │ │ │ └── warning.fig │ │ │ │ ├── index.rst │ │ │ │ ├── nvectors/ │ │ │ │ │ ├── CVODE_requirements.rst │ │ │ │ │ ├── NVector_API_link.rst │ │ │ │ │ ├── NVector_links.rst │ │ │ │ │ └── index.rst │ │ │ │ ├── sundials/ │ │ │ │ │ ├── Fortran_link.rst │ │ │ │ │ ├── GPU_link.rst │ │ │ │ │ ├── Logging_link.rst │ │ │ │ │ ├── Profiling_link.rst │ │ │ │ │ ├── SUNContext_link.rst │ │ │ │ │ ├── index.rst │ │ │ │ │ └── version_information_link.rst │ │ │ │ ├── sunlinsol/ │ │ │ │ │ ├── CVODE_interface.rst │ │ │ │ │ ├── SUNLinSol_API_link.rst │ │ │ │ │ ├── SUNLinSol_links.rst │ │ │ │ │ └── index.rst │ │ │ │ ├── sunmatrix/ │ │ │ │ │ ├── CVODE_requirements.rst │ │ │ │ │ ├── SUNMatrix_links.rst │ │ │ │ │ └── index.rst │ │ │ │ ├── sunmemory/ │ │ │ │ │ ├── SUNMemory_links.rst │ │ │ │ │ └── index.rst │ │ │ │ └── sunnonlinsol/ │ │ │ │ ├── CVODE_interface.rst │ │ │ │ ├── SUNNonlinSol_API_link.rst │ │ │ │ ├── SUNNonlinSol_links.rst │ │ │ │ └── index.rst │ │ │ ├── requirements.txt │ │ │ └── shared/ │ │ │ ├── History.rst │ │ │ ├── Install.rst │ │ │ ├── LicenseReleaseNumbers.rst │ │ │ ├── SundialsOrganization.rst │ │ │ ├── Types.rst │ │ │ ├── _static/ │ │ │ │ └── css/ │ │ │ │ └── custom.css │ │ │ ├── cite_sundials.rst │ │ │ ├── figs/ │ │ │ │ ├── arkode/ │ │ │ │ │ └── time_adaptivity.fig │ │ │ │ ├── bandmat.eps │ │ │ │ ├── bandmat.fig │ │ │ │ ├── cmake/ │ │ │ │ │ ├── CMake.screens.docx │ │ │ │ │ ├── ccmakeempty.eps │ │ │ │ │ ├── ccmakeinstalldir.eps │ │ │ │ │ ├── cmaketest.eps │ │ │ │ │ ├── testrunnerbot.eps │ │ │ │ │ └── testrunnertop.eps │ │ │ │ ├── cscmat.eps │ │ │ │ ├── cscmat.fig │ │ │ │ ├── doc_logo.eps │ │ │ │ ├── doc_logo_blue.eps │ │ │ │ ├── sunorg.pptx │ │ │ │ └── warning.fig │ │ │ ├── global.rst.txt │ │ │ ├── latex/ │ │ │ │ ├── cover_pages.tex.txt │ │ │ │ └── preamble.tex.txt │ │ │ ├── nvectors/ │ │ │ │ ├── NVector_CUDA.rst │ │ │ │ ├── NVector_Description.rst │ │ │ │ ├── NVector_Examples.rst │ │ │ │ ├── NVector_HIP.rst │ │ │ │ ├── NVector_Kokkos.rst │ │ │ │ ├── NVector_MPIManyVector.rst │ │ │ │ ├── NVector_MPIPlusX.rst │ │ │ │ ├── NVector_ManyVector.rst │ │ │ │ ├── NVector_OpenMP.rst │ │ │ │ ├── NVector_OpenMPDEV.rst │ │ │ │ ├── NVector_Operations.rst │ │ │ │ ├── NVector_PETSc.rst │ │ │ │ ├── NVector_ParHyp.rst │ │ │ │ ├── NVector_Parallel.rst │ │ │ │ ├── NVector_Pthreads.rst │ │ │ │ ├── NVector_RAJA.rst │ │ │ │ ├── NVector_SYCL.rst │ │ │ │ ├── NVector_Serial.rst │ │ │ │ └── NVector_Trilinos.rst │ │ │ ├── sundials/ │ │ │ │ ├── Fortran.rst │ │ │ │ ├── GPU.rst │ │ │ │ ├── Logging.rst │ │ │ │ ├── Profiling.rst │ │ │ │ ├── SUNContext.rst │ │ │ │ ├── index.rst │ │ │ │ └── version_information.rst │ │ │ ├── sundials.bib │ │ │ ├── sunlinsol/ │ │ │ │ ├── SUNLinSol_API.rst │ │ │ │ ├── SUNLinSol_Band.rst │ │ │ │ ├── SUNLinSol_Dense.rst │ │ │ │ ├── SUNLinSol_Examples.rst │ │ │ │ ├── SUNLinSol_Ginkgo.rst │ │ │ │ ├── SUNLinSol_Introduction.rst │ │ │ │ ├── SUNLinSol_KLU.rst │ │ │ │ ├── SUNLinSol_KokkosDense.rst │ │ │ │ ├── SUNLinSol_LapackBand.rst │ │ │ │ ├── SUNLinSol_LapackDense.rst │ │ │ │ ├── SUNLinSol_MagmaDense.rst │ │ │ │ ├── SUNLinSol_OneMklDense.rst │ │ │ │ ├── SUNLinSol_PCG.rst │ │ │ │ ├── SUNLinSol_SPBCGS.rst │ │ │ │ ├── SUNLinSol_SPFGMR.rst │ │ │ │ ├── SUNLinSol_SPGMR.rst │ │ │ │ ├── SUNLinSol_SPTFQMR.rst │ │ │ │ ├── SUNLinSol_SuperLUDIST.rst │ │ │ │ ├── SUNLinSol_SuperLUMT.rst │ │ │ │ └── SUNLinSol_cuSolverSp.rst │ │ │ ├── sunmatrix/ │ │ │ │ ├── SUNMatrix_Band.rst │ │ │ │ ├── SUNMatrix_Dense.rst │ │ │ │ ├── SUNMatrix_Description.rst │ │ │ │ ├── SUNMatrix_Examples.rst │ │ │ │ ├── SUNMatrix_Ginkgo.rst │ │ │ │ ├── SUNMatrix_KokkosDense.rst │ │ │ │ ├── SUNMatrix_MagmaDense.rst │ │ │ │ ├── SUNMatrix_OneMklDense.rst │ │ │ │ ├── SUNMatrix_Operations.rst │ │ │ │ ├── SUNMatrix_SLUNRloc.rst │ │ │ │ ├── SUNMatrix_Sparse.rst │ │ │ │ └── SUNMatrix_cuSparse.rst │ │ │ ├── sunmemory/ │ │ │ │ ├── SUNMemory_CUDA.rst │ │ │ │ ├── SUNMemory_Description.rst │ │ │ │ ├── SUNMemory_HIP.rst │ │ │ │ └── SUNMemory_SYCL.rst │ │ │ ├── sunnonlinsol/ │ │ │ │ ├── SUNNonlinSol_API.rst │ │ │ │ ├── SUNNonlinSol_FixedPoint.rst │ │ │ │ ├── SUNNonlinSol_Newton.rst │ │ │ │ └── SUNNonlinSol_PetscSNES.rst │ │ │ └── versions.py │ │ ├── examples/ │ │ │ ├── CMakeLists.txt │ │ │ ├── cvode/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CXX_onemkl/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cvRoberts_blockdiag_onemkl.cpp │ │ │ │ │ └── cvRoberts_blockdiag_onemkl.out │ │ │ │ ├── CXX_parallel/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cv_heat2D_p.cpp │ │ │ │ │ ├── cv_heat2D_p_--np_2_2.out │ │ │ │ │ └── plot_heat2D_p.py │ │ │ │ ├── CXX_parhyp/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cv_heat2D_hypre_ls.cpp │ │ │ │ │ ├── cv_heat2D_hypre_ls_--np_2_2.out │ │ │ │ │ ├── cv_heat2D_hypre_pfmg.cpp │ │ │ │ │ ├── cv_heat2D_hypre_pfmg_--np_2_2.out │ │ │ │ │ └── plot_heat2D_p.py │ │ │ │ ├── CXX_serial/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cv_heat2D.cpp │ │ │ │ │ ├── cv_heat2D.hpp │ │ │ │ │ ├── cv_heat2D.out │ │ │ │ │ ├── cv_kpr.cpp │ │ │ │ │ ├── cv_kpr.hpp │ │ │ │ │ ├── cv_kpr.out │ │ │ │ │ └── plot_heat2D.py │ │ │ │ ├── CXX_sycl/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cvAdvDiff_kry_sycl.cpp │ │ │ │ │ └── cvAdvDiff_kry_sycl.out │ │ │ │ ├── C_mpimanyvector/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cvDiurnal_kry_mpimanyvec.c │ │ │ │ │ └── cvDiurnal_kry_mpimanyvec.out │ │ │ │ ├── C_openmp/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cvAdvDiff_bnd_omp.c │ │ │ │ │ └── cvAdvDiff_bnd_omp.out │ │ │ │ ├── C_openmpdev/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cvAdvDiff_kry_ompdev.c │ │ │ │ │ └── cvAdvDiff_kry_ompdev.out │ │ │ │ ├── F2003_serial/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cv_analytic_fp_f2003.f90 │ │ │ │ │ ├── cv_analytic_fp_f2003.out │ │ │ │ │ ├── cv_analytic_sys_dns_f2003.f90 │ │ │ │ │ ├── cv_analytic_sys_dns_f2003.out │ │ │ │ │ ├── cv_analytic_sys_dns_jac_f2003.f90 │ │ │ │ │ ├── cv_analytic_sys_dns_jac_f2003.out │ │ │ │ │ ├── cv_analytic_sys_klu_f2003.f90 │ │ │ │ │ ├── cv_analytic_sys_klu_f2003.out │ │ │ │ │ ├── cv_brusselator_dns_f2003.f90 │ │ │ │ │ └── cv_brusselator_dns_f2003.out │ │ │ │ ├── cuda/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cvAdvDiff_diag_cuda.cu │ │ │ │ │ ├── cvAdvDiff_diag_cuda_0_0.out │ │ │ │ │ ├── cvAdvDiff_diag_cuda_0_1.out │ │ │ │ │ ├── cvAdvDiff_diag_cuda_1_1.out │ │ │ │ │ ├── cvAdvDiff_kry_cuda.cu │ │ │ │ │ ├── cvAdvDiff_kry_cuda.out │ │ │ │ │ ├── cvAdvDiff_kry_cuda_managed.cu │ │ │ │ │ ├── cvAdvDiff_kry_cuda_managed.out │ │ │ │ │ ├── cvRoberts_block_cusolversp_batchqr.cu │ │ │ │ │ └── cvRoberts_block_cusolversp_batchqr.out │ │ │ │ ├── ginkgo/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── cv_heat2D_ginkgo.CUDA.out │ │ │ │ │ ├── cv_heat2D_ginkgo.OMP.out │ │ │ │ │ ├── cv_heat2D_ginkgo.REF.out │ │ │ │ │ ├── cv_heat2D_ginkgo.cpp │ │ │ │ │ ├── cv_heat2D_ginkgo.hpp │ │ │ │ │ ├── cv_kpr_ginkgo.OMP.out │ │ │ │ │ ├── cv_kpr_ginkgo.REF.out │ │ │ │ │ ├── cv_kpr_ginkgo.cpp │ │ │ │ │ └── cv_kpr_ginkgo.hpp │ │ │ │ ├── hip/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cvAdvDiff_diag_hip.cpp │ │ │ │ │ ├── cvAdvDiff_diag_hip_0_0.out │ │ │ │ │ ├── cvAdvDiff_diag_hip_0_1.out │ │ │ │ │ ├── cvAdvDiff_diag_hip_1_1.out │ │ │ │ │ ├── cvAdvDiff_kry_hip.cpp │ │ │ │ │ └── cvAdvDiff_kry_hip.out │ │ │ │ ├── kokkos/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── cv_bruss_batched_kokkos.CUDA.out │ │ │ │ │ ├── cv_bruss_batched_kokkos.OPENMP.out │ │ │ │ │ ├── cv_bruss_batched_kokkos.SERIAL.out │ │ │ │ │ └── cv_bruss_batched_kokkos.cpp │ │ │ │ ├── magma/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cv_bruss_batched_magma.cpp │ │ │ │ │ └── cv_bruss_batched_magma.out │ │ │ │ ├── parallel/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cvAdvDiff_diag_p.c │ │ │ │ │ ├── cvAdvDiff_diag_p.out │ │ │ │ │ ├── cvAdvDiff_non_p.c │ │ │ │ │ ├── cvAdvDiff_non_p.out │ │ │ │ │ ├── cvDiurnal_kry_bbd_p.c │ │ │ │ │ ├── cvDiurnal_kry_bbd_p.out │ │ │ │ │ ├── cvDiurnal_kry_p.c │ │ │ │ │ └── cvDiurnal_kry_p.out │ │ │ │ ├── parhyp/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cvAdvDiff_non_ph.c │ │ │ │ │ └── cvAdvDiff_non_ph.out │ │ │ │ ├── petsc/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cvAdvDiff_petsc.c │ │ │ │ │ ├── cvAdvDiff_petsc.out │ │ │ │ │ ├── cv_petsc_ex7.c │ │ │ │ │ └── cv_petsc_ex7.out │ │ │ │ ├── raja/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cvAdvDiff_kry_raja.cpp │ │ │ │ │ └── cvAdvDiff_kry_raja.out │ │ │ │ ├── serial/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── README │ │ │ │ │ ├── cvAdvDiff_bnd.c │ │ │ │ │ ├── cvAdvDiff_bnd.out │ │ │ │ │ ├── cvAdvDiff_bndL.c │ │ │ │ │ ├── cvAdvDiff_bndL.out │ │ │ │ │ ├── cvAnalytic_mels.c │ │ │ │ │ ├── cvAnalytic_mels.out │ │ │ │ │ ├── cvDirectDemo_ls.c │ │ │ │ │ ├── cvDirectDemo_ls.out │ │ │ │ │ ├── cvDisc_dns.c │ │ │ │ │ ├── cvDisc_dns.out │ │ │ │ │ ├── cvDiurnal_kry.c │ │ │ │ │ ├── cvDiurnal_kry.out │ │ │ │ │ ├── cvDiurnal_kry_bp.c │ │ │ │ │ ├── cvDiurnal_kry_bp.out │ │ │ │ │ ├── cvKrylovDemo_ls.c │ │ │ │ │ ├── cvKrylovDemo_ls.out │ │ │ │ │ ├── cvKrylovDemo_ls_0_1.out │ │ │ │ │ ├── cvKrylovDemo_ls_1.out │ │ │ │ │ ├── cvKrylovDemo_ls_2.out │ │ │ │ │ ├── cvKrylovDemo_prec.c │ │ │ │ │ ├── cvKrylovDemo_prec.out │ │ │ │ │ ├── cvParticle_dns.c │ │ │ │ │ ├── cvParticle_dns.out │ │ │ │ │ ├── cvPendulum_dns.c │ │ │ │ │ ├── cvPendulum_dns.out │ │ │ │ │ ├── cvRoberts_block_klu.c │ │ │ │ │ ├── cvRoberts_block_klu.out │ │ │ │ │ ├── cvRoberts_dns.c │ │ │ │ │ ├── cvRoberts_dns.out │ │ │ │ │ ├── cvRoberts_dnsL.c │ │ │ │ │ ├── cvRoberts_dnsL.out │ │ │ │ │ ├── cvRoberts_dns_constraints.c │ │ │ │ │ ├── cvRoberts_dns_constraints.out │ │ │ │ │ ├── cvRoberts_dns_negsol.c │ │ │ │ │ ├── cvRoberts_dns_negsol.out │ │ │ │ │ ├── cvRoberts_dns_stats.csv │ │ │ │ │ ├── cvRoberts_dns_uw.c │ │ │ │ │ ├── cvRoberts_dns_uw.out │ │ │ │ │ ├── cvRoberts_klu.c │ │ │ │ │ ├── cvRoberts_klu.out │ │ │ │ │ ├── cvRoberts_sps.c │ │ │ │ │ ├── cvRoberts_sps.out │ │ │ │ │ ├── cvRocket_dns.c │ │ │ │ │ ├── cvRocket_dns.out │ │ │ │ │ ├── plot_cvParticle.py │ │ │ │ │ └── plot_cvPendulum.py │ │ │ │ └── superludist/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README │ │ │ │ ├── cvAdvDiff_sludist.cpp │ │ │ │ ├── cvAdvDiff_sludist_32.out │ │ │ │ └── cvAdvDiff_sludist_64.out │ │ │ ├── nvector/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── C_openmp/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fnvector_openmp_mod.f90 │ │ │ │ │ └── test_nvector_openmp.c │ │ │ │ ├── cuda/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_nvector_cuda.cu │ │ │ │ ├── hip/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_nvector_hip.cpp │ │ │ │ ├── kokkos/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_nvector_kokkos.cpp │ │ │ │ ├── manyvector/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fnvector_manyvector_mod.f90 │ │ │ │ │ └── test_nvector_manyvector.c │ │ │ │ ├── mpicuda/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_nvector_mpicuda.cu │ │ │ │ ├── mpimanyvector/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fnvector_mpimanyvector_mod.f90 │ │ │ │ │ ├── test_nvector_mpimanyvector_parallel1.c │ │ │ │ │ └── test_nvector_mpimanyvector_parallel2.c │ │ │ │ ├── mpiplusx/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fnvector_mpiplusx_mod.f90 │ │ │ │ │ └── test_nvector_mpiplusx.c │ │ │ │ ├── mpiraja/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_nvector_mpiraja.cpp │ │ │ │ ├── openmpdev/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_nvector_openmpdev.c │ │ │ │ ├── parallel/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fnvector_parallel_mod.f90 │ │ │ │ │ └── test_nvector_mpi.c │ │ │ │ ├── parhyp/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_nvector_parhyp.c │ │ │ │ ├── petsc/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_nvector_petsc.c │ │ │ │ ├── pthreads/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fnvector_pthreads_mod.f90 │ │ │ │ │ └── test_nvector_pthreads.c │ │ │ │ ├── raja/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_nvector_raja.cpp │ │ │ │ ├── serial/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fnvector_serial_mod.f90 │ │ │ │ │ └── test_nvector_serial.c │ │ │ │ ├── sycl/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_nvector_sycl.cpp │ │ │ │ ├── test_mpinvector.c │ │ │ │ ├── test_nvector.c │ │ │ │ ├── test_nvector.f90 │ │ │ │ ├── test_nvector.h │ │ │ │ └── trilinos/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── test_nvector_trilinos.cpp │ │ │ ├── sunlinsol/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── band/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fsunlinsol_band_mod.f90 │ │ │ │ │ └── test_sunlinsol_band.c │ │ │ │ ├── cusolversp/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_sunlinsol_cusolversp_batchqr.cu │ │ │ │ ├── dense/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fsunlinsol_dense_mod.f90 │ │ │ │ │ └── test_sunlinsol_dense.c │ │ │ │ ├── ginkgo/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_sunlinsol_ginkgo.cpp │ │ │ │ ├── klu/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fsunlinsol_klu_mod.f90 │ │ │ │ │ └── test_sunlinsol_klu.c │ │ │ │ ├── kokkos/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_sunlinsol_kokkosdense.cpp │ │ │ │ ├── lapackband/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_sunlinsol_lapackband.c │ │ │ │ ├── lapackdense/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_sunlinsol_lapackdense.c │ │ │ │ ├── magmadense/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_sunlinsol_magmadense.cpp │ │ │ │ ├── onemkldense/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_sunlinsol_onemkldense.cpp │ │ │ │ ├── pcg/ │ │ │ │ │ └── serial/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fsunlinsol_pcg_mod_serial.f90 │ │ │ │ │ └── test_sunlinsol_pcg_serial.c │ │ │ │ ├── spbcgs/ │ │ │ │ │ ├── parallel/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ └── test_sunlinsol_spbcgs_parallel.c │ │ │ │ │ └── serial/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fsunlinsol_spbcgs_mod_serial.f90 │ │ │ │ │ └── test_sunlinsol_spbcgs_serial.c │ │ │ │ ├── spfgmr/ │ │ │ │ │ ├── parallel/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ └── test_sunlinsol_spfgmr_parallel.c │ │ │ │ │ └── serial/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fsunlinsol_spfgmr_mod_serial.f90 │ │ │ │ │ └── test_sunlinsol_spfgmr_serial.c │ │ │ │ ├── spgmr/ │ │ │ │ │ ├── parallel/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ └── test_sunlinsol_spgmr_parallel.c │ │ │ │ │ └── serial/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fsunlinsol_spgmr_mod_serial.f90 │ │ │ │ │ └── test_sunlinsol_spgmr_serial.c │ │ │ │ ├── sptfqmr/ │ │ │ │ │ ├── parallel/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ └── test_sunlinsol_sptfqmr_parallel.c │ │ │ │ │ └── serial/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fsunlinsol_sptfqmr_mod_serial.f90 │ │ │ │ │ └── test_sunlinsol_sptfqmr_serial.c │ │ │ │ ├── superludist/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_sunlinsol_superludist.cpp │ │ │ │ ├── superlumt/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_sunlinsol_superlumt.c │ │ │ │ ├── test_sunlinsol.c │ │ │ │ ├── test_sunlinsol.f90 │ │ │ │ └── test_sunlinsol.h │ │ │ ├── sunmatrix/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── band/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fsunmatrix_band_mod.f90 │ │ │ │ │ └── test_sunmatrix_band.c │ │ │ │ ├── cusparse/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_sunmatrix_cusparse.cu │ │ │ │ ├── dense/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fsunmatrix_dense_mod.f90 │ │ │ │ │ └── test_sunmatrix_dense.c │ │ │ │ ├── dreadrb.c │ │ │ │ ├── dreadrb.h │ │ │ │ ├── ginkgo/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_sunmatrix_ginkgo.cpp │ │ │ │ ├── kokkos/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_sunmatrix_kokkosdense.cpp │ │ │ │ ├── magmadense/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_sunmatrix_magmadense.cpp │ │ │ │ ├── onemkldense/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_sunmatrix_onemkldense.cpp │ │ │ │ ├── slunrloc/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_sunmatrix_slunrloc.cpp │ │ │ │ ├── sparse/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fsunmatrix_sparse_mod.f90 │ │ │ │ │ └── test_sunmatrix_sparse.c │ │ │ │ ├── test_sunmatrix.c │ │ │ │ ├── test_sunmatrix.f90 │ │ │ │ └── test_sunmatrix.h │ │ │ ├── sunnonlinsol/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── fixedpoint/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fsunnonlinsol_fixedpoint_mod.f90 │ │ │ │ │ └── test_sunnonlinsol_fixedpoint.c │ │ │ │ ├── newton/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── test_fsunnonlinsol_newton_mod.f90 │ │ │ │ │ └── test_sunnonlinsol_newton.c │ │ │ │ └── petsc/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── test_sunnonlinsol_petscsnes.c │ │ │ ├── templates/ │ │ │ │ ├── cmakelists_CUDA_MPI_ex.in │ │ │ │ ├── cmakelists_CUDA_ex.in │ │ │ │ ├── cmakelists_CXX_MPI_ex.in │ │ │ │ ├── cmakelists_CXX_ex.in │ │ │ │ ├── cmakelists_CXX_ginkgo_ex.in │ │ │ │ ├── cmakelists_C_MPI_ex.in │ │ │ │ ├── cmakelists_C_ex.in │ │ │ │ ├── cmakelists_HIP_ex.in │ │ │ │ ├── cmakelists_MPI_ex.in │ │ │ │ ├── cmakelists_openmp_C_ex.in │ │ │ │ ├── cmakelists_openmpdev_ex.in │ │ │ │ ├── cmakelists_parallel_CUDA_ex.in │ │ │ │ ├── cmakelists_parallel_CXX_ex.in │ │ │ │ ├── cmakelists_parallel_C_ex.in │ │ │ │ ├── cmakelists_parallel_F2003_ex.in │ │ │ │ ├── cmakelists_parallel_RAJA_ex.in │ │ │ │ ├── cmakelists_parhyp_CXX_ex.in │ │ │ │ ├── cmakelists_parhyp_C_ex.in │ │ │ │ ├── cmakelists_petsc_C_ex.in │ │ │ │ ├── cmakelists_pthreads_C_ex.in │ │ │ │ ├── cmakelists_serial_CUDA_ex.in │ │ │ │ ├── cmakelists_serial_CXX_ex.in │ │ │ │ ├── cmakelists_serial_C_ex.in │ │ │ │ ├── cmakelists_serial_F2003_ex.in │ │ │ │ ├── cmakelists_serial_RAJA_ex.in │ │ │ │ ├── cmakelists_trilinos_CXX_ex.in │ │ │ │ ├── cmakelists_xbraid_CXX_ex.in │ │ │ │ ├── makefile_CXX_ex.in │ │ │ │ ├── makefile_openmp_C_ex.in │ │ │ │ ├── makefile_openmpdev_ex.in │ │ │ │ ├── makefile_parallel_CUDA_ex.in │ │ │ │ ├── makefile_parallel_CXX_ex.in │ │ │ │ ├── makefile_parallel_C_ex.in │ │ │ │ ├── makefile_parallel_F2003_ex.in │ │ │ │ ├── makefile_parallel_RAJA_ex.in │ │ │ │ ├── makefile_parhyp_CXX_ex.in │ │ │ │ ├── makefile_parhyp_C_ex.in │ │ │ │ ├── makefile_petsc_C_ex.in │ │ │ │ ├── makefile_pthreads_C_ex.in │ │ │ │ ├── makefile_serial_CUDA_ex.in │ │ │ │ ├── makefile_serial_CXX_ex.in │ │ │ │ ├── makefile_serial_C_ex.in │ │ │ │ ├── makefile_serial_F2003_ex.in │ │ │ │ ├── makefile_serial_RAJA_ex.in │ │ │ │ ├── makefile_trilinos_CXX_ex.in │ │ │ │ └── makefile_xbraid_CXX_ex.in │ │ │ └── utilities/ │ │ │ ├── custom_memory_helper_gpu.h │ │ │ ├── custom_memory_helper_sycl.h │ │ │ ├── example_utilities.hpp │ │ │ ├── plot_data_2d.py │ │ │ └── test_utilities.f90 │ │ ├── include/ │ │ │ ├── cvode/ │ │ │ │ ├── cvode.h │ │ │ │ ├── cvode_bandpre.h │ │ │ │ ├── cvode_bbdpre.h │ │ │ │ ├── cvode_diag.h │ │ │ │ ├── cvode_direct.h │ │ │ │ ├── cvode_ls.h │ │ │ │ ├── cvode_proj.h │ │ │ │ └── cvode_spils.h │ │ │ ├── nvector/ │ │ │ │ ├── nvector_cuda.h │ │ │ │ ├── nvector_hip.h │ │ │ │ ├── nvector_kokkos.hpp │ │ │ │ ├── nvector_manyvector.h │ │ │ │ ├── nvector_mpimanyvector.h │ │ │ │ ├── nvector_mpiplusx.h │ │ │ │ ├── nvector_openmp.h │ │ │ │ ├── nvector_openmpdev.h │ │ │ │ ├── nvector_parallel.h │ │ │ │ ├── nvector_parhyp.h │ │ │ │ ├── nvector_petsc.h │ │ │ │ ├── nvector_pthreads.h │ │ │ │ ├── nvector_raja.h │ │ │ │ ├── nvector_serial.h │ │ │ │ ├── nvector_sycl.h │ │ │ │ ├── nvector_trilinos.h │ │ │ │ └── trilinos/ │ │ │ │ ├── SundialsTpetraVectorInterface.hpp │ │ │ │ └── SundialsTpetraVectorKernels.hpp │ │ │ ├── sundials/ │ │ │ │ ├── sundials_band.h │ │ │ │ ├── sundials_base.hpp │ │ │ │ ├── sundials_config.in │ │ │ │ ├── sundials_context.h │ │ │ │ ├── sundials_context.hpp │ │ │ │ ├── sundials_convertibleto.hpp │ │ │ │ ├── sundials_cuda_policies.hpp │ │ │ │ ├── sundials_dense.h │ │ │ │ ├── sundials_direct.h │ │ │ │ ├── sundials_futils.h │ │ │ │ ├── sundials_hip_policies.hpp │ │ │ │ ├── sundials_iterative.h │ │ │ │ ├── sundials_lapack.h │ │ │ │ ├── sundials_linearsolver.h │ │ │ │ ├── sundials_linearsolver.hpp │ │ │ │ ├── sundials_logger.h │ │ │ │ ├── sundials_math.h │ │ │ │ ├── sundials_matrix.h │ │ │ │ ├── sundials_matrix.hpp │ │ │ │ ├── sundials_memory.h │ │ │ │ ├── sundials_mpi_types.h │ │ │ │ ├── sundials_nonlinearsolver.h │ │ │ │ ├── sundials_nonlinearsolver.hpp │ │ │ │ ├── sundials_nvector.h │ │ │ │ ├── sundials_nvector.hpp │ │ │ │ ├── sundials_nvector_senswrapper.h │ │ │ │ ├── sundials_profiler.h │ │ │ │ ├── sundials_sycl_policies.hpp │ │ │ │ ├── sundials_types.h │ │ │ │ ├── sundials_version.h │ │ │ │ └── sundials_xbraid.h │ │ │ ├── sunlinsol/ │ │ │ │ ├── sunlinsol_band.h │ │ │ │ ├── sunlinsol_cusolversp_batchqr.h │ │ │ │ ├── sunlinsol_dense.h │ │ │ │ ├── sunlinsol_ginkgo.hpp │ │ │ │ ├── sunlinsol_klu.h │ │ │ │ ├── sunlinsol_kokkosdense.hpp │ │ │ │ ├── sunlinsol_lapackband.h │ │ │ │ ├── sunlinsol_lapackdense.h │ │ │ │ ├── sunlinsol_magmadense.h │ │ │ │ ├── sunlinsol_onemkldense.h │ │ │ │ ├── sunlinsol_pcg.h │ │ │ │ ├── sunlinsol_spbcgs.h │ │ │ │ ├── sunlinsol_spfgmr.h │ │ │ │ ├── sunlinsol_spgmr.h │ │ │ │ ├── sunlinsol_sptfqmr.h │ │ │ │ ├── sunlinsol_superludist.h │ │ │ │ └── sunlinsol_superlumt.h │ │ │ ├── sunmatrix/ │ │ │ │ ├── sunmatrix_band.h │ │ │ │ ├── sunmatrix_cusparse.h │ │ │ │ ├── sunmatrix_dense.h │ │ │ │ ├── sunmatrix_ginkgo.hpp │ │ │ │ ├── sunmatrix_kokkosdense.hpp │ │ │ │ ├── sunmatrix_magmadense.h │ │ │ │ ├── sunmatrix_onemkldense.h │ │ │ │ ├── sunmatrix_slunrloc.h │ │ │ │ └── sunmatrix_sparse.h │ │ │ ├── sunmemory/ │ │ │ │ ├── sunmemory_cuda.h │ │ │ │ ├── sunmemory_hip.h │ │ │ │ ├── sunmemory_sycl.h │ │ │ │ └── sunmemory_system.h │ │ │ └── sunnonlinsol/ │ │ │ ├── sunnonlinsol_fixedpoint.h │ │ │ ├── sunnonlinsol_newton.h │ │ │ └── sunnonlinsol_petscsnes.h │ │ ├── scripts/ │ │ │ └── sundials_csv.py │ │ ├── src/ │ │ │ ├── CMakeLists.txt │ │ │ ├── cvode/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── LICENSE │ │ │ │ ├── NOTICE │ │ │ │ ├── README.md │ │ │ │ ├── cvode.c │ │ │ │ ├── cvode_bandpre.c │ │ │ │ ├── cvode_bandpre_impl.h │ │ │ │ ├── cvode_bbdpre.c │ │ │ │ ├── cvode_bbdpre_impl.h │ │ │ │ ├── cvode_diag.c │ │ │ │ ├── cvode_diag_impl.h │ │ │ │ ├── cvode_direct.c │ │ │ │ ├── cvode_fused_gpu.cpp │ │ │ │ ├── cvode_fused_stubs.c │ │ │ │ ├── cvode_impl.h │ │ │ │ ├── cvode_io.c │ │ │ │ ├── cvode_ls.c │ │ │ │ ├── cvode_ls_impl.h │ │ │ │ ├── cvode_nls.c │ │ │ │ ├── cvode_proj.c │ │ │ │ ├── cvode_proj_impl.h │ │ │ │ ├── cvode_spils.c │ │ │ │ └── fmod/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── fcvode_mod.c │ │ │ │ └── fcvode_mod.f90 │ │ │ ├── nvector/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── cuda/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── VectorArrayKernels.cuh │ │ │ │ │ ├── VectorKernels.cuh │ │ │ │ │ └── nvector_cuda.cu │ │ │ │ ├── hip/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── VectorArrayKernels.hip.hpp │ │ │ │ │ ├── VectorKernels.hip.hpp │ │ │ │ │ └── nvector_hip.hip.cpp │ │ │ │ ├── manyvector/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fnvector_manyvector_mod.c │ │ │ │ │ │ ├── fnvector_manyvector_mod.f90 │ │ │ │ │ │ ├── fnvector_mpimanyvector_mod.c │ │ │ │ │ │ └── fnvector_mpimanyvector_mod.f90 │ │ │ │ │ └── nvector_manyvector.c │ │ │ │ ├── mpiplusx/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fnvector_mpiplusx_mod.c │ │ │ │ │ │ └── fnvector_mpiplusx_mod.f90 │ │ │ │ │ └── nvector_mpiplusx.c │ │ │ │ ├── openmp/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fnvector_openmp_mod.c │ │ │ │ │ │ └── fnvector_openmp_mod.f90 │ │ │ │ │ └── nvector_openmp.c │ │ │ │ ├── openmpdev/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── nvector_openmpdev.c │ │ │ │ ├── parallel/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fnvector_parallel_mod.c │ │ │ │ │ │ └── fnvector_parallel_mod.f90 │ │ │ │ │ └── nvector_parallel.c │ │ │ │ ├── parhyp/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── nvector_parhyp.c │ │ │ │ ├── petsc/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── nvector_petsc.c │ │ │ │ ├── pthreads/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fnvector_pthreads_mod.c │ │ │ │ │ │ └── fnvector_pthreads_mod.f90 │ │ │ │ │ └── nvector_pthreads.c │ │ │ │ ├── raja/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── nvector_raja.cpp │ │ │ │ ├── serial/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fnvector_serial_mod.c │ │ │ │ │ │ └── fnvector_serial_mod.f90 │ │ │ │ │ └── nvector_serial.c │ │ │ │ ├── sycl/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── nvector_sycl.cpp │ │ │ │ └── trilinos/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── nvector_trilinos.cpp │ │ │ ├── sundials/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── fmod/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fsundials_context_mod.c │ │ │ │ │ ├── fsundials_context_mod.f90 │ │ │ │ │ ├── fsundials_futils_mod.c │ │ │ │ │ ├── fsundials_futils_mod.f90 │ │ │ │ │ ├── fsundials_linearsolver_mod.c │ │ │ │ │ ├── fsundials_linearsolver_mod.f90 │ │ │ │ │ ├── fsundials_logger_mod.c │ │ │ │ │ ├── fsundials_logger_mod.f90 │ │ │ │ │ ├── fsundials_matrix_mod.c │ │ │ │ │ ├── fsundials_matrix_mod.f90 │ │ │ │ │ ├── fsundials_nonlinearsolver_mod.c │ │ │ │ │ ├── fsundials_nonlinearsolver_mod.f90 │ │ │ │ │ ├── fsundials_nvector_mod.c │ │ │ │ │ ├── fsundials_nvector_mod.f90 │ │ │ │ │ ├── fsundials_profiler_mod.c │ │ │ │ │ ├── fsundials_profiler_mod.f90 │ │ │ │ │ ├── fsundials_types_mod.c │ │ │ │ │ └── fsundials_types_mod.f90 │ │ │ │ ├── sundials_band.c │ │ │ │ ├── sundials_context.c │ │ │ │ ├── sundials_context_impl.h │ │ │ │ ├── sundials_cuda.h │ │ │ │ ├── sundials_cuda_kernels.cuh │ │ │ │ ├── sundials_debug.h │ │ │ │ ├── sundials_dense.c │ │ │ │ ├── sundials_direct.c │ │ │ │ ├── sundials_futils.c │ │ │ │ ├── sundials_hashmap.h │ │ │ │ ├── sundials_hip.h │ │ │ │ ├── sundials_hip_kernels.hip.hpp │ │ │ │ ├── sundials_iterative.c │ │ │ │ ├── sundials_iterative_impl.h │ │ │ │ ├── sundials_lapack_defs.h │ │ │ │ ├── sundials_linearsolver.c │ │ │ │ ├── sundials_logger.c │ │ │ │ ├── sundials_logger_impl.h │ │ │ │ ├── sundials_math.c │ │ │ │ ├── sundials_matrix.c │ │ │ │ ├── sundials_memory.c │ │ │ │ ├── sundials_nonlinearsolver.c │ │ │ │ ├── sundials_nvector.c │ │ │ │ ├── sundials_nvector_senswrapper.c │ │ │ │ ├── sundials_profiler.c │ │ │ │ ├── sundials_reductions.hpp │ │ │ │ ├── sundials_sycl.h │ │ │ │ ├── sundials_utils.h │ │ │ │ ├── sundials_version.c │ │ │ │ └── sundials_xbraid.c │ │ │ ├── sunlinsol/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── band/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fsunlinsol_band_mod.c │ │ │ │ │ │ └── fsunlinsol_band_mod.f90 │ │ │ │ │ └── sunlinsol_band.c │ │ │ │ ├── cusolversp/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── sunlinsol_cusolversp_batchqr.cu │ │ │ │ ├── dense/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fsunlinsol_dense_mod.c │ │ │ │ │ │ └── fsunlinsol_dense_mod.f90 │ │ │ │ │ └── sunlinsol_dense.c │ │ │ │ ├── klu/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fsunlinsol_klu_mod.c │ │ │ │ │ │ └── fsunlinsol_klu_mod.f90 │ │ │ │ │ └── sunlinsol_klu.c │ │ │ │ ├── lapackband/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── sunlinsol_lapackband.c │ │ │ │ ├── lapackdense/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── sunlinsol_lapackdense.c │ │ │ │ ├── magmadense/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── sunlinsol_magmadense.cpp │ │ │ │ ├── onemkldense/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── sunlinsol_onemkldense.cpp │ │ │ │ ├── pcg/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fsunlinsol_pcg_mod.c │ │ │ │ │ │ └── fsunlinsol_pcg_mod.f90 │ │ │ │ │ └── sunlinsol_pcg.c │ │ │ │ ├── spbcgs/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fsunlinsol_spbcgs_mod.c │ │ │ │ │ │ └── fsunlinsol_spbcgs_mod.f90 │ │ │ │ │ └── sunlinsol_spbcgs.c │ │ │ │ ├── spfgmr/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fsunlinsol_spfgmr_mod.c │ │ │ │ │ │ └── fsunlinsol_spfgmr_mod.f90 │ │ │ │ │ └── sunlinsol_spfgmr.c │ │ │ │ ├── spgmr/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fsunlinsol_spgmr_mod.c │ │ │ │ │ │ └── fsunlinsol_spgmr_mod.f90 │ │ │ │ │ └── sunlinsol_spgmr.c │ │ │ │ ├── sptfqmr/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fsunlinsol_sptfqmr_mod.c │ │ │ │ │ │ └── fsunlinsol_sptfqmr_mod.f90 │ │ │ │ │ └── sunlinsol_sptfqmr.c │ │ │ │ ├── superludist/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── sunlinsol_superludist.c │ │ │ │ └── superlumt/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── sunlinsol_superlumt.c │ │ │ ├── sunmatrix/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── band/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fsunmatrix_band_mod.c │ │ │ │ │ │ └── fsunmatrix_band_mod.f90 │ │ │ │ │ └── sunmatrix_band.c │ │ │ │ ├── cusparse/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── cusparse_kernels.cuh │ │ │ │ │ └── sunmatrix_cusparse.cu │ │ │ │ ├── dense/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fmod/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── fsunmatrix_dense_mod.c │ │ │ │ │ │ └── fsunmatrix_dense_mod.f90 │ │ │ │ │ └── sunmatrix_dense.c │ │ │ │ ├── magmadense/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── dense_cuda_kernels.cuh │ │ │ │ │ ├── dense_hip_kernels.hip.hpp │ │ │ │ │ └── sunmatrix_magmadense.cpp │ │ │ │ ├── onemkldense/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── sunmatrix_onemkldense.cpp │ │ │ │ ├── slunrloc/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── sunmatrix_slunrloc.c │ │ │ │ └── sparse/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── fmod/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fsunmatrix_sparse_mod.c │ │ │ │ │ └── fsunmatrix_sparse_mod.f90 │ │ │ │ └── sunmatrix_sparse.c │ │ │ ├── sunmemory/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── cuda/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── sundials_cuda_memory.cu │ │ │ │ ├── hip/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── sundials_hip_memory.hip.cpp │ │ │ │ ├── sycl/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── sundials_sycl_memory.cpp │ │ │ │ └── system/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── sundials_system_memory.c │ │ │ └── sunnonlinsol/ │ │ │ ├── CMakeLists.txt │ │ │ ├── fixedpoint/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── fmod/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fsunnonlinsol_fixedpoint_mod.c │ │ │ │ │ └── fsunnonlinsol_fixedpoint_mod.f90 │ │ │ │ └── sunnonlinsol_fixedpoint.c │ │ │ ├── newton/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── fmod/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── fsunnonlinsol_newton_mod.c │ │ │ │ │ └── fsunnonlinsol_newton_mod.f90 │ │ │ │ └── sunnonlinsol_newton.c │ │ │ └── petscsnes/ │ │ │ ├── CMakeLists.txt │ │ │ └── sunnonlinsol_petscsnes.c │ │ └── test/ │ │ ├── testRunner │ │ └── unit_tests/ │ │ ├── CMakeLists.txt │ │ ├── cvode/ │ │ │ ├── CMakeLists.txt │ │ │ ├── CXX_serial/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── cv_test_getjac.cpp │ │ │ │ ├── cv_test_getjac.out │ │ │ │ ├── cv_test_kpr.cpp │ │ │ │ ├── cv_test_kpr.hpp │ │ │ │ ├── cv_test_kpr.out │ │ │ │ ├── cv_test_kpr_--dgmax_jbad_1.0.out │ │ │ │ ├── cv_test_kpr_--dgmax_lsetup_0.0.out │ │ │ │ ├── cv_test_kpr_--eta_cf_0.5.out │ │ │ │ ├── cv_test_kpr_--eta_max_ef_0.1_--small_nef_1.out │ │ │ │ ├── cv_test_kpr_--eta_max_fs_2.out │ │ │ │ ├── cv_test_kpr_--eta_min_ef_0.5.out │ │ │ │ ├── cv_test_kpr_--eta_min_es_2_--small_nst_5.out │ │ │ │ ├── cv_test_kpr_--eta_min_fx_1.0_--eta_max_fx_2.0.out │ │ │ │ ├── cv_test_kpr_--eta_min_fx_1.0_--eta_min_0.5.out │ │ │ │ └── cv_test_kpr_--eta_min_gs_2.out │ │ │ └── C_serial/ │ │ │ ├── CMakeLists.txt │ │ │ └── cv_test_getuserdata.c │ │ ├── reductions/ │ │ │ ├── CMakeLists.txt │ │ │ └── test_reduction_operators.cpp │ │ └── sunmemory/ │ │ ├── CMakeLists.txt │ │ ├── cuda/ │ │ │ ├── CMakeLists.txt │ │ │ └── test_sunmemory_cuda.cu │ │ ├── hip/ │ │ │ ├── CMakeLists.txt │ │ │ └── test_sunmemory_hip.cpp │ │ ├── sycl/ │ │ │ ├── CMakeLists.txt │ │ │ └── test_sunmemory_sycl.cpp │ │ └── sys/ │ │ ├── CMakeLists.txt │ │ └── test_sunmemory_sys.cpp │ ├── gslib/ │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── src/ │ │ │ ├── c99.h │ │ │ ├── comm.c │ │ │ ├── comm.h │ │ │ ├── crystal.c │ │ │ ├── crystal.h │ │ │ ├── fail.c │ │ │ ├── fail.h │ │ │ ├── fcrystal.c │ │ │ ├── findpts.c │ │ │ ├── findpts.h │ │ │ ├── findpts_el.h │ │ │ ├── findpts_el_2.c │ │ │ ├── findpts_el_3.c │ │ │ ├── findpts_imp.h │ │ │ ├── findpts_local.c │ │ │ ├── findpts_local.h │ │ │ ├── findpts_local_imp.h │ │ │ ├── gen_poly_imp.c │ │ │ ├── gs.c │ │ │ ├── gs.h │ │ │ ├── gs_defs.h │ │ │ ├── gs_local.c │ │ │ ├── gs_local.h │ │ │ ├── gslib.h │ │ │ ├── lob_bnd.c │ │ │ ├── lob_bnd.h │ │ │ ├── mem.h │ │ │ ├── name.h │ │ │ ├── obbox.c │ │ │ ├── obbox.h │ │ │ ├── poly.c │ │ │ ├── poly.h │ │ │ ├── poly_imp.h │ │ │ ├── sarray_sort.c │ │ │ ├── sarray_sort.h │ │ │ ├── sarray_transfer.c │ │ │ ├── sarray_transfer.h │ │ │ ├── sort.c │ │ │ ├── sort.h │ │ │ ├── sort_imp.h │ │ │ ├── tensor.c │ │ │ ├── tensor.h │ │ │ └── types.h │ │ └── tests/ │ │ ├── comm_test.c │ │ ├── crystal_test.c │ │ ├── findpts_el_2_test.c │ │ ├── findpts_el_2_test2.c │ │ ├── findpts_el_3_test.c │ │ ├── findpts_el_3_test2.c │ │ ├── findpts_local_test.c │ │ ├── findpts_test.c │ │ ├── findpts_test_ms.c │ │ ├── fortran/ │ │ │ └── f-igs.f │ │ ├── gs_test.c │ │ ├── gs_test_gop_blocking.c │ │ ├── gs_test_gop_nonblocking.c │ │ ├── gs_unique_test.c │ │ ├── lob_bnd_test.c │ │ ├── obbox_test.c │ │ ├── poly_test.c │ │ ├── rand_elt_test.h │ │ ├── run_tests.sh │ │ ├── sarray_sort_test.c │ │ ├── sarray_transfer_test.c │ │ ├── sort_test.c │ │ └── sort_test2.c │ ├── lapack/ │ │ ├── .appveyor.yml │ │ ├── .github/ │ │ │ ├── ISSUE_TEMPLATE/ │ │ │ │ ├── bug_report.md │ │ │ │ ├── feature_request.md │ │ │ │ └── help_wanted.md │ │ │ ├── PULL_REQUEST_TEMPLATE.md │ │ │ ├── SECURITY.md │ │ │ └── workflows/ │ │ │ ├── cmake.yml │ │ │ ├── makefile.yml │ │ │ └── scorecard.yml │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── BLAS/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Makefile │ │ │ ├── SRC/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Makefile │ │ │ │ ├── caxpy.f │ │ │ │ ├── ccopy.f │ │ │ │ ├── cdotc.f │ │ │ │ ├── cdotu.f │ │ │ │ ├── cgbmv.f │ │ │ │ ├── cgemm.f │ │ │ │ ├── cgemv.f │ │ │ │ ├── cgerc.f │ │ │ │ ├── cgeru.f │ │ │ │ ├── chbmv.f │ │ │ │ ├── chemm.f │ │ │ │ ├── chemv.f │ │ │ │ ├── cher.f │ │ │ │ ├── cher2.f │ │ │ │ ├── cher2k.f │ │ │ │ ├── cherk.f │ │ │ │ ├── chpmv.f │ │ │ │ ├── chpr.f │ │ │ │ ├── chpr2.f │ │ │ │ ├── crotg.f90 │ │ │ │ ├── cscal.f │ │ │ │ ├── csrot.f │ │ │ │ ├── csscal.f │ │ │ │ ├── cswap.f │ │ │ │ ├── csymm.f │ │ │ │ ├── csyr2k.f │ │ │ │ ├── csyrk.f │ │ │ │ ├── ctbmv.f │ │ │ │ ├── ctbsv.f │ │ │ │ ├── ctpmv.f │ │ │ │ ├── ctpsv.f │ │ │ │ ├── ctrmm.f │ │ │ │ ├── ctrmv.f │ │ │ │ ├── ctrsm.f │ │ │ │ ├── ctrsv.f │ │ │ │ ├── dasum.f │ │ │ │ ├── daxpy.f │ │ │ │ ├── dcabs1.f │ │ │ │ ├── dcopy.f │ │ │ │ ├── ddot.f │ │ │ │ ├── dgbmv.f │ │ │ │ ├── dgemm.f │ │ │ │ ├── dgemv.f │ │ │ │ ├── dger.f │ │ │ │ ├── dnrm2.f90 │ │ │ │ ├── drot.f │ │ │ │ ├── drotg.f90 │ │ │ │ ├── drotm.f │ │ │ │ ├── drotmg.f │ │ │ │ ├── dsbmv.f │ │ │ │ ├── dscal.f │ │ │ │ ├── dsdot.f │ │ │ │ ├── dspmv.f │ │ │ │ ├── dspr.f │
Copy disabled (too large)
Download .txt
Showing preview only (156,993K chars total). Download the full file to get everything.
SYMBOL INDEX (27725 symbols across 4621 files)
FILE: 3rd_party/adios/.gitlab/config/SpackCIBridge.py
class SpackCIBridge (line 19) | class SpackCIBridge(object):
method __init__ (line 21) | def __init__(self, gitlab_repo="", gitlab_host="", gitlab_project="", ...
method cleanup (line 58) | def cleanup():
method setup_ssh (line 64) | def setup_ssh(self, ssh_key_base64):
method get_commit (line 98) | def get_commit(self, commit):
method list_github_prs (line 105) | def list_github_prs(self):
method list_github_protected_branches (line 268) | def list_github_protected_branches(self):
method list_github_tags (line 283) | def list_github_tags(self):
method setup_git_repo (line 293) | def setup_git_repo(self):
method get_gitlab_pr_branches (line 311) | def get_gitlab_pr_branches(self):
method gitlab_shallow_fetch (line 319) | def gitlab_shallow_fetch(self):
method get_open_refspecs (line 324) | def get_open_refspecs(self, open_prs):
method update_refspecs_for_protected_branches (line 336) | def update_refspecs_for_protected_branches(self, protected_branches, o...
method update_refspecs_for_tags (line 343) | def update_refspecs_for_tags(self, tags, open_refspecs, fetch_refspecs):
method fetch_github_branches (line 350) | def fetch_github_branches(self, fetch_refspecs):
method build_local_branches (line 356) | def build_local_branches(self, protected_branches):
method make_status_for_pipeline (line 364) | def make_status_for_pipeline(self, pipeline):
method dedupe_pipelines (line 421) | def dedupe_pipelines(self, api_response):
method find_pr_sha (line 435) | def find_pr_sha(self, tested_sha):
method get_pipelines_for_branch (line 468) | def get_pipelines_for_branch(self, branch, time_threshold=None):
method post_pipeline_status (line 496) | def post_pipeline_status(self, open_prs, protected_branches):
method create_status_for_commit (line 563) | def create_status_for_commit(self, sha, branch, state, target_url, des...
method sync (line 589) | def sync(self):
FILE: 3rd_party/adios/.gitlab/config/generate_pipelines.py
class skip_after_n_successes (line 21) | class skip_after_n_successes:
method __init__ (line 22) | def __init__(self, default_value, n):
method __call__ (line 27) | def __call__(self, fn, *args, **kwargs):
function http_get_request (line 37) | def http_get_request(*args, **kwargs):
function request_as_list (line 42) | def request_as_list(url, *args, **kwargs):
function add_timestamp (line 60) | def add_timestamp(branch):
function is_recent (line 69) | def is_recent(branch):
function has_no_status (line 74) | def has_no_status(branch):
FILE: 3rd_party/adios/bindings/C/adios2/c/adios2_c_adios.cpp
function adios2_ToArrayOrdering (line 20) | adios2::ArrayOrdering adios2_ToArrayOrdering(const adios2_arrayordering ...
function adios2_adios (line 44) | adios2_adios *adios2_init_config_glue_serial(const char *config_file, co...
function adios2_adios (line 61) | adios2_adios *adios2_init_serial() { return adios2_init_config_glue_seri...
function adios2_adios (line 63) | adios2_adios *adios2_init_config_serial(const char *config_file)
function adios2_io (line 68) | adios2_io *adios2_declare_io(adios2_adios *adios, const char *name)
function adios2_io (line 84) | adios2_io *adios2_declare_io_order(adios2_adios *adios, const char *name,
function adios2_io (line 102) | adios2_io *adios2_at_io(adios2_adios *adios, const char *name)
function adios2_operator (line 118) | adios2_operator *adios2_define_operator(adios2_adios *adios, const char ...
function adios2_operator (line 135) | adios2_operator *adios2_inquire_operator(adios2_adios *adios, const char...
function adios2_error (line 152) | adios2_error adios2_flush_all(adios2_adios *adios)
function adios2_error (line 166) | adios2_error adios2_remove_io(adios2_bool *result, adios2_adios *adios, ...
function adios2_error (line 181) | adios2_error adios2_remove_all_ios(adios2_adios *adios)
function adios2_error (line 196) | adios2_error adios2_finalize(adios2_adios *adios)
function adios2_error (line 212) | adios2_error adios2_enter_computation_block(adios2_adios *adios)
function adios2_error (line 230) | adios2_error adios2_exit_computation_block(adios2_adios *adios)
FILE: 3rd_party/adios/bindings/C/adios2/c/adios2_c_adios_mpi.cpp
function adios2_adios (line 18) | adios2_adios *adios2_init_config_glue_mpi(const char *config_file, MPI_C...
function adios2_adios (line 37) | adios2_adios *adios2_init_mpi(MPI_Comm comm) { return adios2_init_config...
function adios2_adios (line 39) | adios2_adios *adios2_init_config_mpi(const char *config_file, MPI_Comm c...
FILE: 3rd_party/adios/bindings/C/adios2/c/adios2_c_attribute.cpp
function adios2_error (line 21) | adios2_error adios2_attribute_name(char *name, size_t *size, const adios...
function adios2_error (line 39) | adios2_error adios2_attribute_type(adios2_type *type, const adios2_attri...
function adios2_error (line 71) | adios2_error adios2_attribute_type_string(char *type, size_t *size,
function adios2_error (line 92) | adios2_error adios2_attribute_is_value(adios2_bool *result, const adios2...
function adios2_error (line 110) | adios2_error adios2_attribute_size(size_t *size, const adios2_attribute ...
function adios2_error (line 127) | adios2_error adios2_attribute_data(void *data, size_t *size, const adios...
FILE: 3rd_party/adios/bindings/C/adios2/c/adios2_c_engine.cpp
function adios2_ToMode (line 20) | adios2::Mode adios2_ToMode(const adios2_mode mode, const std::string &hint)
function adios2_mode (line 49) | adios2_mode adios2_fromMode(const adios2::Mode mode, const std::string &...
function ToStepMode (line 78) | adios2::StepMode ToStepMode(const adios2_step_mode mode, const std::stri...
function adios2_step_status (line 99) | adios2_step_status ToStepStatus(const adios2::StepStatus statusCpp, cons...
function adios2_error (line 126) | adios2_error adios2_engine_name(char *name, size_t *size, const adios2_e...
function adios2_error (line 146) | adios2_error adios2_engine_get_type(char *type, size_t *size, const adio...
function adios2_error (line 168) | adios2_error adios2_engine_openmode(adios2_mode *mode, const adios2_engi...
function adios2_error (line 189) | adios2_error adios2_begin_step(adios2_engine *engine, const adios2_step_...
function adios2_error (line 211) | adios2_error adios2_between_step_pairs(size_t *between_step_pairs, const...
function adios2_error (line 231) | adios2_error adios2_current_step(size_t *current_step, const adios2_engi...
function adios2_error (line 250) | adios2_error adios2_steps(size_t *steps, const adios2_engine *engine)
function adios2_error (line 268) | adios2_error adios2_put(adios2_engine *engine, adios2_variable *variable...
function adios2_error (line 314) | adios2_error adios2_put_by_name(adios2_engine *engine, const char *varia...
function adios2_error (line 356) | adios2_error adios2_perform_puts(adios2_engine *engine)
function adios2_error (line 374) | adios2_error adios2_perform_data_write(adios2_engine *engine)
function adios2_error (line 393) | adios2_error adios2_get(adios2_engine *engine, adios2_variable *variable...
function adios2_error (line 440) | adios2_error adios2_get_by_name(adios2_engine *engine, const char *varia...
function adios2_error (line 482) | adios2_error adios2_perform_gets(adios2_engine *engine)
function adios2_error (line 500) | adios2_error adios2_end_step(adios2_engine *engine)
function adios2_error (line 517) | adios2_error adios2_flush(adios2_engine *engine) { return adios2_flush_b...
function adios2_error (line 519) | adios2_error adios2_flush_by_index(adios2_engine *engine, const int tran...
function adios2_error (line 539) | adios2_error adios2_close(adios2_engine *engine) { return adios2_close_b...
function adios2_error (line 541) | adios2_error adios2_lock_writer_definitions(adios2_engine *engine)
function adios2_error (line 556) | adios2_error adios2_lock_reader_selections(adios2_engine *engine)
function adios2_varinfo (line 571) | adios2_varinfo *adios2_inquire_blockinfo(adios2_engine *engine, adios2_v...
function adios2_free_blockinfo (line 742) | void adios2_free_blockinfo(adios2_varinfo *data_blocks)
function adios2_error (line 758) | adios2_error adios2_close_by_index(adios2_engine *engine, const int tran...
FILE: 3rd_party/adios/bindings/C/adios2/c/adios2_c_io.cpp
function adios2_error (line 24) | adios2_error adios2_in_config_file(adios2_bool *result, const adios2_io ...
function adios2_error (line 39) | adios2_error adios2_set_engine(adios2_io *io, const char *engine_type)
function adios2_error (line 53) | adios2_error adios2_set_parameters(adios2_io *io, const char *parameters)
function adios2_error (line 67) | adios2_error adios2_set_parameter(adios2_io *io, const char *key, const ...
function adios2_error (line 81) | adios2_error adios2_get_parameter(char *value, size_t *size, const adios...
function adios2_error (line 106) | adios2_error adios2_clear_parameters(adios2_io *io)
function adios2_error (line 121) | adios2_error adios2_add_transport(size_t *transport_index, adios2_io *io...
function adios2_error (line 135) | adios2_error adios2_set_transport_parameter(adios2_io *io, const size_t ...
function adios2_derived_variable (line 154) | adios2_derived_variable *adios2_define_derived_variable(adios2_io *io, c...
function adios2_variable (line 190) | adios2_variable *adios2_define_variable(adios2_io *io, const char *name,...
function adios2_variable (line 252) | adios2_variable *adios2_inquire_variable(adios2_io *io, const char *name)
function adios2_error (line 294) | adios2_error adios2_inquire_all_variables(adios2_variable ***variables, ...
function adios2_error (line 345) | adios2_error adios2_inquire_subgroups(char ***results, const char *full_...
function adios2_error (line 410) | adios2_error adios2_inquire_group_variables(adios2_variable ***variables...
function adios2_attribute (line 474) | adios2_attribute *adios2_define_attribute(adios2_io *io, const char *nam...
function adios2_attribute (line 480) | adios2_attribute *adios2_define_attribute_array(adios2_io *io, const cha...
function adios2_attribute (line 487) | adios2_attribute *adios2_define_variable_attribute(adios2_io *io, const ...
function adios2_attribute (line 544) | adios2_attribute *adios2_define_variable_attribute_array(adios2_io *io, ...
function adios2_attribute (line 609) | adios2_attribute *adios2_inquire_attribute(adios2_io *io, const char *name)
function adios2_attribute (line 650) | adios2_attribute *adios2_inquire_variable_attribute(adios2_io *io, const...
function adios2_error (line 660) | adios2_error adios2_inquire_all_attributes(adios2_attribute ***attribute...
function adios2_error (line 712) | adios2_error adios2_inquire_group_attributes(adios2_attribute ***attribu...
function adios2_error (line 780) | adios2_error adios2_remove_variable(adios2_bool *result, adios2_io *io, ...
function adios2_error (line 798) | adios2_error adios2_remove_all_variables(adios2_io *io)
function adios2_error (line 815) | adios2_error adios2_remove_attribute(adios2_bool *result, adios2_io *io,...
function adios2_error (line 831) | adios2_error adios2_remove_all_attributes(adios2_io *io)
function adios2_engine (line 900) | adios2_engine *adios2_open(adios2_io *io, const char *name, const adios2...
function adios2_error (line 916) | adios2_error adios2_flush_all_engines(adios2_io *io)
function adios2_error (line 931) | adios2_error adios2_engine_type(char *engine_type, size_t *size, const a...
function adios2_engine (line 949) | adios2_engine *adios2_get_engine(adios2_io *io, const char *name)
FILE: 3rd_party/adios/bindings/C/adios2/c/adios2_c_io_mpi.cpp
function adios2_engine (line 21) | adios2_engine *adios2_open_new_comm(adios2_io *io, const char *name, con...
FILE: 3rd_party/adios/bindings/C/adios2/c/adios2_c_operator.cpp
function adios2_error (line 16) | adios2_error adios2_operator_type(char *type, size_t *size, const adios2...
FILE: 3rd_party/adios/bindings/C/adios2/c/adios2_c_types.h
type adios2_adios (line 23) | typedef struct adios2_adios adios2_adios;
type adios2_io (line 24) | typedef struct adios2_io adios2_io;
type adios2_variable (line 25) | typedef struct adios2_variable adios2_variable;
type adios2_derived_variable (line 26) | typedef struct adios2_derived_variable adios2_derived_variable;
type adios2_attribute (line 27) | typedef struct adios2_attribute adios2_attribute;
type adios2_engine (line 28) | typedef struct adios2_engine adios2_engine;
type adios2_operator (line 29) | typedef struct adios2_operator adios2_operator;
type adios2_error (line 38) | typedef enum
type adios2_bool (line 59) | typedef enum
type adios2_constant_dims (line 65) | typedef enum
type adios2_advance_step (line 71) | typedef enum
type adios2_type (line 77) | typedef enum
type adios2_mode (line 99) | typedef enum
type adios2_step_mode (line 111) | typedef enum
type adios2_step_status (line 118) | typedef enum
type adios2_shapeid (line 126) | typedef enum
type adios2_arrayordering (line 136) | typedef enum
type adios2_derived_var_type (line 145) | typedef enum
type adios2_memory_space (line 173) | typedef enum
type adios2_blockinfo (line 182) | typedef struct
type adios2_varinfo (line 193) | typedef struct
FILE: 3rd_party/adios/bindings/C/adios2/c/adios2_c_variable.cpp
function adios2_shapeid (line 19) | adios2_shapeid adios2_ToShapeID(const adios2::ShapeID shapeIDCpp, const ...
function adios2_error (line 58) | adios2_error adios2_set_shape(adios2_variable *variable, const size_t nd...
function adios2_ToMemorySpace (line 80) | adios2::MemorySpace adios2_ToMemorySpace(const adios2_memory_space Cmem)
function adios2_memory_space (line 101) | adios2_memory_space adios2_FromMemorySpace(const adios2::MemorySpace mem)
function adios2_error (line 122) | adios2_error adios2_set_memory_space(adios2_variable *variable, const ad...
function adios2_error (line 139) | adios2_error adios2_get_memory_space(adios2_memory_space *mem, adios2_va...
function adios2_error (line 156) | adios2_error adios2_set_block_selection(adios2_variable *variable, const...
function adios2_error (line 175) | adios2_error adios2_set_selection(adios2_variable *variable, const size_...
function adios2_error (line 201) | adios2_error adios2_set_memory_selection(adios2_variable *variable, cons...
function adios2_error (line 227) | adios2_error adios2_set_step_selection(adios2_variable *variable, const ...
function adios2_error (line 245) | adios2_error adios2_variable_name(char *name, size_t *size, const adios2...
function adios2_error (line 263) | adios2_error adios2_variable_type(adios2_type *type, const adios2_variab...
function adios2_error (line 297) | adios2_error adios2_variable_type_string(char *type, size_t *size, const...
function adios2_error (line 317) | adios2_error adios2_variable_shapeid(adios2_shapeid *shapeid, const adio...
function adios2_error (line 336) | adios2_error adios2_variable_ndims(size_t *ndims, const adios2_variable ...
function adios2_error (line 353) | adios2_error adios2_variable_shape_with_memory_space(size_t *shape, cons...
function adios2_error (line 394) | adios2_error adios2_variable_shape(size_t *shape, const adios2_variable ...
function adios2_error (line 399) | adios2_error adios2_variable_start(size_t *start, const adios2_variable ...
function adios2_error (line 417) | adios2_error adios2_variable_count(size_t *count, const adios2_variable ...
function adios2_error (line 453) | adios2_error adios2_variable_steps_start(size_t *steps_start, const adio...
function adios2_error (line 471) | adios2_error adios2_variable_steps(size_t *steps, const adios2_variable ...
function adios2_error (line 488) | adios2_error adios2_selection_size(size_t *size, const adios2_variable *...
function adios2_error (line 521) | adios2_error adios2_add_operation(size_t *operation_index, adios2_variab...
function adios2_error (line 559) | adios2_error adios2_set_operation_parameter(adios2_variable *variable, c...
function adios2_error (line 579) | adios2_error adios2_remove_operations(adios2_variable *variable)
function adios2_error (line 597) | adios2_error adios2_variable_min(void *min, const adios2_variable *varia...
function adios2_error (line 631) | adios2_error adios2_variable_max(void *max, const adios2_variable *varia...
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/ADIOS.cpp
type adios2 (line 16) | namespace adios2
function IO (line 32) | IO ADIOS::DeclareIO(const std::string name, const ArrayOrdering ArrayO...
function IO (line 38) | IO ADIOS::AtIO(const std::string name)
function Operator (line 62) | Operator ADIOS::DefineOperator(const std::string name, const std::stri...
function Operator (line 70) | Operator ADIOS::InquireOperator(const std::string name)
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/ADIOS.h
function namespace (line 35) | namespace core
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/ADIOSMPI.cpp
type adios2 (line 13) | namespace adios2
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/ADIOSView.h
function namespace (line 4) | namespace adios2
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/Attribute.cpp
type adios2 (line 17) | namespace adios2
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/Attribute.h
function namespace (line 26) | namespace core
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/Engine.cpp
type adios2 (line 17) | namespace adios2
function Mode (line 42) | Mode Engine::OpenMode() const
function StepStatus (line 48) | StepStatus Engine::BeginStep()
function StepStatus (line 60) | StepStatus Engine::BeginStep(const StepMode mode, const float timeoutS...
function ToString (line 355) | std::string ToString(const Engine &engine)
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/Engine.h
function namespace (line 29) | namespace core
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/Group.cpp
type adios2 (line 15) | namespace adios2
function Group (line 19) | Group Group::InquireGroup(std::string group_name)
function DataType (line 31) | DataType Group::VariableType(const std::string &name) const
function DataType (line 37) | DataType Group::AttributeType(const std::string &name) const
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/Group.h
function namespace (line 30) | namespace adios2
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/IO.cpp
type adios2 (line 16) | namespace adios2
function Params (line 63) | Params IO::Parameters() const
function Engine (line 106) | Engine IO::Open(const std::string &name, const Mode mode)
function Group (line 111) | Group IO::InquireGroup(char delimiter) { return Group(&m_IO->CreateGro...
function VariableNT (line 164) | VariableNT IO::DefineVariable(const DataType type, const std::string &...
function VariableDerived (line 183) | VariableDerived IO::DefineDerivedVariable(const std::string &name, con...
function StructDefinition (line 192) | StructDefinition IO::DefineStruct(const std::string &name, const size_...
function VariableNT (line 198) | VariableNT IO::DefineStructVariable(const std::string &name, const Str...
function VariableNT (line 208) | VariableNT IO::InquireVariable(const std::string &name)
function VariableNT (line 229) | VariableNT IO::InquireStructVariable(const std::string &name)
function VariableNT (line 237) | VariableNT IO::InquireStructVariable(const std::string &name, const St...
function ToString (line 272) | std::string ToString(const IO &io) { return std::string("IO(Name: \"" ...
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/IO.h
function namespace (line 37) | namespace core
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/IOMPI.cpp
type adios2 (line 14) | namespace adios2
function Engine (line 17) | Engine IO::Open(const std::string &name, const Mode mode, MPI_Comm comm)
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/KokkosView.h
function namespace (line 6) | namespace adios2
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/Operator.cpp
type adios2 (line 16) | namespace adios2
function Params (line 29) | Params &Operator::Parameters() const
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/Operator.h
function namespace (line 17) | namespace adios2
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/Query.cpp
type adios2 (line 6) | namespace adios2
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/Query.h
function namespace (line 18) | namespace adios2
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/Types.cpp
type adios2 (line 13) | namespace adios2
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/Types.h
function namespace (line 19) | namespace adios2
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/Variable.cpp
type adios2 (line 17) | namespace adios2
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/Variable.h
function namespace (line 26) | namespace core
type Info (line 370) | struct Info
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/VariableDerived.cpp
type adios2 (line 5) | namespace adios2
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/VariableDerived.h
function namespace (line 7) | namespace adios2
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/VariableNT.cpp
type adios2 (line 16) | namespace adios2
function DataType (line 61) | DataType StructDefinition::Type(const size_t index) const
function Dims (line 152) | Dims VariableNT::Shape(const size_t step) const
function Dims (line 158) | Dims VariableNT::Start() const
function Dims (line 164) | Dims VariableNT::Count() const
function DataType (line 290) | DataType VariableNT::StructFieldType(const size_t index) const
function StructDefinition (line 592) | StructDefinition VariableNT::GetWriteStructDef() noexcept
function StructDefinition (line 607) | StructDefinition VariableNT::GetReadStructDef() noexcept
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/VariableNT.h
function namespace (line 18) | namespace adios2
function class (line 51) | class VariableNT
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/fstream/ADIOS2fstream.cpp
type adios2 (line 14) | namespace adios2
function getstep (line 70) | bool getstep(adios2::fstream &stream, adios2::fstep &step)
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/fstream/ADIOS2fstream.h
function namespace (line 25) | namespace adios2
function namespace (line 32) | namespace adios2
FILE: 3rd_party/adios/bindings/CXX11/adios2/cxx11/fstream/ADIOS2fstreamMPI.cpp
type adios2 (line 13) | namespace adios2
FILE: 3rd_party/adios/bindings/Fortran/f2c/adios2_f2c_io.cpp
type cnamelist (line 225) | struct cnamelist
FILE: 3rd_party/adios/bindings/Matlab/adiosclosec.c
function mexFunction (line 30) | void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prh...
function errorCheck (line 79) | void errorCheck(int nlhs, int nrhs, const mxArray *prhs[])
FILE: 3rd_party/adios/bindings/Matlab/adiosopenc.c
function mexFunction (line 60) | void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prh...
function mxArray (line 402) | mxArray *valueToMatlabValue(const void *data, mxClassID mxtype, mxComple...
function mxArray (line 436) | mxArray *arrayToMatlabArray(const void *data, const size_t nelems, mxCla...
function errorCheck (line 475) | void errorCheck(int nlhs, int nrhs, const mxArray *prhs[])
function mxClassID (line 518) | mxClassID adiostypeToMatlabClass(adios2_type adiostype, mxComplexity *co...
function adiostypeToMemSize (line 568) | size_t adiostypeToMemSize(adios2_type adiostype)
FILE: 3rd_party/adios/bindings/Matlab/adiosreadc.c
function mexFunction (line 51) | void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prh...
function mxArray (line 118) | mxArray *readdata(adios2_engine *fp, adios2_io *group, const char *path,...
function errorCheck (line 260) | void errorCheck(int nlhs, int nrhs, const mxArray *prhs[])
function checkDimSize (line 294) | void checkDimSize(const int ndims, const size_t *dims)
function mxClassID (line 325) | mxClassID adiostypeToMatlabClass(adios2_type adiostype, mxComplexity *co...
function mxArray (line 375) | mxArray *createMatlabArray(int adiostype, size_t ndim, size_t *dims)
function recalc_offsets (line 417) | void recalc_offsets(const size_t ndim, const size_t *dims, mwSize in_nof...
function recalc_steps (line 447) | void recalc_steps(const size_t varStepStart, const size_t varStepCount, ...
function swap_order (line 468) | static void swap_order(size_t n, size_t *array)
function printArrayInt64 (line 479) | void printArrayInt64(size_t nelems, void *array)
FILE: 3rd_party/adios/bindings/Python/py11ADIOS.cpp
type adios2 (line 13) | namespace adios2
type py11 (line 15) | namespace py11
function IO (line 27) | IO ADIOS::DeclareIO(const std::string name)
function IO (line 33) | IO ADIOS::AtIO(const std::string name)
function Operator (line 39) | Operator ADIOS::DefineOperator(const std::string name, const std::st...
function Operator (line 47) | Operator ADIOS::InquireOperator(const std::string name)
FILE: 3rd_party/adios/bindings/Python/py11ADIOS.h
function namespace (line 22) | namespace adios2
FILE: 3rd_party/adios/bindings/Python/py11ADIOSMPI.cpp
type adios2 (line 12) | namespace adios2
type py11 (line 14) | namespace py11
FILE: 3rd_party/adios/bindings/Python/py11Attribute.cpp
type adios2 (line 18) | namespace adios2
type py11 (line 20) | namespace py11
FILE: 3rd_party/adios/bindings/Python/py11Attribute.h
function namespace (line 18) | namespace adios2
FILE: 3rd_party/adios/bindings/Python/py11Engine.cpp
type adios2 (line 21) | namespace adios2
type py11 (line 23) | namespace py11
function StepStatus (line 38) | StepStatus Engine::BeginStep(const StepMode mode, const float timeou...
function StepStatus (line 44) | StepStatus Engine::BeginStep()
FILE: 3rd_party/adios/bindings/Python/py11Engine.h
function namespace (line 22) | namespace adios2
FILE: 3rd_party/adios/bindings/Python/py11IO.cpp
type adios2 (line 18) | namespace adios2
type py11 (line 20) | namespace py11
function Params (line 51) | Params IO::Parameters() const
function Variable (line 70) | Variable IO::DefineVariable(const std::string &name)
function Variable (line 76) | Variable IO::DefineVariable(const std::string &name, const pybind11:...
function Variable (line 104) | Variable IO::DefineVariable(const std::string &name, const pybind11::o...
function Variable (line 149) | Variable IO::InquireVariable(const std::string &name)
function Attribute (line 170) | Attribute IO::DefineAttribute(const std::string &name, const pybind11:...
function Attribute (line 206) | Attribute IO::DefineAttribute(const std::string &name, const std::string...
function Attribute (line 214) | Attribute IO::DefineAttribute(const std::string &name, const std::vector...
function Attribute (line 222) | Attribute IO::DefineAttribute(const std::string &name, const std::vector...
function Attribute (line 230) | Attribute IO::DefineAttribute(const std::string &name, const std::vector...
function Attribute (line 238) | Attribute IO::DefineAttribute(const std::string &name,
function Attribute (line 247) | Attribute IO::DefineAttribute(const std::string &name, const pybind11::o...
function Attribute (line 290) | Attribute IO::InquireAttribute(const std::string &name, const std::strin...
function Engine (line 336) | Engine IO::Open(const std::string &name, const int mode)
FILE: 3rd_party/adios/bindings/Python/py11IO.h
function namespace (line 24) | namespace adios2
FILE: 3rd_party/adios/bindings/Python/py11IOMPI.cpp
type adios2 (line 15) | namespace adios2
type py11 (line 17) | namespace py11
function Engine (line 20) | Engine IO::Open(const std::string &name, const int mode, MPI4PY_Comm...
FILE: 3rd_party/adios/bindings/Python/py11Operator.cpp
type adios2 (line 15) | namespace adios2
type py11 (line 17) | namespace py11
function Params (line 42) | Params &Operator::Parameters() const
FILE: 3rd_party/adios/bindings/Python/py11Operator.h
function namespace (line 18) | namespace adios2
FILE: 3rd_party/adios/bindings/Python/py11Query.cpp
type adios2 (line 13) | namespace adios2
type py11 (line 15) | namespace py11
FILE: 3rd_party/adios/bindings/Python/py11Query.h
function namespace (line 20) | namespace adios2
FILE: 3rd_party/adios/bindings/Python/py11Variable.cpp
type adios2 (line 15) | namespace adios2
type py11 (line 17) | namespace py11
function Dims (line 128) | Dims Variable::Shape(const size_t step) const
function Dims (line 152) | Dims Variable::Start() const
function Dims (line 158) | Dims Variable::Count() const
FILE: 3rd_party/adios/bindings/Python/py11Variable.h
function namespace (line 20) | namespace adios2
FILE: 3rd_party/adios/bindings/Python/py11glue.cpp
type pybind11 (line 34) | namespace pybind11
type detail (line 36) | namespace detail
type type_caster<adios2::py11::MPI4PY_Comm> (line 39) | struct type_caster<adios2::py11::MPI4PY_Comm>
method load (line 54) | bool load(handle src, bool)
function PYBIND11_MODULE (line 81) | PYBIND11_MODULE(ADIOS2_PYTHON_MODULE_NAME, m)
FILE: 3rd_party/adios/bindings/Python/py11types.h
function namespace (line 16) | namespace adios2
FILE: 3rd_party/adios/bindings/Python/test/simple_read_write.py
class TestSimpleReadWrite (line 10) | class TestSimpleReadWrite(unittest.TestCase):
method _write (line 12) | def _write(self, ad, greeting):
method _read (line 23) | def _read(self, ad):
method test_simple_read_write (line 34) | def test_simple_read_write(self):
FILE: 3rd_party/adios/cmake/check_libfabric_cxi.c
function main (line 5) | int main() {}
FILE: 3rd_party/adios/cmake/install/post/adios2-config-dummy/foo.c
function foo (line 10) | void foo(void)
FILE: 3rd_party/adios/cmake/install/post/adios2-config-dummy/foo.cxx
function foo (line 7) | void foo(void)
FILE: 3rd_party/adios/cmake/install/post/adios2-config-dummy/main.c
function main (line 3) | int main(int argc, char **argv)
FILE: 3rd_party/adios/cmake/install/post/adios2-config-dummy/main.cxx
function main (line 3) | int main(int argc, char **argv)
FILE: 3rd_party/adios/cmake/upstream/FindMPI/libver_mpi.c
function main (line 9) | int main(int argc, char* argv[])
FILE: 3rd_party/adios/cmake/upstream/FindMPI/test_mpi.c
function main (line 21) | int main(int argc, char* argv[])
FILE: 3rd_party/adios/examples/basics/globalArray1D/decomp.c
function get_random (line 18) | size_t get_random(int minv, int maxv, int rank)
function gather_decomp_1d (line 30) | void gather_decomp_1d(size_t *mysize, size_t *myshape, size_t *myoffset)
function decomp_1d (line 52) | void decomp_1d(size_t *globalsize, size_t *myoffset, size_t *mysize)
FILE: 3rd_party/adios/examples/basics/globalArray1D/globalArray1DRead.c
function reader (line 14) | void reader(adios2_adios *adios)
function main (line 74) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/basics/globalArray1D/globalArray1DWrite.c
function writer (line 14) | void writer(adios2_adios *adios)
function main (line 64) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/basics/globalArray1D/mpivars.c
function init_mpi (line 14) | void init_mpi(int color, int argc, char *argv[])
function finalize_mpi (line 29) | void finalize_mpi() { MPI_Finalize(); }
FILE: 3rd_party/adios/examples/basics/globalArrayND/globalArrayNDWrite.cpp
function main (line 41) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/basics/joinedArray/joinedArrayWrite.cpp
function main (line 40) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/basics/localArray/localArrayRead.cpp
function DimsToString (line 45) | std::string DimsToString(const adios2::Dims &dims)
function ReadVariable (line 60) | void ReadVariable(const std::string &name, adios2::IO &io, adios2::Engin...
function main (line 108) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/basics/localArray/localArrayWrite.cpp
function main (line 45) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/basics/queryWorker/queryWorker.cpp
function queryIDs (line 14) | void queryIDs(adios2::IO &queryIO, std::string &dataFileName, std::strin...
function queryWithStreaming (line 37) | void queryWithStreaming(adios2::IO &queryIO, std::string &dataFileName, ...
function main (line 70) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/basics/values/valuesWrite.cpp
function main (line 30) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/basics/variablesShapes/variablesShapes.cpp
function writer (line 24) | void writer(adios2::ADIOS &adios, const std::size_t nx, const std::size_...
function reader (line 126) | void reader(adios2::ADIOS &adios, const int rank, const int size)
function main (line 228) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/basics/variablesShapes/variablesShapes_hl.cpp
function writer (line 23) | void writer(const std::size_t nx, const std::size_t nsteps, const int ra...
function reader (line 92) | void reader(const int rank, const int size)
function main (line 160) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/campaign/campaign_write.cpp
function printUsage (line 75) | void printUsage()
function convertToUint (line 82) | unsigned int convertToUint(std::string varName, char *arg)
function main (line 93) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpAttributeWriteRead/bpAttributeWriteRead.cpp
function writer (line 23) | void writer(adios2::ADIOS &adios, int rank, int size, std::vector<float>...
function reader (line 59) | void reader(adios2::ADIOS &adios, int rank, int /*size*/)
function main (line 125) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpAttributeWriteRead/bpAttributeWriteRead_tutorialSkeleton.cpp
function writer (line 21) | void writer(adios2::ADIOS &adios, int rank, int size, std::vector<float>...
function reader (line 36) | void reader(adios2::ADIOS &adios, int rank, int /*size*/)
function main (line 51) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpFWriteCRead/CppReader.cpp
function main (line 16) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpFWriteCRead/CppWriter.cpp
function main (line 16) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpFlushWriter/bpFlushWriter.cpp
function main (line 21) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpFlushWriter/bpFlushWriter_nompi.cpp
function main (line 18) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpOperatorSZWriter/bpOperatorSZWriter.cpp
function Usage (line 23) | void Usage()
function main (line 33) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpOperatorSZWriter/bpOperatorSZWriter_tutorialSkeleton.cxx
function Usage (line 21) | void Usage()
function main (line 31) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpReader/bpReader.cpp
function main (line 21) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpReader/bpReaderHeatMap2D.cpp
function main (line 31) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpReader/bpReaderHeatMap3D.cpp
function main (line 35) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpReader/bpReader_tutorialSkeleton.cpp
function main (line 19) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpStepsWriteRead/bpStepsWriteRead.cpp
function update_array (line 23) | void update_array(std::vector<float> &array, int val)
function writer (line 29) | void writer(adios2::ADIOS &adios, const std::string &engine, const std::...
function reader (line 63) | void reader(adios2::ADIOS &adios, const std::string &engine, const std::...
function main (line 98) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpStepsWriteRead/bpStepsWriteRead_tutorialSkeleton.cxx
function update_array (line 21) | void update_array(std::vector<float> &array, int val)
function writer (line 27) | void writer(adios2::ADIOS &adios, const std::string &engine, const std::...
function reader (line 45) | void reader(adios2::ADIOS &adios, const std::string &engine, const std::...
function main (line 59) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpStepsWriteReadHip/bpStepsWriteReadHip.cpp
function __global__ (line 18) | __global__ void hip_initialize(float *vec) { vec[hipBlockIdx_x] = hipBlo...
function __global__ (line 20) | __global__ void hip_increment(float *vec, float val) { vec[hipBlockIdx_x...
function writer (line 22) | void writer(adios2::ADIOS &adios, const std::string &engine, const std::...
function reader (line 74) | void reader(adios2::ADIOS &adios, const std::string &engine, const std::...
function main (line 119) | int main(int argc, char **argv)
FILE: 3rd_party/adios/examples/hello/bpStepsWriteReadKokkos/bpStepsWriteReadKokkos.cpp
function BPWrite (line 21) | int BPWrite(const std::string fname, const size_t Nx, const size_t Ny, c...
function BPRead (line 76) | int BPRead(const std::string fname, const std::string engine, int rank, ...
function main (line 148) | int main(int argc, char **argv)
FILE: 3rd_party/adios/examples/hello/bpStepsWriteReadKokkos/bpWriteReadKokkosView.cpp
function BPWrite (line 21) | int BPWrite(const std::string fname, const size_t Nx, const size_t Ny, c...
function BPRead (line 61) | int BPRead(const std::string fname, int rank, int size)
function main (line 115) | int main(int argc, char **argv)
FILE: 3rd_party/adios/examples/hello/bpStepsWriteReadKokkos/view-cxx.cc
function c_init_view (line 8) | void c_init_view(view_type **v_x, int *val)
function c_print_view (line 23) | void c_print_view(view_type **v_x)
FILE: 3rd_party/adios/examples/hello/bpThreadWrite/bpThreadWrite.cpp
function ThreadTask (line 36) | void ThreadTask(const std::size_t threadID, std::vector<T> &data, const ...
function main (line 65) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpWriter/bpPutDeferred.cpp
function main (line 23) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpWriter/bpSubStreams.cpp
function main (line 21) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpWriter/bpWriter.c
function check_error (line 19) | void check_error(const int error)
function check_handler (line 28) | void check_handler(const void *handler, const char *message)
function main (line 37) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpWriter/bpWriter.cpp
function main (line 22) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/bpWriter/bpWriter_tutorialSkeleton.cpp
function main (line 20) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/datamanKokkos/dataManReaderKokkos.cpp
function PrintData (line 16) | void PrintData(Kokkos::View<T *, MemSpace> &gpuData, const size_t step)
function main (line 27) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/datamanKokkos/dataManWriterKokkos.cpp
function PrintData (line 28) | void PrintData(Kokkos::View<T **, MemSpace> &gpuData, const size_t step)
function GenerateData (line 39) | Kokkos::View<T **, MemSpace> GenerateData(const size_t step, const size_...
function main (line 55) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/datamanReader/dataManReader.cpp
function PrintData (line 22) | void PrintData(std::vector<T> &data, size_t step)
function main (line 32) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/datamanWriter/dataManWriter.cpp
function PrintData (line 29) | void PrintData(std::vector<T> &data, const size_t step)
function GenerateData (line 40) | std::vector<T> GenerateData(const size_t step)
function main (line 51) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/dataspacesReader/dataSpacesReader.cpp
function main (line 24) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/dataspacesWriter/dataSpacesWriter.cpp
function main (line 21) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/hdf5Reader/hdf5Reader.cpp
function ReadData (line 20) | void ReadData(adios2::IO h5IO, adios2::Engine &h5Reader, const std::stri...
function main (line 66) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/hdf5Reader/hdf5Reader_nompi.cpp
function ReadData (line 19) | void ReadData(adios2::IO h5IO, adios2::Engine h5Reader, const std::strin...
function main (line 65) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/hdf5SubFile/hdf5SubFile.cpp
function writeMe (line 19) | void writeMe(adios2::IO &hdf5IO, int rank, int size, const char *testFil...
function ReadVarData (line 97) | void ReadVarData(adios2::IO h5IO, adios2::Engine &h5Reader, const std::s...
function readMe (line 143) | void readMe(adios2::IO &h5IO, int rank, int size, const char *fileName)
function main (line 218) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/hdf5Writer/hdf5Writer.cpp
function main (line 20) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/hdf5Writer/hdf5Writer_nompi.cpp
function main (line 18) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/helloWorld/hello-world-bindings.py
function writer (line 22) | def writer(ad, greeting):
function reader (line 34) | def reader(ad):
function main (line 46) | def main():
FILE: 3rd_party/adios/examples/hello/helloWorld/hello-world-hl.cpp
function writer (line 20) | void writer(const std::string &greeting)
function reader (line 32) | std::string reader()
function main (line 48) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/helloWorld/hello-world.c
function writer (line 20) | void writer(adios2_adios *adios, const char *greeting)
function reader (line 34) | void reader(adios2_adios *adios, char *greeting)
function main (line 46) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/helloWorld/hello-world.cpp
function writer (line 20) | void writer(adios2::ADIOS &adios, const std::string &greeting)
function reader (line 32) | std::string reader(adios2::ADIOS &adios)
function main (line 45) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/helloWorld/hello-world.py
function writer (line 22) | def writer(greeting):
function reader (line 29) | def reader():
function filereader (line 38) | def filereader():
function main (line 45) | def main():
FILE: 3rd_party/adios/examples/hello/helloWorld/hello-world_tutorialSkeleton.cpp
function writer (line 17) | void writer(adios2::ADIOS &adios, const std::string &greeting)
function reader (line 22) | std::string reader(adios2::ADIOS &adios)
function main (line 27) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/inlineMWE/inlineMWE.cpp
function main (line 11) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/inlineReaderWriter/inlineReaderWriter.cpp
function DoAnalysis (line 22) | void DoAnalysis(adios2::IO &inlineIO, adios2::Engine &inlineReader, int ...
function main (line 79) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/skeleton/SkeletonArgs.cpp
function printUsage (line 18) | static void printUsage(bool isWriter)
function convertToUint (line 42) | static unsigned int convertToUint(std::string varName, char *arg)
FILE: 3rd_party/adios/examples/hello/skeleton/SkeletonArgs.h
function class (line 14) | class SkeletonArgs
FILE: 3rd_party/adios/examples/hello/skeleton/SkeletonPrint.h
function printDataStep (line 20) | void printDataStep(const float *data, const adios2::Dims &size, const ad...
FILE: 3rd_party/adios/examples/hello/skeleton/skeletonReader.cpp
function main (line 17) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/skeleton/skeletonWriter.cpp
function main (line 20) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/sstKokkos/sstReaderKokkos.cpp
function BPRead (line 18) | int BPRead(adios2::ADIOS &adios, const std::string fname, const size_t N...
function main (line 59) | int main(int argc, char **argv)
FILE: 3rd_party/adios/examples/hello/sstKokkos/sstWriterKokkos.cpp
function BPWrite (line 18) | int BPWrite(adios2::ADIOS &adios, const std::string fname, const size_t ...
function main (line 67) | int main(int argc, char **argv)
FILE: 3rd_party/adios/examples/hello/sstReader/sstReader.cpp
function PrintData (line 24) | void PrintData(const std::vector<T> &data, const int rank, const size_t ...
function main (line 33) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/hello/sstWriter/sstWriter.cpp
function PrintData (line 21) | void PrintData(const std::vector<T> &data, const int rank, const size_t ...
function main (line 31) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/plugins/engine/ExampleReadPlugin.cpp
type adios2 (line 16) | namespace adios2
type plugin (line 18) | namespace plugin
function Dims (line 34) | Dims convertStrToDims(const std::string &str)
function StepStatus (line 116) | StepStatus ExampleReadPlugin::BeginStep(StepMode mode, const float t...
function EngineDestroy (line 140) | void EngineDestroy(adios2::plugin::ExampleReadPlugin *obj) { delete obj; }
FILE: 3rd_party/adios/examples/plugins/engine/ExampleReadPlugin.h
function EndStep (line 48) | void EndStep() override;
FILE: 3rd_party/adios/examples/plugins/engine/ExampleWritePlugin.cpp
type adios2 (line 17) | namespace adios2
type plugin (line 19) | namespace plugin
function StepStatus (line 60) | StepStatus ExampleWritePlugin::BeginStep(StepMode mode, const float ...
function EngineDestroy (line 117) | void EngineDestroy(adios2::plugin::ExampleWritePlugin *obj) { delete obj; }
FILE: 3rd_party/adios/examples/plugins/engine/ExampleWritePlugin.h
function EndStep (line 47) | void EndStep() override;
FILE: 3rd_party/adios/examples/plugins/engine/examplePluginEngineRead.cpp
function main (line 19) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/plugins/engine/examplePluginEngineWrite.cpp
function main (line 19) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/plugins/operator/examplePluginOperatorRead.cpp
function main (line 19) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/plugins/operator/examplePluginOperatorWrite.cpp
function main (line 19) | int main(int argc, char *argv[])
FILE: 3rd_party/adios/examples/simulations/gray-scott-kokkos/gray-scott.h
function class (line 17) | class GrayScott
FILE: 3rd_party/adios/examples/simulations/gray-scott-kokkos/json.hpp
type nlohmann (line 64) | namespace nlohmann
type adl_serializer (line 74) | struct adl_serializer
method from_json (line 12304) | static auto from_json(BasicJsonType&& j, ValueType& val) noexcept(
method to_json (line 12321) | static auto to_json(BasicJsonType& j, ValueType&& val) noexcept(
class basic_json (line 86) | class basic_json
class json_pointer (line 100) | class json_pointer
class basic_json (line 11599) | class basic_json
method json_pointer (line 11623) | explicit json_pointer(const std::string& s = "")
method to_string (line 11642) | std::string to_string() const
method array_index (line 11665) | static int array_index(const std::string& s)
method pop_back (line 11684) | std::string pop_back()
method is_root (line 11697) | bool is_root() const noexcept
method json_pointer (line 11702) | json_pointer top() const
method BasicJsonType (line 11722) | BasicJsonType& get_and_create(BasicJsonType& j) const
type detail (line 261) | namespace detail
type index_sequence (line 273) | struct index_sequence
method size (line 277) | static constexpr std::size_t size() noexcept
type merge_and_renumber (line 284) | struct merge_and_renumber
type make_index_sequence (line 291) | struct make_index_sequence
type make_index_sequence<0> (line 295) | struct make_index_sequence<0> : index_sequence<> {}
type make_index_sequence<1> (line 296) | struct make_index_sequence<1> : index_sequence<0> {}
type priority_tag (line 302) | struct priority_tag : priority_tag < N - 1 > {}
type priority_tag<0> (line 303) | struct priority_tag<0> {}
type static_const (line 307) | struct static_const
type make_void (line 341) | struct make_void
type nonesuch (line 355) | struct nonesuch
method nonesuch (line 357) | nonesuch() = delete;
method nonesuch (line 359) | nonesuch(nonesuch const&) = delete;
type detector (line 367) | struct detector
type is_basic_json (line 429) | struct is_basic_json : std::false_type {}
type has_from_json (line 473) | struct has_from_json : std::false_type {}
type has_from_json<BasicJsonType, T,
enable_if_t<not is_basic_json<T>::value>> (line 476) | struct has_from_json<BasicJsonType, T,
type has_non_default_from_json (line 489) | struct has_non_default_from_json : std::false_type {}
type has_non_default_from_json<BasicJsonType, T, enable_if_t<not is_basic_json<T>::value>> (line 492) | struct has_non_default_from_json<BasicJsonType, T, enable_if_t<not i...
type has_to_json (line 504) | struct has_to_json : std::false_type {}
type has_to_json<BasicJsonType, T, enable_if_t<not is_basic_json<T>::value>> (line 507) | struct has_to_json<BasicJsonType, T, enable_if_t<not is_basic_json<T...
type is_iterator_traits (line 522) | struct is_iterator_traits : std::false_type {}
type is_iterator_traits<std::iterator_traits<T>> (line 525) | struct is_iterator_traits<std::iterator_traits<T>>
type is_complete_type (line 542) | struct is_complete_type : std::false_type {}
type is_complete_type<T, decltype(void(sizeof(T)))> (line 545) | struct is_complete_type<T, decltype(void(sizeof(T)))> : std::true_ty...
type is_compatible_object_type_impl (line 549) | struct is_compatible_object_type_impl : std::false_type {}
type is_compatible_object_type_impl <
BasicJsonType, CompatibleObjectType,
enable_if_t<is_detected<mapped_type_t, CompatibleObjectType>::value and
is_detected<key_type_t, CompatibleObjectType>::value >> (line 552) | struct is_compatible_object_type_impl <
type is_compatible_object_type (line 569) | struct is_compatible_object_type
type is_constructible_object_type_impl (line 574) | struct is_constructible_object_type_impl : std::false_type {}
type is_constructible_object_type_impl <
BasicJsonType, ConstructibleObjectType,
enable_if_t<is_detected<mapped_type_t, ConstructibleObjectType>::value and
is_detected<key_type_t, ConstructibleObjectType>::value >> (line 577) | struct is_constructible_object_type_impl <
type is_constructible_object_type (line 592) | struct is_constructible_object_type
type is_compatible_string_type_impl (line 598) | struct is_compatible_string_type_impl : std::false_type {}
type is_compatible_string_type_impl <
BasicJsonType, CompatibleStringType,
enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
value_type_t, CompatibleStringType>::value >> (line 601) | struct is_compatible_string_type_impl <
type is_compatible_string_type (line 611) | struct is_compatible_string_type
type is_constructible_string_type_impl (line 616) | struct is_constructible_string_type_impl : std::false_type {}
type is_constructible_string_type_impl <
BasicJsonType, ConstructibleStringType,
enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
value_type_t, ConstructibleStringType>::value >> (line 619) | struct is_constructible_string_type_impl <
type is_constructible_string_type (line 630) | struct is_constructible_string_type
type is_compatible_array_type_impl (line 634) | struct is_compatible_array_type_impl : std::false_type {}
type is_compatible_array_type (line 653) | struct is_compatible_array_type
type is_constructible_array_type_impl (line 657) | struct is_constructible_array_type_impl : std::false_type {}
type is_constructible_array_type_impl <
BasicJsonType, ConstructibleArrayType,
enable_if_t<std::is_same<ConstructibleArrayType,
typename BasicJsonType::value_type>::value >> (line 660) | struct is_constructible_array_type_impl <
type is_constructible_array_type_impl <
BasicJsonType, ConstructibleArrayType,
enable_if_t<not std::is_same<ConstructibleArrayType,
typename BasicJsonType::value_type>::value and
is_detected<value_type_t, ConstructibleArrayType>::value and
is_detected<iterator_t, ConstructibleArrayType>::value and
is_complete_type<
detected_t<value_type_t, ConstructibleArrayType>>::value >> (line 667) | struct is_constructible_array_type_impl <
type is_constructible_array_type (line 692) | struct is_constructible_array_type
type is_compatible_integer_type_impl (line 697) | struct is_compatible_integer_type_impl : std::false_type {}
type is_compatible_integer_type_impl <
RealIntegerType, CompatibleNumberIntegerType,
enable_if_t<std::is_integral<RealIntegerType>::value and
std::is_integral<CompatibleNumberIntegerType>::value and
not std::is_same<bool, CompatibleNumberIntegerType>::value >> (line 700) | struct is_compatible_integer_type_impl <
type is_compatible_integer_type (line 718) | struct is_compatible_integer_type
type is_compatible_type_impl (line 723) | struct is_compatible_type_impl: std::false_type {}
type is_compatible_type_impl <
BasicJsonType, CompatibleType,
enable_if_t<is_complete_type<CompatibleType>::value >> (line 726) | struct is_compatible_type_impl <
type is_compatible_type (line 735) | struct is_compatible_type
type position_t (line 757) | struct position_t
class exception (line 813) | class exception : public std::exception
method exception (line 826) | exception(int id_, const char* what_arg) : id(id_), m(what_arg) {}
method name (line 828) | static std::string name(const std::string& ename, int id_)
class parse_error (line 882) | class parse_error : public exception
method parse_error (line 894) | static parse_error create(int id_, const position_t& pos, const st...
method parse_error (line 901) | static parse_error create(int id_, std::size_t byte_, const std::s...
method parse_error (line 921) | parse_error(int id_, std::size_t byte_, const char* what_arg)
method position_string (line 924) | static std::string position_string(const position_t& pos)
class invalid_iterator (line 968) | class invalid_iterator : public exception
method invalid_iterator (line 971) | static invalid_iterator create(int id_, const std::string& what_arg)
method invalid_iterator (line 978) | invalid_iterator(int id_, const char* what_arg)
class type_error (line 1021) | class type_error : public exception
method type_error (line 1024) | static type_error create(int id_, const std::string& what_arg)
method type_error (line 1031) | type_error(int id_, const char* what_arg) : exception(id_, what_ar...
class out_of_range (line 1067) | class out_of_range : public exception
method out_of_range (line 1070) | static out_of_range create(int id_, const std::string& what_arg)
method out_of_range (line 1077) | out_of_range(int id_, const char* what_arg) : exception(id_, what_...
class other_error (line 1104) | class other_error : public exception
method other_error (line 1107) | static other_error create(int id_, const std::string& what_arg)
method other_error (line 1114) | other_error(int id_, const char* what_arg) : exception(id_, what_a...
type value_t (line 1159) | enum class value_t : std::uint8_t
function from_json (line 1229) | void from_json(const BasicJsonType& j, typename std::nullptr_t& n)
function get_arithmetic_value (line 1243) | void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
function from_json (line 1269) | void from_json(const BasicJsonType& j, typename BasicJsonType::boole...
function from_json (line 1279) | void from_json(const BasicJsonType& j, typename BasicJsonType::strin...
function from_json (line 1295) | void from_json(const BasicJsonType& j, ConstructibleStringType& s)
function from_json (line 1306) | void from_json(const BasicJsonType& j, typename BasicJsonType::numbe...
function from_json (line 1312) | void from_json(const BasicJsonType& j, typename BasicJsonType::numbe...
function from_json (line 1318) | void from_json(const BasicJsonType& j, typename BasicJsonType::numbe...
function from_json (line 1325) | void from_json(const BasicJsonType& j, EnumType& e)
function from_json (line 1335) | void from_json(const BasicJsonType& j, std::forward_list<T, Allocato...
function from_json (line 1351) | void from_json(const BasicJsonType& j, std::valarray<T>& l)
function from_json_array_impl (line 1362) | void from_json_array_impl(const BasicJsonType& j, typename BasicJson...
function from_json_array_impl (line 1368) | auto from_json_array_impl(const BasicJsonType& j, std::array<T, N>& ...
function from_json_array_impl (line 1379) | auto from_json_array_impl(const BasicJsonType& j, ConstructibleArray...
function from_json_array_impl (line 1398) | void from_json_array_impl(const BasicJsonType& j, ConstructibleArray...
function from_json (line 1421) | auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr)
function from_json (line 1437) | void from_json(const BasicJsonType& j, ConstructibleObjectType& obj)
function from_json (line 1467) | void from_json(const BasicJsonType& j, ArithmeticType& val)
function from_json (line 1498) | void from_json(const BasicJsonType& j, std::pair<A1, A2>& p)
function from_json_tuple_impl (line 1504) | void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_se...
function from_json (line 1510) | void from_json(const BasicJsonType& j, std::tuple<Args...>& t)
function from_json (line 1518) | void from_json(const BasicJsonType& j, std::map<Key, Value, Compare,...
function from_json (line 1537) | void from_json(const BasicJsonType& j, std::unordered_map<Key, Value...
type from_json_fn (line 1553) | struct from_json_fn
class iteration_proxy (line 1606) | class iteration_proxy
class iteration_proxy_internal (line 1610) | class iteration_proxy_internal
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
method iteration_proxy (line 1701) | explicit iteration_proxy(typename IteratorType::reference cont) no...
method iteration_proxy_internal (line 1705) | iteration_proxy_internal begin() noexcept
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
method iteration_proxy_internal (line 1711) | iteration_proxy_internal end() noexcept
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
type external_constructor (line 1728) | struct external_constructor
type external_constructor<value_t::boolean> (line 1731) | struct external_constructor<value_t::boolean>
method construct (line 1734) | static void construct(BasicJsonType& j, typename BasicJsonType::bo...
type external_constructor<value_t::string> (line 1743) | struct external_constructor<value_t::string>
method construct (line 1746) | static void construct(BasicJsonType& j, const typename BasicJsonTy...
method construct (line 1754) | static void construct(BasicJsonType& j, typename BasicJsonType::st...
method construct (line 1764) | static void construct(BasicJsonType& j, const CompatibleStringType...
type external_constructor<value_t::number_float> (line 1773) | struct external_constructor<value_t::number_float>
method construct (line 1776) | static void construct(BasicJsonType& j, typename BasicJsonType::nu...
type external_constructor<value_t::number_unsigned> (line 1785) | struct external_constructor<value_t::number_unsigned>
method construct (line 1788) | static void construct(BasicJsonType& j, typename BasicJsonType::nu...
type external_constructor<value_t::number_integer> (line 1797) | struct external_constructor<value_t::number_integer>
method construct (line 1800) | static void construct(BasicJsonType& j, typename BasicJsonType::nu...
type external_constructor<value_t::array> (line 1809) | struct external_constructor<value_t::array>
method construct (line 1812) | static void construct(BasicJsonType& j, const typename BasicJsonTy...
method construct (line 1820) | static void construct(BasicJsonType& j, typename BasicJsonType::ar...
method construct (line 1830) | static void construct(BasicJsonType& j, const CompatibleArrayType&...
method construct (line 1840) | static void construct(BasicJsonType& j, const std::vector<bool>& arr)
method construct (line 1854) | static void construct(BasicJsonType& j, const std::valarray<T>& arr)
type external_constructor<value_t::object> (line 1865) | struct external_constructor<value_t::object>
method construct (line 1868) | static void construct(BasicJsonType& j, const typename BasicJsonTy...
method construct (line 1876) | static void construct(BasicJsonType& j, typename BasicJsonType::ob...
method construct (line 1885) | static void construct(BasicJsonType& j, const CompatibleObjectType...
function to_json (line 1902) | void to_json(BasicJsonType& j, T b) noexcept
function to_json (line 1909) | void to_json(BasicJsonType& j, const CompatibleString& s)
function to_json (line 1915) | void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
function to_json (line 1922) | void to_json(BasicJsonType& j, FloatType val) noexcept
function to_json (line 1929) | void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noe...
function to_json (line 1936) | void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noex...
function to_json (line 1943) | void to_json(BasicJsonType& j, EnumType e) noexcept
function to_json (line 1950) | void to_json(BasicJsonType& j, const std::vector<bool>& e)
function to_json (line 1963) | void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
function to_json (line 1970) | void to_json(BasicJsonType& j, const std::valarray<T>& arr)
function to_json (line 1976) | void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
function to_json (line 1983) | void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
function to_json (line 1989) | void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
function to_json (line 1999) | void to_json(BasicJsonType& j, const T (&arr)[N])
function to_json (line 2005) | void to_json(BasicJsonType& j, const std::pair<Args...>& p)
function to_json (line 2013) | void to_json(BasicJsonType& j, const T& b)
function to_json_tuple_impl (line 2019) | void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequ...
function to_json (line 2025) | void to_json(BasicJsonType& j, const std::tuple<Args...>& t)
type to_json_fn (line 2030) | struct to_json_fn
type input_format_t (line 2070) | enum class input_format_t { json, cbor, msgpack, ubjson, bson }
type input_adapter_protocol (line 2087) | struct input_adapter_protocol
class input_stream_adapter (line 2106) | class input_stream_adapter : public input_adapter_protocol
method input_stream_adapter (line 2116) | explicit input_stream_adapter(std::istream& i)
method input_stream_adapter (line 2121) | input_stream_adapter(const input_stream_adapter&) = delete;
method input_stream_adapter (line 2122) | input_stream_adapter& operator=(input_stream_adapter&) = delete;
method input_stream_adapter (line 2123) | input_stream_adapter(input_stream_adapter&&) = delete;
method input_stream_adapter (line 2124) | input_stream_adapter& operator=(input_stream_adapter&&) = delete;
method get_character (line 2129) | std::char_traits<char>::int_type get_character() override
class input_buffer_adapter (line 2141) | class input_buffer_adapter : public input_adapter_protocol
method input_buffer_adapter (line 2144) | input_buffer_adapter(const char* b, const std::size_t l) noexcept
method input_buffer_adapter (line 2149) | input_buffer_adapter(const input_buffer_adapter&) = delete;
method input_buffer_adapter (line 2150) | input_buffer_adapter& operator=(input_buffer_adapter&) = delete;
method input_buffer_adapter (line 2151) | input_buffer_adapter(input_buffer_adapter&&) = delete;
method input_buffer_adapter (line 2152) | input_buffer_adapter& operator=(input_buffer_adapter&&) = delete;
method get_character (line 2155) | std::char_traits<char>::int_type get_character() noexcept override
type wide_string_input_helper (line 2173) | struct wide_string_input_helper
method fill_buffer (line 2176) | static void fill_buffer(const WideStringType& str, size_t& current...
type wide_string_input_helper<WideStringType, 2> (line 2228) | struct wide_string_input_helper<WideStringType, 2>
method fill_buffer (line 2231) | static void fill_buffer(const WideStringType& str, size_t& current...
class wide_string_input_adapter (line 2289) | class wide_string_input_adapter : public input_adapter_protocol
method wide_string_input_adapter (line 2292) | explicit wide_string_input_adapter(const WideStringType& w) noexcept
method get_character (line 2296) | std::char_traits<char>::int_type get_character() noexcept override
method fill_buffer (line 2315) | void fill_buffer()
class input_adapter (line 2335) | class input_adapter
method input_adapter (line 2341) | input_adapter(std::istream& i)
method input_adapter (line 2345) | input_adapter(std::istream&& i)
method input_adapter (line 2348) | input_adapter(const std::wstring& ws)
method input_adapter (line 2351) | input_adapter(const std::u16string& ws)
method input_adapter (line 2354) | input_adapter(const std::u32string& ws)
method input_adapter (line 2364) | input_adapter(CharT b, std::size_t l)
method input_adapter (line 2376) | input_adapter(CharT b)
method input_adapter (line 2385) | input_adapter(IteratorType first, IteratorType last)
method input_adapter (line 2420) | input_adapter(T (&array)[N])
method input_adapter (line 2428) | input_adapter(const ContiguousContainer& c)
class lexer (line 2475) | class lexer
type token_type (line 2484) | enum class token_type
method lexer (line 2549) | explicit lexer(detail::input_adapter_t&& adapter)
method lexer (line 2553) | lexer(const lexer&) = delete;
method lexer (line 2554) | lexer(lexer&&) = delete;
method lexer (line 2555) | lexer& operator=(lexer&) = delete;
method lexer (line 2556) | lexer& operator=(lexer&&) = delete;
method get_decimal_point (line 2565) | static char get_decimal_point() noexcept
method get_codepoint (line 2591) | int get_codepoint()
method next_byte_in_range (line 2639) | bool next_byte_in_range(std::initializer_list<int> ranges)
method token_type (line 2676) | token_type scan_string()
method strtof (line 3262) | static void strtof(float& f, const char* str, char** endptr) noexcept
method strtof (line 3267) | static void strtof(double& f, const char* str, char** endptr) noex...
method strtof (line 3272) | static void strtof(long double& f, const char* str, char** endptr)...
method token_type (line 3317) | token_type scan_number() // lgtm [cpp/use-of-goto]
method token_type (line 3651) | token_type scan_literal(const char* literal_text, const std::size_...
method reset (line 3671) | void reset() noexcept
method get (line 3688) | std::char_traits<char>::int_type get()
method unget (line 3725) | void unget()
method add (line 3752) | void add(int c)
method number_integer_t (line 3763) | constexpr number_integer_t get_number_integer() const noexcept
method number_unsigned_t (line 3769) | constexpr number_unsigned_t get_number_unsigned() const noexcept
method number_float_t (line 3775) | constexpr number_float_t get_number_float() const noexcept
method string_t (line 3781) | string_t& get_string()
method position_t (line 3791) | constexpr position_t get_position() const noexcept
method get_token_string (line 3799) | std::string get_token_string() const
method skip_bom (line 3836) | bool skip_bom()
method token_type (line 3850) | token_type scan()
type is_sax (line 4030) | struct is_sax
type is_sax_static_asserts (line 4062) | struct is_sax_static_asserts
class json_sax_dom_parser (line 4260) | class json_sax_dom_parser
method json_sax_dom_parser (line 4273) | explicit json_sax_dom_parser(BasicJsonType& r, const bool allow_ex...
method null (line 4277) | bool null()
method boolean (line 4283) | bool boolean(bool val)
method number_integer (line 4289) | bool number_integer(number_integer_t val)
method number_unsigned (line 4295) | bool number_unsigned(number_unsigned_t val)
method number_float (line 4301) | bool number_float(number_float_t val, const string_t& /*unused*/)
method string (line 4307) | bool string(string_t& val)
method start_object (line 4313) | bool start_object(std::size_t len)
method key (line 4326) | bool key(string_t& val)
method end_object (line 4333) | bool end_object()
method start_array (line 4339) | bool start_array(std::size_t len)
method end_array (line 4352) | bool end_array()
method parse_error (line 4358) | bool parse_error(std::size_t /*unused*/, const std::string& /*unus...
method is_errored (line 4386) | constexpr bool is_errored() const
method BasicJsonType (line 4399) | BasicJsonType* handle_value(Value&& v)
class json_sax_dom_callback_parser (line 4435) | class json_sax_dom_callback_parser
method json_sax_dom_callback_parser (line 4445) | json_sax_dom_callback_parser(BasicJsonType& r,
method null (line 4453) | bool null()
method boolean (line 4459) | bool boolean(bool val)
method number_integer (line 4465) | bool number_integer(number_integer_t val)
method number_unsigned (line 4471) | bool number_unsigned(number_unsigned_t val)
method number_float (line 4477) | bool number_float(number_float_t val, const string_t& /*unused*/)
method string (line 4483) | bool string(string_t& val)
method start_object (line 4489) | bool start_object(std::size_t len)
method key (line 4511) | bool key(string_t& val)
method end_object (line 4528) | bool end_object()
method start_array (line 4563) | bool start_array(std::size_t len)
method end_array (line 4584) | bool end_array()
method parse_error (line 4615) | bool parse_error(std::size_t /*unused*/, const std::string& /*unus...
method is_errored (line 4643) | constexpr bool is_errored() const
method handle_value (line 4665) | std::pair<bool, BasicJsonType*> handle_value(Value&& v, const bool...
class json_sax_acceptor (line 4748) | class json_sax_acceptor
method null (line 4756) | bool null()
method boolean (line 4761) | bool boolean(bool /*unused*/)
method number_integer (line 4766) | bool number_integer(number_integer_t /*unused*/)
method number_unsigned (line 4771) | bool number_unsigned(number_unsigned_t /*unused*/)
method number_float (line 4776) | bool number_float(number_float_t /*unused*/, const string_t& /*unu...
method string (line 4781) | bool string(string_t& /*unused*/)
method start_object (line 4786) | bool start_object(std::size_t /*unused*/ = std::size_t(-1))
method key (line 4791) | bool key(string_t& /*unused*/)
method end_object (line 4796) | bool end_object()
method start_array (line 4801) | bool start_array(std::size_t /*unused*/ = std::size_t(-1))
method end_array (line 4806) | bool end_array()
method parse_error (line 4811) | bool parse_error(std::size_t /*unused*/, const std::string& /*unus...
class parser (line 4839) | class parser
type parse_event_t (line 4849) | enum class parse_event_t : uint8_t
method parser (line 4869) | explicit parser(detail::input_adapter_t&& adapter,
method parse (line 4888) | void parse(const bool strict, BasicJsonType& result)
method accept (line 4949) | bool accept(const bool strict = true)
method sax_parse (line 4956) | bool sax_parse(SAX* sax, const bool strict = true)
method sax_parse_internal (line 4975) | bool sax_parse_internal(SAX* sax)
method token_type (line 5266) | token_type get_token()
method exception_message (line 5271) | std::string exception_message(const token_type expected, const std...
class primitive_iterator_t (line 5332) | class primitive_iterator_t
method difference_type (line 5343) | constexpr difference_type get_value() const noexcept
method set_begin (line 5349) | void set_begin() noexcept
method set_end (line 5355) | void set_end() noexcept
method is_begin (line 5361) | constexpr bool is_begin() const noexcept
method is_end (line 5367) | constexpr bool is_end() const noexcept
method primitive_iterator_t (line 5382) | primitive_iterator_t operator+(difference_type n) noexcept
method difference_type (line 5389) | constexpr difference_type operator-(primitive_iterator_t lhs, prim...
method primitive_iterator_t (line 5394) | primitive_iterator_t& operator++() noexcept
method primitive_iterator_t (line 5400) | primitive_iterator_t const operator++(int) noexcept
method primitive_iterator_t (line 5407) | primitive_iterator_t& operator--() noexcept
method primitive_iterator_t (line 5413) | primitive_iterator_t const operator--(int) noexcept
method primitive_iterator_t (line 5420) | primitive_iterator_t& operator+=(difference_type n) noexcept
method primitive_iterator_t (line 5426) | primitive_iterator_t& operator-=(difference_type n) noexcept
type internal_iterator (line 5451) | struct internal_iterator
class iteration_proxy (line 5488) | class iteration_proxy
class iteration_proxy_internal (line 1610) | class iteration_proxy_internal
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
method iteration_proxy (line 1701) | explicit iteration_proxy(typename IteratorType::reference cont) no...
method iteration_proxy_internal (line 1705) | iteration_proxy_internal begin() noexcept
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
method iteration_proxy_internal (line 1711) | iteration_proxy_internal end() noexcept
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
class iter_impl (line 5511) | class iter_impl
method iter_impl (line 5548) | iter_impl() = default;
method iter_impl (line 5556) | explicit iter_impl(pointer object) noexcept : m_object(object)
method iter_impl (line 5596) | iter_impl(const iter_impl<typename std::remove_const<BasicJsonType...
method iter_impl (line 5605) | iter_impl& operator=(const iter_impl<typename std::remove_const<Ba...
method set_begin (line 5617) | void set_begin() noexcept
method set_end (line 5654) | void set_end() noexcept
method reference (line 5685) | reference operator*() const
method pointer (line 5722) | pointer operator->() const
method iter_impl (line 5756) | iter_impl const operator++(int)
method iter_impl (line 5767) | iter_impl& operator++()
method iter_impl (line 5799) | iter_impl const operator--(int)
method iter_impl (line 5810) | iter_impl& operator--()
method iter_impl (line 5932) | iter_impl& operator+=(difference_type i)
method iter_impl (line 5961) | iter_impl& operator-=(difference_type i)
method iter_impl (line 5970) | iter_impl operator+(difference_type i) const
method iter_impl (line 5981) | iter_impl operator+(difference_type i, const iter_impl& it)
method iter_impl (line 5992) | iter_impl operator-(difference_type i) const
method difference_type (line 6003) | difference_type operator-(const iter_impl& other) const
method reference (line 6024) | reference operator[](difference_type n) const
method reference (line 6071) | reference value() const
class json_reverse_iterator (line 6121) | class json_reverse_iterator : public std::reverse_iterator<Base>
method json_reverse_iterator (line 6131) | explicit json_reverse_iterator(const typename base_iterator::itera...
method json_reverse_iterator (line 6135) | explicit json_reverse_iterator(const base_iterator& it) noexcept :...
method json_reverse_iterator (line 6138) | json_reverse_iterator const operator++(int)
method json_reverse_iterator (line 6144) | json_reverse_iterator& operator++()
method json_reverse_iterator (line 6150) | json_reverse_iterator const operator--(int)
method json_reverse_iterator (line 6156) | json_reverse_iterator& operator--()
method json_reverse_iterator (line 6162) | json_reverse_iterator& operator+=(difference_type i)
method json_reverse_iterator (line 6168) | json_reverse_iterator operator+(difference_type i) const
method json_reverse_iterator (line 6174) | json_reverse_iterator operator-(difference_type i) const
method difference_type (line 6180) | difference_type operator-(const json_reverse_iterator& other) const
method reference (line 6186) | reference operator[](difference_type n) const
method key (line 6192) | auto key() const -> decltype(std::declval<Base>().key())
method reference (line 6199) | reference value() const
type output_adapter_protocol (line 6225) | struct output_adapter_protocol
class output_vector_adapter (line 6238) | class output_vector_adapter : public output_adapter_protocol<CharType>
method output_vector_adapter (line 6241) | explicit output_vector_adapter(std::vector<CharType>& vec) noexcept
method write_character (line 6245) | void write_character(CharType c) override
method write_characters (line 6250) | void write_characters(const CharType* s, std::size_t length) override
class output_stream_adapter (line 6261) | class output_stream_adapter : public output_adapter_protocol<CharType>
method output_stream_adapter (line 6264) | explicit output_stream_adapter(std::basic_ostream<CharType>& s) no...
method write_character (line 6268) | void write_character(CharType c) override
method write_characters (line 6273) | void write_characters(const CharType* s, std::size_t length) override
class output_string_adapter (line 6284) | class output_string_adapter : public output_adapter_protocol<CharType>
method output_string_adapter (line 6287) | explicit output_string_adapter(StringType& s) noexcept
method write_character (line 6291) | void write_character(CharType c) override
method write_characters (line 6296) | void write_characters(const CharType* s, std::size_t length) override
class output_adapter (line 6306) | class output_adapter
method output_adapter (line 6309) | output_adapter(std::vector<CharType>& vec)
method output_adapter (line 6312) | output_adapter(std::basic_ostream<CharType>& s)
method output_adapter (line 6315) | output_adapter(StringType& s)
class binary_reader (line 6370) | class binary_reader
method binary_reader (line 6384) | explicit binary_reader(input_adapter_t adapter) : ia(std::move(ada...
method sax_parse (line 6397) | bool sax_parse(const input_format_t format,
method little_endianess (line 6457) | static constexpr bool little_endianess(int num = 1) noexcept
method parse_bson_internal (line 6471) | bool parse_bson_internal()
method get_bson_cstr (line 6496) | bool get_bson_cstr(string_t& result)
method get_bson_string (line 6528) | bool get_bson_string(const NumberType len, string_t& result)
method parse_bson_element_internal (line 6549) | bool parse_bson_element_internal(const int element_type,
method parse_bson_element_list (line 6620) | bool parse_bson_element_list(const bool is_array)
method parse_bson_array (line 6657) | bool parse_bson_array()
method parse_cbor_internal (line 6686) | bool parse_cbor_internal(const bool get_char = true)
method get_cbor_string (line 7028) | bool get_cbor_string(string_t& result)
method get_cbor_array (line 7117) | bool get_cbor_array(const std::size_t len)
method get_cbor_object (line 7153) | bool get_cbor_object(const std::size_t len)
method parse_msgpack_internal (line 7205) | bool parse_msgpack_internal()
method get_msgpack_string (line 7574) | bool get_msgpack_string(string_t& result)
method get_msgpack_array (line 7650) | bool get_msgpack_array(const std::size_t len)
method get_msgpack_object (line 7672) | bool get_msgpack_object(const std::size_t len)
method parse_ubjson_internal (line 7709) | bool parse_ubjson_internal(const bool get_char = true)
method get_ubjson_string (line 7728) | bool get_ubjson_string(string_t& result, const bool get_char = true)
method get_ubjson_size_value (line 7782) | bool get_ubjson_size_value(std::size_t& result)
method get_ubjson_size_type (line 7859) | bool get_ubjson_size_type(std::pair<std::size_t, int>& result)
method get_ubjson_value (line 7898) | bool get_ubjson_value(const int prefix)
method get_ubjson_array (line 7994) | bool get_ubjson_array()
method get_ubjson_object (line 8056) | bool get_ubjson_object()
method get (line 8141) | int get()
method get_ignore_noop (line 8150) | int get_ignore_noop()
method get_number (line 8175) | bool get_number(const input_format_t format, NumberType& result)
method get_string (line 8218) | bool get_string(const input_format_t format,
method unexpect_eof (line 8240) | bool unexpect_eof(const input_format_t format, const char* context...
method get_token_string (line 8253) | std::string get_token_string() const
method exception_message (line 8266) | std::string exception_message(const input_format_t format,
class binary_writer (line 8344) | class binary_writer
method binary_writer (line 8354) | explicit binary_writer(output_adapter_t<CharType> adapter) : oa(ad...
method write_bson (line 8363) | void write_bson(const BasicJsonType& j)
method write_cbor (line 8383) | void write_cbor(const BasicJsonType& j)
method write_msgpack (line 8627) | void write_msgpack(const BasicJsonType& j)
method write_ubjson (line 8869) | void write_ubjson(const BasicJsonType& j, const bool use_count,
method calc_bson_entry_header_size (line 9033) | static std::size_t calc_bson_entry_header_size(const string_t& name)
method write_bson_entry_header (line 9048) | void write_bson_entry_header(const string_t& name,
method write_bson_boolean (line 9060) | void write_bson_boolean(const string_t& name,
method write_bson_double (line 9070) | void write_bson_double(const string_t& name,
method calc_bson_string_size (line 9080) | static std::size_t calc_bson_string_size(const string_t& value)
method write_bson_string (line 9088) | void write_bson_string(const string_t& name,
method write_bson_null (line 9102) | void write_bson_null(const string_t& name)
method calc_bson_integer_size (line 9110) | static std::size_t calc_bson_integer_size(const std::int64_t value)
method write_bson_integer (line 9125) | void write_bson_integer(const string_t& name,
method calc_bson_unsigned_size (line 9143) | static constexpr std::size_t calc_bson_unsigned_size(const std::ui...
method write_bson_unsigned (line 9153) | void write_bson_unsigned(const string_t& name,
method write_bson_object_entry (line 9175) | void write_bson_object_entry(const string_t& name,
method calc_bson_array_size (line 9185) | static std::size_t calc_bson_array_size(const typename BasicJsonTy...
method write_bson_array (line 9201) | void write_bson_array(const string_t& name,
method calc_bson_element_size (line 9221) | static std::size_t calc_bson_element_size(const string_t& name,
method write_bson_element (line 9266) | void write_bson_element(const string_t& name,
method calc_bson_object_size (line 9309) | static std::size_t calc_bson_object_size(const typename BasicJsonT...
method write_bson_object (line 9324) | void write_bson_object(const typename BasicJsonType::object_t& value)
method CharType (line 9340) | static constexpr CharType get_cbor_float_prefix(float /*unused*/)
method CharType (line 9345) | static constexpr CharType get_cbor_float_prefix(double /*unused*/)
method CharType (line 9354) | static constexpr CharType get_msgpack_float_prefix(float /*unused*/)
method CharType (line 9359) | static constexpr CharType get_msgpack_float_prefix(double /*unused*/)
method write_number_with_ubjson_prefix (line 9371) | void write_number_with_ubjson_prefix(const NumberType n,
method write_number_with_ubjson_prefix (line 9384) | void write_number_with_ubjson_prefix(const NumberType n,
method write_number_with_ubjson_prefix (line 9437) | void write_number_with_ubjson_prefix(const NumberType n,
method CharType (line 9497) | CharType ubjson_prefix(const BasicJsonType& j) const noexcept
method CharType (line 9568) | static constexpr CharType get_ubjson_float_prefix(float /*unused*/)
method CharType (line 9573) | static constexpr CharType get_ubjson_float_prefix(double /*unused*/)
method write_number (line 9594) | void write_number(const NumberType n)
method CharType (line 9617) | static constexpr CharType to_char_type(std::uint8_t x) noexcept
method CharType (line 9624) | static CharType to_char_type(std::uint8_t x) noexcept
method CharType (line 9635) | static constexpr CharType to_char_type(std::uint8_t x) noexcept
method CharType (line 9646) | static constexpr CharType to_char_type(InputCharType x) noexcept
type dtoa_impl (line 9712) | namespace dtoa_impl
function Target (line 9716) | Target reinterpret_bits(const Source source)
type diyfp (line 9725) | struct diyfp // f * 2^e
method diyfp (line 9732) | constexpr diyfp(uint64_t f_, int e_) noexcept : f(f_), e(e_) {}
method diyfp (line 9738) | static diyfp sub(const diyfp& x, const diyfp& y) noexcept
method diyfp (line 9750) | static diyfp mul(const diyfp& x, const diyfp& y) noexcept
method diyfp (line 9815) | static diyfp normalize(diyfp x) noexcept
method diyfp (line 9832) | static diyfp normalize_to(const diyfp& x, const int target_expon...
type boundaries (line 9843) | struct boundaries
function boundaries (line 9857) | boundaries compute_boundaries(FloatType value)
type cached_power (line 9982) | struct cached_power // c = f * 2^e ~= 10^k
function cached_power (line 9996) | inline cached_power get_cached_power_for_binary_exponent(int e)
function find_largest_pow10 (line 10160) | inline int find_largest_pow10(const uint32_t n, uint32_t& pow10)
function grisu2_round (line 10216) | inline void grisu2_round(char* buf, int len, uint64_t dist, uint64...
function grisu2_digit_gen (line 10257) | inline void grisu2_digit_gen(char* buffer, int& length, int& decim...
function grisu2 (line 10497) | inline void grisu2(char* buf, int& len, int& decimal_exponent,
function grisu2 (line 10556) | void grisu2(char* buf, int& len, int& decimal_exponent, FloatType ...
type error_handler_t (line 10795) | enum class error_handler_t
class serializer (line 10803) | class serializer
method serializer (line 10818) | serializer(output_adapter_t<char> s, const char ichar,
method serializer (line 10830) | serializer(const serializer&) = delete;
method serializer (line 10831) | serializer& operator=(const serializer&) = delete;
method serializer (line 10832) | serializer(serializer&&) = delete;
method serializer (line 10833) | serializer& operator=(serializer&&) = delete;
method dump (line 10853) | void dump(const BasicJsonType& val, const bool pretty_print,
method dump_escaped (line 11060) | void dump_escaped(const string_t& s, const bool ensure_ascii)
method dump_integer (line 11305) | void dump_integer(NumberType x)
method dump_float (line 11346) | void dump_float(number_float_t x)
method dump_float (line 11367) | void dump_float(number_float_t x, std::true_type /*is_ieee_single_...
method dump_float (line 11375) | void dump_float(number_float_t x, std::false_type /*is_ieee_single...
method decode (line 11445) | static uint8_t decode(uint8_t& state, uint32_t& codep, const uint8...
class json_ref (line 11519) | class json_ref
method json_ref (line 11524) | json_ref(value_type&& value)
method json_ref (line 11528) | json_ref(const value_type& value)
method json_ref (line 11532) | json_ref(std::initializer_list<json_ref> init)
method json_ref (line 11539) | json_ref(Args && ... args)
method json_ref (line 11544) | json_ref(json_ref&&) = default;
method json_ref (line 11545) | json_ref(const json_ref&) = delete;
method json_ref (line 11546) | json_ref& operator=(const json_ref&) = delete;
method json_ref (line 11547) | json_ref& operator=(json_ref&&) = delete;
method value_type (line 11550) | value_type moved_or_copied() const
method value_type (line 11559) | value_type const& operator*() const
method value_type (line 11564) | value_type const* operator->() const
type detail (line 339) | namespace detail
type index_sequence (line 273) | struct index_sequence
method size (line 277) | static constexpr std::size_t size() noexcept
type merge_and_renumber (line 284) | struct merge_and_renumber
type make_index_sequence (line 291) | struct make_index_sequence
type make_index_sequence<0> (line 295) | struct make_index_sequence<0> : index_sequence<> {}
type make_index_sequence<1> (line 296) | struct make_index_sequence<1> : index_sequence<0> {}
type priority_tag (line 302) | struct priority_tag : priority_tag < N - 1 > {}
type priority_tag<0> (line 303) | struct priority_tag<0> {}
type static_const (line 307) | struct static_const
type make_void (line 341) | struct make_void
type nonesuch (line 355) | struct nonesuch
method nonesuch (line 357) | nonesuch() = delete;
method nonesuch (line 359) | nonesuch(nonesuch const&) = delete;
type detector (line 367) | struct detector
type is_basic_json (line 429) | struct is_basic_json : std::false_type {}
type has_from_json (line 473) | struct has_from_json : std::false_type {}
type has_from_json<BasicJsonType, T,
enable_if_t<not is_basic_json<T>::value>> (line 476) | struct has_from_json<BasicJsonType, T,
type has_non_default_from_json (line 489) | struct has_non_default_from_json : std::false_type {}
type has_non_default_from_json<BasicJsonType, T, enable_if_t<not is_basic_json<T>::value>> (line 492) | struct has_non_default_from_json<BasicJsonType, T, enable_if_t<not i...
type has_to_json (line 504) | struct has_to_json : std::false_type {}
type has_to_json<BasicJsonType, T, enable_if_t<not is_basic_json<T>::value>> (line 507) | struct has_to_json<BasicJsonType, T, enable_if_t<not is_basic_json<T...
type is_iterator_traits (line 522) | struct is_iterator_traits : std::false_type {}
type is_iterator_traits<std::iterator_traits<T>> (line 525) | struct is_iterator_traits<std::iterator_traits<T>>
type is_complete_type (line 542) | struct is_complete_type : std::false_type {}
type is_complete_type<T, decltype(void(sizeof(T)))> (line 545) | struct is_complete_type<T, decltype(void(sizeof(T)))> : std::true_ty...
type is_compatible_object_type_impl (line 549) | struct is_compatible_object_type_impl : std::false_type {}
type is_compatible_object_type_impl <
BasicJsonType, CompatibleObjectType,
enable_if_t<is_detected<mapped_type_t, CompatibleObjectType>::value and
is_detected<key_type_t, CompatibleObjectType>::value >> (line 552) | struct is_compatible_object_type_impl <
type is_compatible_object_type (line 569) | struct is_compatible_object_type
type is_constructible_object_type_impl (line 574) | struct is_constructible_object_type_impl : std::false_type {}
type is_constructible_object_type_impl <
BasicJsonType, ConstructibleObjectType,
enable_if_t<is_detected<mapped_type_t, ConstructibleObjectType>::value and
is_detected<key_type_t, ConstructibleObjectType>::value >> (line 577) | struct is_constructible_object_type_impl <
type is_constructible_object_type (line 592) | struct is_constructible_object_type
type is_compatible_string_type_impl (line 598) | struct is_compatible_string_type_impl : std::false_type {}
type is_compatible_string_type_impl <
BasicJsonType, CompatibleStringType,
enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
value_type_t, CompatibleStringType>::value >> (line 601) | struct is_compatible_string_type_impl <
type is_compatible_string_type (line 611) | struct is_compatible_string_type
type is_constructible_string_type_impl (line 616) | struct is_constructible_string_type_impl : std::false_type {}
type is_constructible_string_type_impl <
BasicJsonType, ConstructibleStringType,
enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
value_type_t, ConstructibleStringType>::value >> (line 619) | struct is_constructible_string_type_impl <
type is_constructible_string_type (line 630) | struct is_constructible_string_type
type is_compatible_array_type_impl (line 634) | struct is_compatible_array_type_impl : std::false_type {}
type is_compatible_array_type (line 653) | struct is_compatible_array_type
type is_constructible_array_type_impl (line 657) | struct is_constructible_array_type_impl : std::false_type {}
type is_constructible_array_type_impl <
BasicJsonType, ConstructibleArrayType,
enable_if_t<std::is_same<ConstructibleArrayType,
typename BasicJsonType::value_type>::value >> (line 660) | struct is_constructible_array_type_impl <
type is_constructible_array_type_impl <
BasicJsonType, ConstructibleArrayType,
enable_if_t<not std::is_same<ConstructibleArrayType,
typename BasicJsonType::value_type>::value and
is_detected<value_type_t, ConstructibleArrayType>::value and
is_detected<iterator_t, ConstructibleArrayType>::value and
is_complete_type<
detected_t<value_type_t, ConstructibleArrayType>>::value >> (line 667) | struct is_constructible_array_type_impl <
type is_constructible_array_type (line 692) | struct is_constructible_array_type
type is_compatible_integer_type_impl (line 697) | struct is_compatible_integer_type_impl : std::false_type {}
type is_compatible_integer_type_impl <
RealIntegerType, CompatibleNumberIntegerType,
enable_if_t<std::is_integral<RealIntegerType>::value and
std::is_integral<CompatibleNumberIntegerType>::value and
not std::is_same<bool, CompatibleNumberIntegerType>::value >> (line 700) | struct is_compatible_integer_type_impl <
type is_compatible_integer_type (line 718) | struct is_compatible_integer_type
type is_compatible_type_impl (line 723) | struct is_compatible_type_impl: std::false_type {}
type is_compatible_type_impl <
BasicJsonType, CompatibleType,
enable_if_t<is_complete_type<CompatibleType>::value >> (line 726) | struct is_compatible_type_impl <
type is_compatible_type (line 735) | struct is_compatible_type
type position_t (line 757) | struct position_t
class exception (line 813) | class exception : public std::exception
method exception (line 826) | exception(int id_, const char* what_arg) : id(id_), m(what_arg) {}
method name (line 828) | static std::string name(const std::string& ename, int id_)
class parse_error (line 882) | class parse_error : public exception
method parse_error (line 894) | static parse_error create(int id_, const position_t& pos, const st...
method parse_error (line 901) | static parse_error create(int id_, std::size_t byte_, const std::s...
method parse_error (line 921) | parse_error(int id_, std::size_t byte_, const char* what_arg)
method position_string (line 924) | static std::string position_string(const position_t& pos)
class invalid_iterator (line 968) | class invalid_iterator : public exception
method invalid_iterator (line 971) | static invalid_iterator create(int id_, const std::string& what_arg)
method invalid_iterator (line 978) | invalid_iterator(int id_, const char* what_arg)
class type_error (line 1021) | class type_error : public exception
method type_error (line 1024) | static type_error create(int id_, const std::string& what_arg)
method type_error (line 1031) | type_error(int id_, const char* what_arg) : exception(id_, what_ar...
class out_of_range (line 1067) | class out_of_range : public exception
method out_of_range (line 1070) | static out_of_range create(int id_, const std::string& what_arg)
method out_of_range (line 1077) | out_of_range(int id_, const char* what_arg) : exception(id_, what_...
class other_error (line 1104) | class other_error : public exception
method other_error (line 1107) | static other_error create(int id_, const std::string& what_arg)
method other_error (line 1114) | other_error(int id_, const char* what_arg) : exception(id_, what_a...
type value_t (line 1159) | enum class value_t : std::uint8_t
function from_json (line 1229) | void from_json(const BasicJsonType& j, typename std::nullptr_t& n)
function get_arithmetic_value (line 1243) | void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
function from_json (line 1269) | void from_json(const BasicJsonType& j, typename BasicJsonType::boole...
function from_json (line 1279) | void from_json(const BasicJsonType& j, typename BasicJsonType::strin...
function from_json (line 1295) | void from_json(const BasicJsonType& j, ConstructibleStringType& s)
function from_json (line 1306) | void from_json(const BasicJsonType& j, typename BasicJsonType::numbe...
function from_json (line 1312) | void from_json(const BasicJsonType& j, typename BasicJsonType::numbe...
function from_json (line 1318) | void from_json(const BasicJsonType& j, typename BasicJsonType::numbe...
function from_json (line 1325) | void from_json(const BasicJsonType& j, EnumType& e)
function from_json (line 1335) | void from_json(const BasicJsonType& j, std::forward_list<T, Allocato...
function from_json (line 1351) | void from_json(const BasicJsonType& j, std::valarray<T>& l)
function from_json_array_impl (line 1362) | void from_json_array_impl(const BasicJsonType& j, typename BasicJson...
function from_json_array_impl (line 1368) | auto from_json_array_impl(const BasicJsonType& j, std::array<T, N>& ...
function from_json_array_impl (line 1379) | auto from_json_array_impl(const BasicJsonType& j, ConstructibleArray...
function from_json_array_impl (line 1398) | void from_json_array_impl(const BasicJsonType& j, ConstructibleArray...
function from_json (line 1421) | auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr)
function from_json (line 1437) | void from_json(const BasicJsonType& j, ConstructibleObjectType& obj)
function from_json (line 1467) | void from_json(const BasicJsonType& j, ArithmeticType& val)
function from_json (line 1498) | void from_json(const BasicJsonType& j, std::pair<A1, A2>& p)
function from_json_tuple_impl (line 1504) | void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_se...
function from_json (line 1510) | void from_json(const BasicJsonType& j, std::tuple<Args...>& t)
function from_json (line 1518) | void from_json(const BasicJsonType& j, std::map<Key, Value, Compare,...
function from_json (line 1537) | void from_json(const BasicJsonType& j, std::unordered_map<Key, Value...
type from_json_fn (line 1553) | struct from_json_fn
class iteration_proxy (line 1606) | class iteration_proxy
class iteration_proxy_internal (line 1610) | class iteration_proxy_internal
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
method iteration_proxy (line 1701) | explicit iteration_proxy(typename IteratorType::reference cont) no...
method iteration_proxy_internal (line 1705) | iteration_proxy_internal begin() noexcept
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
method iteration_proxy_internal (line 1711) | iteration_proxy_internal end() noexcept
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
type external_constructor (line 1728) | struct external_constructor
type external_constructor<value_t::boolean> (line 1731) | struct external_constructor<value_t::boolean>
method construct (line 1734) | static void construct(BasicJsonType& j, typename BasicJsonType::bo...
type external_constructor<value_t::string> (line 1743) | struct external_constructor<value_t::string>
method construct (line 1746) | static void construct(BasicJsonType& j, const typename BasicJsonTy...
method construct (line 1754) | static void construct(BasicJsonType& j, typename BasicJsonType::st...
method construct (line 1764) | static void construct(BasicJsonType& j, const CompatibleStringType...
type external_constructor<value_t::number_float> (line 1773) | struct external_constructor<value_t::number_float>
method construct (line 1776) | static void construct(BasicJsonType& j, typename BasicJsonType::nu...
type external_constructor<value_t::number_unsigned> (line 1785) | struct external_constructor<value_t::number_unsigned>
method construct (line 1788) | static void construct(BasicJsonType& j, typename BasicJsonType::nu...
type external_constructor<value_t::number_integer> (line 1797) | struct external_constructor<value_t::number_integer>
method construct (line 1800) | static void construct(BasicJsonType& j, typename BasicJsonType::nu...
type external_constructor<value_t::array> (line 1809) | struct external_constructor<value_t::array>
method construct (line 1812) | static void construct(BasicJsonType& j, const typename BasicJsonTy...
method construct (line 1820) | static void construct(BasicJsonType& j, typename BasicJsonType::ar...
method construct (line 1830) | static void construct(BasicJsonType& j, const CompatibleArrayType&...
method construct (line 1840) | static void construct(BasicJsonType& j, const std::vector<bool>& arr)
method construct (line 1854) | static void construct(BasicJsonType& j, const std::valarray<T>& arr)
type external_constructor<value_t::object> (line 1865) | struct external_constructor<value_t::object>
method construct (line 1868) | static void construct(BasicJsonType& j, const typename BasicJsonTy...
method construct (line 1876) | static void construct(BasicJsonType& j, typename BasicJsonType::ob...
method construct (line 1885) | static void construct(BasicJsonType& j, const CompatibleObjectType...
function to_json (line 1902) | void to_json(BasicJsonType& j, T b) noexcept
function to_json (line 1909) | void to_json(BasicJsonType& j, const CompatibleString& s)
function to_json (line 1915) | void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
function to_json (line 1922) | void to_json(BasicJsonType& j, FloatType val) noexcept
function to_json (line 1929) | void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noe...
function to_json (line 1936) | void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noex...
function to_json (line 1943) | void to_json(BasicJsonType& j, EnumType e) noexcept
function to_json (line 1950) | void to_json(BasicJsonType& j, const std::vector<bool>& e)
function to_json (line 1963) | void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
function to_json (line 1970) | void to_json(BasicJsonType& j, const std::valarray<T>& arr)
function to_json (line 1976) | void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
function to_json (line 1983) | void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
function to_json (line 1989) | void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
function to_json (line 1999) | void to_json(BasicJsonType& j, const T (&arr)[N])
function to_json (line 2005) | void to_json(BasicJsonType& j, const std::pair<Args...>& p)
function to_json (line 2013) | void to_json(BasicJsonType& j, const T& b)
function to_json_tuple_impl (line 2019) | void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequ...
function to_json (line 2025) | void to_json(BasicJsonType& j, const std::tuple<Args...>& t)
type to_json_fn (line 2030) | struct to_json_fn
type input_format_t (line 2070) | enum class input_format_t { json, cbor, msgpack, ubjson, bson }
type input_adapter_protocol (line 2087) | struct input_adapter_protocol
class input_stream_adapter (line 2106) | class input_stream_adapter : public input_adapter_protocol
method input_stream_adapter (line 2116) | explicit input_stream_adapter(std::istream& i)
method input_stream_adapter (line 2121) | input_stream_adapter(const input_stream_adapter&) = delete;
method input_stream_adapter (line 2122) | input_stream_adapter& operator=(input_stream_adapter&) = delete;
method input_stream_adapter (line 2123) | input_stream_adapter(input_stream_adapter&&) = delete;
method input_stream_adapter (line 2124) | input_stream_adapter& operator=(input_stream_adapter&&) = delete;
method get_character (line 2129) | std::char_traits<char>::int_type get_character() override
class input_buffer_adapter (line 2141) | class input_buffer_adapter : public input_adapter_protocol
method input_buffer_adapter (line 2144) | input_buffer_adapter(const char* b, const std::size_t l) noexcept
method input_buffer_adapter (line 2149) | input_buffer_adapter(const input_buffer_adapter&) = delete;
method input_buffer_adapter (line 2150) | input_buffer_adapter& operator=(input_buffer_adapter&) = delete;
method input_buffer_adapter (line 2151) | input_buffer_adapter(input_buffer_adapter&&) = delete;
method input_buffer_adapter (line 2152) | input_buffer_adapter& operator=(input_buffer_adapter&&) = delete;
method get_character (line 2155) | std::char_traits<char>::int_type get_character() noexcept override
type wide_string_input_helper (line 2173) | struct wide_string_input_helper
method fill_buffer (line 2176) | static void fill_buffer(const WideStringType& str, size_t& current...
type wide_string_input_helper<WideStringType, 2> (line 2228) | struct wide_string_input_helper<WideStringType, 2>
method fill_buffer (line 2231) | static void fill_buffer(const WideStringType& str, size_t& current...
class wide_string_input_adapter (line 2289) | class wide_string_input_adapter : public input_adapter_protocol
method wide_string_input_adapter (line 2292) | explicit wide_string_input_adapter(const WideStringType& w) noexcept
method get_character (line 2296) | std::char_traits<char>::int_type get_character() noexcept override
method fill_buffer (line 2315) | void fill_buffer()
class input_adapter (line 2335) | class input_adapter
method input_adapter (line 2341) | input_adapter(std::istream& i)
method input_adapter (line 2345) | input_adapter(std::istream&& i)
method input_adapter (line 2348) | input_adapter(const std::wstring& ws)
method input_adapter (line 2351) | input_adapter(const std::u16string& ws)
method input_adapter (line 2354) | input_adapter(const std::u32string& ws)
method input_adapter (line 2364) | input_adapter(CharT b, std::size_t l)
method input_adapter (line 2376) | input_adapter(CharT b)
method input_adapter (line 2385) | input_adapter(IteratorType first, IteratorType last)
method input_adapter (line 2420) | input_adapter(T (&array)[N])
method input_adapter (line 2428) | input_adapter(const ContiguousContainer& c)
class lexer (line 2475) | class lexer
type token_type (line 2484) | enum class token_type
method lexer (line 2549) | explicit lexer(detail::input_adapter_t&& adapter)
method lexer (line 2553) | lexer(const lexer&) = delete;
method lexer (line 2554) | lexer(lexer&&) = delete;
method lexer (line 2555) | lexer& operator=(lexer&) = delete;
method lexer (line 2556) | lexer& operator=(lexer&&) = delete;
method get_decimal_point (line 2565) | static char get_decimal_point() noexcept
method get_codepoint (line 2591) | int get_codepoint()
method next_byte_in_range (line 2639) | bool next_byte_in_range(std::initializer_list<int> ranges)
method token_type (line 2676) | token_type scan_string()
method strtof (line 3262) | static void strtof(float& f, const char* str, char** endptr) noexcept
method strtof (line 3267) | static void strtof(double& f, const char* str, char** endptr) noex...
method strtof (line 3272) | static void strtof(long double& f, const char* str, char** endptr)...
method token_type (line 3317) | token_type scan_number() // lgtm [cpp/use-of-goto]
method token_type (line 3651) | token_type scan_literal(const char* literal_text, const std::size_...
method reset (line 3671) | void reset() noexcept
method get (line 3688) | std::char_traits<char>::int_type get()
method unget (line 3725) | void unget()
method add (line 3752) | void add(int c)
method number_integer_t (line 3763) | constexpr number_integer_t get_number_integer() const noexcept
method number_unsigned_t (line 3769) | constexpr number_unsigned_t get_number_unsigned() const noexcept
method number_float_t (line 3775) | constexpr number_float_t get_number_float() const noexcept
method string_t (line 3781) | string_t& get_string()
method position_t (line 3791) | constexpr position_t get_position() const noexcept
method get_token_string (line 3799) | std::string get_token_string() const
method skip_bom (line 3836) | bool skip_bom()
method token_type (line 3850) | token_type scan()
type is_sax (line 4030) | struct is_sax
type is_sax_static_asserts (line 4062) | struct is_sax_static_asserts
class json_sax_dom_parser (line 4260) | class json_sax_dom_parser
method json_sax_dom_parser (line 4273) | explicit json_sax_dom_parser(BasicJsonType& r, const bool allow_ex...
method null (line 4277) | bool null()
method boolean (line 4283) | bool boolean(bool val)
method number_integer (line 4289) | bool number_integer(number_integer_t val)
method number_unsigned (line 4295) | bool number_unsigned(number_unsigned_t val)
method number_float (line 4301) | bool number_float(number_float_t val, const string_t& /*unused*/)
method string (line 4307) | bool string(string_t& val)
method start_object (line 4313) | bool start_object(std::size_t len)
method key (line 4326) | bool key(string_t& val)
method end_object (line 4333) | bool end_object()
method start_array (line 4339) | bool start_array(std::size_t len)
method end_array (line 4352) | bool end_array()
method parse_error (line 4358) | bool parse_error(std::size_t /*unused*/, const std::string& /*unus...
method is_errored (line 4386) | constexpr bool is_errored() const
method BasicJsonType (line 4399) | BasicJsonType* handle_value(Value&& v)
class json_sax_dom_callback_parser (line 4435) | class json_sax_dom_callback_parser
method json_sax_dom_callback_parser (line 4445) | json_sax_dom_callback_parser(BasicJsonType& r,
method null (line 4453) | bool null()
method boolean (line 4459) | bool boolean(bool val)
method number_integer (line 4465) | bool number_integer(number_integer_t val)
method number_unsigned (line 4471) | bool number_unsigned(number_unsigned_t val)
method number_float (line 4477) | bool number_float(number_float_t val, const string_t& /*unused*/)
method string (line 4483) | bool string(string_t& val)
method start_object (line 4489) | bool start_object(std::size_t len)
method key (line 4511) | bool key(string_t& val)
method end_object (line 4528) | bool end_object()
method start_array (line 4563) | bool start_array(std::size_t len)
method end_array (line 4584) | bool end_array()
method parse_error (line 4615) | bool parse_error(std::size_t /*unused*/, const std::string& /*unus...
method is_errored (line 4643) | constexpr bool is_errored() const
method handle_value (line 4665) | std::pair<bool, BasicJsonType*> handle_value(Value&& v, const bool...
class json_sax_acceptor (line 4748) | class json_sax_acceptor
method null (line 4756) | bool null()
method boolean (line 4761) | bool boolean(bool /*unused*/)
method number_integer (line 4766) | bool number_integer(number_integer_t /*unused*/)
method number_unsigned (line 4771) | bool number_unsigned(number_unsigned_t /*unused*/)
method number_float (line 4776) | bool number_float(number_float_t /*unused*/, const string_t& /*unu...
method string (line 4781) | bool string(string_t& /*unused*/)
method start_object (line 4786) | bool start_object(std::size_t /*unused*/ = std::size_t(-1))
method key (line 4791) | bool key(string_t& /*unused*/)
method end_object (line 4796) | bool end_object()
method start_array (line 4801) | bool start_array(std::size_t /*unused*/ = std::size_t(-1))
method end_array (line 4806) | bool end_array()
method parse_error (line 4811) | bool parse_error(std::size_t /*unused*/, const std::string& /*unus...
class parser (line 4839) | class parser
type parse_event_t (line 4849) | enum class parse_event_t : uint8_t
method parser (line 4869) | explicit parser(detail::input_adapter_t&& adapter,
method parse (line 4888) | void parse(const bool strict, BasicJsonType& result)
method accept (line 4949) | bool accept(const bool strict = true)
method sax_parse (line 4956) | bool sax_parse(SAX* sax, const bool strict = true)
method sax_parse_internal (line 4975) | bool sax_parse_internal(SAX* sax)
method token_type (line 5266) | token_type get_token()
method exception_message (line 5271) | std::string exception_message(const token_type expected, const std...
class primitive_iterator_t (line 5332) | class primitive_iterator_t
method difference_type (line 5343) | constexpr difference_type get_value() const noexcept
method set_begin (line 5349) | void set_begin() noexcept
method set_end (line 5355) | void set_end() noexcept
method is_begin (line 5361) | constexpr bool is_begin() const noexcept
method is_end (line 5367) | constexpr bool is_end() const noexcept
method primitive_iterator_t (line 5382) | primitive_iterator_t operator+(difference_type n) noexcept
method difference_type (line 5389) | constexpr difference_type operator-(primitive_iterator_t lhs, prim...
method primitive_iterator_t (line 5394) | primitive_iterator_t& operator++() noexcept
method primitive_iterator_t (line 5400) | primitive_iterator_t const operator++(int) noexcept
method primitive_iterator_t (line 5407) | primitive_iterator_t& operator--() noexcept
method primitive_iterator_t (line 5413) | primitive_iterator_t const operator--(int) noexcept
method primitive_iterator_t (line 5420) | primitive_iterator_t& operator+=(difference_type n) noexcept
method primitive_iterator_t (line 5426) | primitive_iterator_t& operator-=(difference_type n) noexcept
type internal_iterator (line 5451) | struct internal_iterator
class iteration_proxy (line 5488) | class iteration_proxy
class iteration_proxy_internal (line 1610) | class iteration_proxy_internal
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
method iteration_proxy (line 1701) | explicit iteration_proxy(typename IteratorType::reference cont) no...
method iteration_proxy_internal (line 1705) | iteration_proxy_internal begin() noexcept
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
method iteration_proxy_internal (line 1711) | iteration_proxy_internal end() noexcept
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
class iter_impl (line 5511) | class iter_impl
method iter_impl (line 5548) | iter_impl() = default;
method iter_impl (line 5556) | explicit iter_impl(pointer object) noexcept : m_object(object)
method iter_impl (line 5596) | iter_impl(const iter_impl<typename std::remove_const<BasicJsonType...
method iter_impl (line 5605) | iter_impl& operator=(const iter_impl<typename std::remove_const<Ba...
method set_begin (line 5617) | void set_begin() noexcept
method set_end (line 5654) | void set_end() noexcept
method reference (line 5685) | reference operator*() const
method pointer (line 5722) | pointer operator->() const
method iter_impl (line 5756) | iter_impl const operator++(int)
method iter_impl (line 5767) | iter_impl& operator++()
method iter_impl (line 5799) | iter_impl const operator--(int)
method iter_impl (line 5810) | iter_impl& operator--()
method iter_impl (line 5932) | iter_impl& operator+=(difference_type i)
method iter_impl (line 5961) | iter_impl& operator-=(difference_type i)
method iter_impl (line 5970) | iter_impl operator+(difference_type i) const
method iter_impl (line 5981) | iter_impl operator+(difference_type i, const iter_impl& it)
method iter_impl (line 5992) | iter_impl operator-(difference_type i) const
method difference_type (line 6003) | difference_type operator-(const iter_impl& other) const
method reference (line 6024) | reference operator[](difference_type n) const
method reference (line 6071) | reference value() const
class json_reverse_iterator (line 6121) | class json_reverse_iterator : public std::reverse_iterator<Base>
method json_reverse_iterator (line 6131) | explicit json_reverse_iterator(const typename base_iterator::itera...
method json_reverse_iterator (line 6135) | explicit json_reverse_iterator(const base_iterator& it) noexcept :...
method json_reverse_iterator (line 6138) | json_reverse_iterator const operator++(int)
method json_reverse_iterator (line 6144) | json_reverse_iterator& operator++()
method json_reverse_iterator (line 6150) | json_reverse_iterator const operator--(int)
method json_reverse_iterator (line 6156) | json_reverse_iterator& operator--()
method json_reverse_iterator (line 6162) | json_reverse_iterator& operator+=(difference_type i)
method json_reverse_iterator (line 6168) | json_reverse_iterator operator+(difference_type i) const
method json_reverse_iterator (line 6174) | json_reverse_iterator operator-(difference_type i) const
method difference_type (line 6180) | difference_type operator-(const json_reverse_iterator& other) const
method reference (line 6186) | reference operator[](difference_type n) const
method key (line 6192) | auto key() const -> decltype(std::declval<Base>().key())
method reference (line 6199) | reference value() const
type output_adapter_protocol (line 6225) | struct output_adapter_protocol
class output_vector_adapter (line 6238) | class output_vector_adapter : public output_adapter_protocol<CharType>
method output_vector_adapter (line 6241) | explicit output_vector_adapter(std::vector<CharType>& vec) noexcept
method write_character (line 6245) | void write_character(CharType c) override
method write_characters (line 6250) | void write_characters(const CharType* s, std::size_t length) override
class output_stream_adapter (line 6261) | class output_stream_adapter : public output_adapter_protocol<CharType>
method output_stream_adapter (line 6264) | explicit output_stream_adapter(std::basic_ostream<CharType>& s) no...
method write_character (line 6268) | void write_character(CharType c) override
method write_characters (line 6273) | void write_characters(const CharType* s, std::size_t length) override
class output_string_adapter (line 6284) | class output_string_adapter : public output_adapter_protocol<CharType>
method output_string_adapter (line 6287) | explicit output_string_adapter(StringType& s) noexcept
method write_character (line 6291) | void write_character(CharType c) override
method write_characters (line 6296) | void write_characters(const CharType* s, std::size_t length) override
class output_adapter (line 6306) | class output_adapter
method output_adapter (line 6309) | output_adapter(std::vector<CharType>& vec)
method output_adapter (line 6312) | output_adapter(std::basic_ostream<CharType>& s)
method output_adapter (line 6315) | output_adapter(StringType& s)
class binary_reader (line 6370) | class binary_reader
method binary_reader (line 6384) | explicit binary_reader(input_adapter_t adapter) : ia(std::move(ada...
method sax_parse (line 6397) | bool sax_parse(const input_format_t format,
method little_endianess (line 6457) | static constexpr bool little_endianess(int num = 1) noexcept
method parse_bson_internal (line 6471) | bool parse_bson_internal()
method get_bson_cstr (line 6496) | bool get_bson_cstr(string_t& result)
method get_bson_string (line 6528) | bool get_bson_string(const NumberType len, string_t& result)
method parse_bson_element_internal (line 6549) | bool parse_bson_element_internal(const int element_type,
method parse_bson_element_list (line 6620) | bool parse_bson_element_list(const bool is_array)
method parse_bson_array (line 6657) | bool parse_bson_array()
method parse_cbor_internal (line 6686) | bool parse_cbor_internal(const bool get_char = true)
method get_cbor_string (line 7028) | bool get_cbor_string(string_t& result)
method get_cbor_array (line 7117) | bool get_cbor_array(const std::size_t len)
method get_cbor_object (line 7153) | bool get_cbor_object(const std::size_t len)
method parse_msgpack_internal (line 7205) | bool parse_msgpack_internal()
method get_msgpack_string (line 7574) | bool get_msgpack_string(string_t& result)
method get_msgpack_array (line 7650) | bool get_msgpack_array(const std::size_t len)
method get_msgpack_object (line 7672) | bool get_msgpack_object(const std::size_t len)
method parse_ubjson_internal (line 7709) | bool parse_ubjson_internal(const bool get_char = true)
method get_ubjson_string (line 7728) | bool get_ubjson_string(string_t& result, const bool get_char = true)
method get_ubjson_size_value (line 7782) | bool get_ubjson_size_value(std::size_t& result)
method get_ubjson_size_type (line 7859) | bool get_ubjson_size_type(std::pair<std::size_t, int>& result)
method get_ubjson_value (line 7898) | bool get_ubjson_value(const int prefix)
method get_ubjson_array (line 7994) | bool get_ubjson_array()
method get_ubjson_object (line 8056) | bool get_ubjson_object()
method get (line 8141) | int get()
method get_ignore_noop (line 8150) | int get_ignore_noop()
method get_number (line 8175) | bool get_number(const input_format_t format, NumberType& result)
method get_string (line 8218) | bool get_string(const input_format_t format,
method unexpect_eof (line 8240) | bool unexpect_eof(const input_format_t format, const char* context...
method get_token_string (line 8253) | std::string get_token_string() const
method exception_message (line 8266) | std::string exception_message(const input_format_t format,
class binary_writer (line 8344) | class binary_writer
method binary_writer (line 8354) | explicit binary_writer(output_adapter_t<CharType> adapter) : oa(ad...
method write_bson (line 8363) | void write_bson(const BasicJsonType& j)
method write_cbor (line 8383) | void write_cbor(const BasicJsonType& j)
method write_msgpack (line 8627) | void write_msgpack(const BasicJsonType& j)
method write_ubjson (line 8869) | void write_ubjson(const BasicJsonType& j, const bool use_count,
method calc_bson_entry_header_size (line 9033) | static std::size_t calc_bson_entry_header_size(const string_t& name)
method write_bson_entry_header (line 9048) | void write_bson_entry_header(const string_t& name,
method write_bson_boolean (line 9060) | void write_bson_boolean(const string_t& name,
method write_bson_double (line 9070) | void write_bson_double(const string_t& name,
method calc_bson_string_size (line 9080) | static std::size_t calc_bson_string_size(const string_t& value)
method write_bson_string (line 9088) | void write_bson_string(const string_t& name,
method write_bson_null (line 9102) | void write_bson_null(const string_t& name)
method calc_bson_integer_size (line 9110) | static std::size_t calc_bson_integer_size(const std::int64_t value)
method write_bson_integer (line 9125) | void write_bson_integer(const string_t& name,
method calc_bson_unsigned_size (line 9143) | static constexpr std::size_t calc_bson_unsigned_size(const std::ui...
method write_bson_unsigned (line 9153) | void write_bson_unsigned(const string_t& name,
method write_bson_object_entry (line 9175) | void write_bson_object_entry(const string_t& name,
method calc_bson_array_size (line 9185) | static std::size_t calc_bson_array_size(const typename BasicJsonTy...
method write_bson_array (line 9201) | void write_bson_array(const string_t& name,
method calc_bson_element_size (line 9221) | static std::size_t calc_bson_element_size(const string_t& name,
method write_bson_element (line 9266) | void write_bson_element(const string_t& name,
method calc_bson_object_size (line 9309) | static std::size_t calc_bson_object_size(const typename BasicJsonT...
method write_bson_object (line 9324) | void write_bson_object(const typename BasicJsonType::object_t& value)
method CharType (line 9340) | static constexpr CharType get_cbor_float_prefix(float /*unused*/)
method CharType (line 9345) | static constexpr CharType get_cbor_float_prefix(double /*unused*/)
method CharType (line 9354) | static constexpr CharType get_msgpack_float_prefix(float /*unused*/)
method CharType (line 9359) | static constexpr CharType get_msgpack_float_prefix(double /*unused*/)
method write_number_with_ubjson_prefix (line 9371) | void write_number_with_ubjson_prefix(const NumberType n,
method write_number_with_ubjson_prefix (line 9384) | void write_number_with_ubjson_prefix(const NumberType n,
method write_number_with_ubjson_prefix (line 9437) | void write_number_with_ubjson_prefix(const NumberType n,
method CharType (line 9497) | CharType ubjson_prefix(const BasicJsonType& j) const noexcept
method CharType (line 9568) | static constexpr CharType get_ubjson_float_prefix(float /*unused*/)
method CharType (line 9573) | static constexpr CharType get_ubjson_float_prefix(double /*unused*/)
method write_number (line 9594) | void write_number(const NumberType n)
method CharType (line 9617) | static constexpr CharType to_char_type(std::uint8_t x) noexcept
method CharType (line 9624) | static CharType to_char_type(std::uint8_t x) noexcept
method CharType (line 9635) | static constexpr CharType to_char_type(std::uint8_t x) noexcept
method CharType (line 9646) | static constexpr CharType to_char_type(InputCharType x) noexcept
type dtoa_impl (line 9712) | namespace dtoa_impl
function Target (line 9716) | Target reinterpret_bits(const Source source)
type diyfp (line 9725) | struct diyfp // f * 2^e
method diyfp (line 9732) | constexpr diyfp(uint64_t f_, int e_) noexcept : f(f_), e(e_) {}
method diyfp (line 9738) | static diyfp sub(const diyfp& x, const diyfp& y) noexcept
method diyfp (line 9750) | static diyfp mul(const diyfp& x, const diyfp& y) noexcept
method diyfp (line 9815) | static diyfp normalize(diyfp x) noexcept
method diyfp (line 9832) | static diyfp normalize_to(const diyfp& x, const int target_expon...
type boundaries (line 9843) | struct boundaries
function boundaries (line 9857) | boundaries compute_boundaries(FloatType value)
type cached_power (line 9982) | struct cached_power // c = f * 2^e ~= 10^k
function cached_power (line 9996) | inline cached_power get_cached_power_for_binary_exponent(int e)
function find_largest_pow10 (line 10160) | inline int find_largest_pow10(const uint32_t n, uint32_t& pow10)
function grisu2_round (line 10216) | inline void grisu2_round(char* buf, int len, uint64_t dist, uint64...
function grisu2_digit_gen (line 10257) | inline void grisu2_digit_gen(char* buffer, int& length, int& decim...
function grisu2 (line 10497) | inline void grisu2(char* buf, int& len, int& decimal_exponent,
function grisu2 (line 10556) | void grisu2(char* buf, int& len, int& decimal_exponent, FloatType ...
type error_handler_t (line 10795) | enum class error_handler_t
class serializer (line 10803) | class serializer
method serializer (line 10818) | serializer(output_adapter_t<char> s, const char ichar,
method serializer (line 10830) | serializer(const serializer&) = delete;
method serializer (line 10831) | serializer& operator=(const serializer&) = delete;
method serializer (line 10832) | serializer(serializer&&) = delete;
method serializer (line 10833) | serializer& operator=(serializer&&) = delete;
method dump (line 10853) | void dump(const BasicJsonType& val, const bool pretty_print,
method dump_escaped (line 11060) | void dump_escaped(const string_t& s, const bool ensure_ascii)
method dump_integer (line 11305) | void dump_integer(NumberType x)
method dump_float (line 11346) | void dump_float(number_float_t x)
method dump_float (line 11367) | void dump_float(number_float_t x, std::true_type /*is_ieee_single_...
method dump_float (line 11375) | void dump_float(number_float_t x, std::false_type /*is_ieee_single...
method decode (line 11445) | static uint8_t decode(uint8_t& state, uint32_t& codep, const uint8...
class json_ref (line 11519) | class json_ref
method json_ref (line 11524) | json_ref(value_type&& value)
method json_ref (line 11528) | json_ref(const value_type& value)
method json_ref (line 11532) | json_ref(std::initializer_list<json_ref> init)
method json_ref (line 11539) | json_ref(Args && ... args)
method json_ref (line 11544) | json_ref(json_ref&&) = default;
method json_ref (line 11545) | json_ref(const json_ref&) = delete;
method json_ref (line 11546) | json_ref& operator=(const json_ref&) = delete;
method json_ref (line 11547) | json_ref& operator=(json_ref&&) = delete;
method value_type (line 11550) | value_type moved_or_copied() const
method value_type (line 11559) | value_type const& operator*() const
method value_type (line 11564) | value_type const* operator->() const
type detail (line 353) | namespace detail
type index_sequence (line 273) | struct index_sequence
method size (line 277) | static constexpr std::size_t size() noexcept
type merge_and_renumber (line 284) | struct merge_and_renumber
type make_index_sequence (line 291) | struct make_index_sequence
type make_index_sequence<0> (line 295) | struct make_index_sequence<0> : index_sequence<> {}
type make_index_sequence<1> (line 296) | struct make_index_sequence<1> : index_sequence<0> {}
type priority_tag (line 302) | struct priority_tag : priority_tag < N - 1 > {}
type priority_tag<0> (line 303) | struct priority_tag<0> {}
type static_const (line 307) | struct static_const
type make_void (line 341) | struct make_void
type nonesuch (line 355) | struct nonesuch
method nonesuch (line 357) | nonesuch() = delete;
method nonesuch (line 359) | nonesuch(nonesuch const&) = delete;
type detector (line 367) | struct detector
type is_basic_json (line 429) | struct is_basic_json : std::false_type {}
type has_from_json (line 473) | struct has_from_json : std::false_type {}
type has_from_json<BasicJsonType, T,
enable_if_t<not is_basic_json<T>::value>> (line 476) | struct has_from_json<BasicJsonType, T,
type has_non_default_from_json (line 489) | struct has_non_default_from_json : std::false_type {}
type has_non_default_from_json<BasicJsonType, T, enable_if_t<not is_basic_json<T>::value>> (line 492) | struct has_non_default_from_json<BasicJsonType, T, enable_if_t<not i...
type has_to_json (line 504) | struct has_to_json : std::false_type {}
type has_to_json<BasicJsonType, T, enable_if_t<not is_basic_json<T>::value>> (line 507) | struct has_to_json<BasicJsonType, T, enable_if_t<not is_basic_json<T...
type is_iterator_traits (line 522) | struct is_iterator_traits : std::false_type {}
type is_iterator_traits<std::iterator_traits<T>> (line 525) | struct is_iterator_traits<std::iterator_traits<T>>
type is_complete_type (line 542) | struct is_complete_type : std::false_type {}
type is_complete_type<T, decltype(void(sizeof(T)))> (line 545) | struct is_complete_type<T, decltype(void(sizeof(T)))> : std::true_ty...
type is_compatible_object_type_impl (line 549) | struct is_compatible_object_type_impl : std::false_type {}
type is_compatible_object_type_impl <
BasicJsonType, CompatibleObjectType,
enable_if_t<is_detected<mapped_type_t, CompatibleObjectType>::value and
is_detected<key_type_t, CompatibleObjectType>::value >> (line 552) | struct is_compatible_object_type_impl <
type is_compatible_object_type (line 569) | struct is_compatible_object_type
type is_constructible_object_type_impl (line 574) | struct is_constructible_object_type_impl : std::false_type {}
type is_constructible_object_type_impl <
BasicJsonType, ConstructibleObjectType,
enable_if_t<is_detected<mapped_type_t, ConstructibleObjectType>::value and
is_detected<key_type_t, ConstructibleObjectType>::value >> (line 577) | struct is_constructible_object_type_impl <
type is_constructible_object_type (line 592) | struct is_constructible_object_type
type is_compatible_string_type_impl (line 598) | struct is_compatible_string_type_impl : std::false_type {}
type is_compatible_string_type_impl <
BasicJsonType, CompatibleStringType,
enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
value_type_t, CompatibleStringType>::value >> (line 601) | struct is_compatible_string_type_impl <
type is_compatible_string_type (line 611) | struct is_compatible_string_type
type is_constructible_string_type_impl (line 616) | struct is_constructible_string_type_impl : std::false_type {}
type is_constructible_string_type_impl <
BasicJsonType, ConstructibleStringType,
enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
value_type_t, ConstructibleStringType>::value >> (line 619) | struct is_constructible_string_type_impl <
type is_constructible_string_type (line 630) | struct is_constructible_string_type
type is_compatible_array_type_impl (line 634) | struct is_compatible_array_type_impl : std::false_type {}
type is_compatible_array_type (line 653) | struct is_compatible_array_type
type is_constructible_array_type_impl (line 657) | struct is_constructible_array_type_impl : std::false_type {}
type is_constructible_array_type_impl <
BasicJsonType, ConstructibleArrayType,
enable_if_t<std::is_same<ConstructibleArrayType,
typename BasicJsonType::value_type>::value >> (line 660) | struct is_constructible_array_type_impl <
type is_constructible_array_type_impl <
BasicJsonType, ConstructibleArrayType,
enable_if_t<not std::is_same<ConstructibleArrayType,
typename BasicJsonType::value_type>::value and
is_detected<value_type_t, ConstructibleArrayType>::value and
is_detected<iterator_t, ConstructibleArrayType>::value and
is_complete_type<
detected_t<value_type_t, ConstructibleArrayType>>::value >> (line 667) | struct is_constructible_array_type_impl <
type is_constructible_array_type (line 692) | struct is_constructible_array_type
type is_compatible_integer_type_impl (line 697) | struct is_compatible_integer_type_impl : std::false_type {}
type is_compatible_integer_type_impl <
RealIntegerType, CompatibleNumberIntegerType,
enable_if_t<std::is_integral<RealIntegerType>::value and
std::is_integral<CompatibleNumberIntegerType>::value and
not std::is_same<bool, CompatibleNumberIntegerType>::value >> (line 700) | struct is_compatible_integer_type_impl <
type is_compatible_integer_type (line 718) | struct is_compatible_integer_type
type is_compatible_type_impl (line 723) | struct is_compatible_type_impl: std::false_type {}
type is_compatible_type_impl <
BasicJsonType, CompatibleType,
enable_if_t<is_complete_type<CompatibleType>::value >> (line 726) | struct is_compatible_type_impl <
type is_compatible_type (line 735) | struct is_compatible_type
type position_t (line 757) | struct position_t
class exception (line 813) | class exception : public std::exception
method exception (line 826) | exception(int id_, const char* what_arg) : id(id_), m(what_arg) {}
method name (line 828) | static std::string name(const std::string& ename, int id_)
class parse_error (line 882) | class parse_error : public exception
method parse_error (line 894) | static parse_error create(int id_, const position_t& pos, const st...
method parse_error (line 901) | static parse_error create(int id_, std::size_t byte_, const std::s...
method parse_error (line 921) | parse_error(int id_, std::size_t byte_, const char* what_arg)
method position_string (line 924) | static std::string position_string(const position_t& pos)
class invalid_iterator (line 968) | class invalid_iterator : public exception
method invalid_iterator (line 971) | static invalid_iterator create(int id_, const std::string& what_arg)
method invalid_iterator (line 978) | invalid_iterator(int id_, const char* what_arg)
class type_error (line 1021) | class type_error : public exception
method type_error (line 1024) | static type_error create(int id_, const std::string& what_arg)
method type_error (line 1031) | type_error(int id_, const char* what_arg) : exception(id_, what_ar...
class out_of_range (line 1067) | class out_of_range : public exception
method out_of_range (line 1070) | static out_of_range create(int id_, const std::string& what_arg)
method out_of_range (line 1077) | out_of_range(int id_, const char* what_arg) : exception(id_, what_...
class other_error (line 1104) | class other_error : public exception
method other_error (line 1107) | static other_error create(int id_, const std::string& what_arg)
method other_error (line 1114) | other_error(int id_, const char* what_arg) : exception(id_, what_a...
type value_t (line 1159) | enum class value_t : std::uint8_t
function from_json (line 1229) | void from_json(const BasicJsonType& j, typename std::nullptr_t& n)
function get_arithmetic_value (line 1243) | void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
function from_json (line 1269) | void from_json(const BasicJsonType& j, typename BasicJsonType::boole...
function from_json (line 1279) | void from_json(const BasicJsonType& j, typename BasicJsonType::strin...
function from_json (line 1295) | void from_json(const BasicJsonType& j, ConstructibleStringType& s)
function from_json (line 1306) | void from_json(const BasicJsonType& j, typename BasicJsonType::numbe...
function from_json (line 1312) | void from_json(const BasicJsonType& j, typename BasicJsonType::numbe...
function from_json (line 1318) | void from_json(const BasicJsonType& j, typename BasicJsonType::numbe...
function from_json (line 1325) | void from_json(const BasicJsonType& j, EnumType& e)
function from_json (line 1335) | void from_json(const BasicJsonType& j, std::forward_list<T, Allocato...
function from_json (line 1351) | void from_json(const BasicJsonType& j, std::valarray<T>& l)
function from_json_array_impl (line 1362) | void from_json_array_impl(const BasicJsonType& j, typename BasicJson...
function from_json_array_impl (line 1368) | auto from_json_array_impl(const BasicJsonType& j, std::array<T, N>& ...
function from_json_array_impl (line 1379) | auto from_json_array_impl(const BasicJsonType& j, ConstructibleArray...
function from_json_array_impl (line 1398) | void from_json_array_impl(const BasicJsonType& j, ConstructibleArray...
function from_json (line 1421) | auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr)
function from_json (line 1437) | void from_json(const BasicJsonType& j, ConstructibleObjectType& obj)
function from_json (line 1467) | void from_json(const BasicJsonType& j, ArithmeticType& val)
function from_json (line 1498) | void from_json(const BasicJsonType& j, std::pair<A1, A2>& p)
function from_json_tuple_impl (line 1504) | void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_se...
function from_json (line 1510) | void from_json(const BasicJsonType& j, std::tuple<Args...>& t)
function from_json (line 1518) | void from_json(const BasicJsonType& j, std::map<Key, Value, Compare,...
function from_json (line 1537) | void from_json(const BasicJsonType& j, std::unordered_map<Key, Value...
type from_json_fn (line 1553) | struct from_json_fn
class iteration_proxy (line 1606) | class iteration_proxy
class iteration_proxy_internal (line 1610) | class iteration_proxy_internal
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
method iteration_proxy (line 1701) | explicit iteration_proxy(typename IteratorType::reference cont) no...
method iteration_proxy_internal (line 1705) | iteration_proxy_internal begin() noexcept
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
method iteration_proxy_internal (line 1711) | iteration_proxy_internal end() noexcept
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
type external_constructor (line 1728) | struct external_constructor
type external_constructor<value_t::boolean> (line 1731) | struct external_constructor<value_t::boolean>
method construct (line 1734) | static void construct(BasicJsonType& j, typename BasicJsonType::bo...
type external_constructor<value_t::string> (line 1743) | struct external_constructor<value_t::string>
method construct (line 1746) | static void construct(BasicJsonType& j, const typename BasicJsonTy...
method construct (line 1754) | static void construct(BasicJsonType& j, typename BasicJsonType::st...
method construct (line 1764) | static void construct(BasicJsonType& j, const CompatibleStringType...
type external_constructor<value_t::number_float> (line 1773) | struct external_constructor<value_t::number_float>
method construct (line 1776) | static void construct(BasicJsonType& j, typename BasicJsonType::nu...
type external_constructor<value_t::number_unsigned> (line 1785) | struct external_constructor<value_t::number_unsigned>
method construct (line 1788) | static void construct(BasicJsonType& j, typename BasicJsonType::nu...
type external_constructor<value_t::number_integer> (line 1797) | struct external_constructor<value_t::number_integer>
method construct (line 1800) | static void construct(BasicJsonType& j, typename BasicJsonType::nu...
type external_constructor<value_t::array> (line 1809) | struct external_constructor<value_t::array>
method construct (line 1812) | static void construct(BasicJsonType& j, const typename BasicJsonTy...
method construct (line 1820) | static void construct(BasicJsonType& j, typename BasicJsonType::ar...
method construct (line 1830) | static void construct(BasicJsonType& j, const CompatibleArrayType&...
method construct (line 1840) | static void construct(BasicJsonType& j, const std::vector<bool>& arr)
method construct (line 1854) | static void construct(BasicJsonType& j, const std::valarray<T>& arr)
type external_constructor<value_t::object> (line 1865) | struct external_constructor<value_t::object>
method construct (line 1868) | static void construct(BasicJsonType& j, const typename BasicJsonTy...
method construct (line 1876) | static void construct(BasicJsonType& j, typename BasicJsonType::ob...
method construct (line 1885) | static void construct(BasicJsonType& j, const CompatibleObjectType...
function to_json (line 1902) | void to_json(BasicJsonType& j, T b) noexcept
function to_json (line 1909) | void to_json(BasicJsonType& j, const CompatibleString& s)
function to_json (line 1915) | void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
function to_json (line 1922) | void to_json(BasicJsonType& j, FloatType val) noexcept
function to_json (line 1929) | void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noe...
function to_json (line 1936) | void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noex...
function to_json (line 1943) | void to_json(BasicJsonType& j, EnumType e) noexcept
function to_json (line 1950) | void to_json(BasicJsonType& j, const std::vector<bool>& e)
function to_json (line 1963) | void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
function to_json (line 1970) | void to_json(BasicJsonType& j, const std::valarray<T>& arr)
function to_json (line 1976) | void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
function to_json (line 1983) | void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
function to_json (line 1989) | void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
function to_json (line 1999) | void to_json(BasicJsonType& j, const T (&arr)[N])
function to_json (line 2005) | void to_json(BasicJsonType& j, const std::pair<Args...>& p)
function to_json (line 2013) | void to_json(BasicJsonType& j, const T& b)
function to_json_tuple_impl (line 2019) | void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequ...
function to_json (line 2025) | void to_json(BasicJsonType& j, const std::tuple<Args...>& t)
type to_json_fn (line 2030) | struct to_json_fn
type input_format_t (line 2070) | enum class input_format_t { json, cbor, msgpack, ubjson, bson }
type input_adapter_protocol (line 2087) | struct input_adapter_protocol
class input_stream_adapter (line 2106) | class input_stream_adapter : public input_adapter_protocol
method input_stream_adapter (line 2116) | explicit input_stream_adapter(std::istream& i)
method input_stream_adapter (line 2121) | input_stream_adapter(const input_stream_adapter&) = delete;
method input_stream_adapter (line 2122) | input_stream_adapter& operator=(input_stream_adapter&) = delete;
method input_stream_adapter (line 2123) | input_stream_adapter(input_stream_adapter&&) = delete;
method input_stream_adapter (line 2124) | input_stream_adapter& operator=(input_stream_adapter&&) = delete;
method get_character (line 2129) | std::char_traits<char>::int_type get_character() override
class input_buffer_adapter (line 2141) | class input_buffer_adapter : public input_adapter_protocol
method input_buffer_adapter (line 2144) | input_buffer_adapter(const char* b, const std::size_t l) noexcept
method input_buffer_adapter (line 2149) | input_buffer_adapter(const input_buffer_adapter&) = delete;
method input_buffer_adapter (line 2150) | input_buffer_adapter& operator=(input_buffer_adapter&) = delete;
method input_buffer_adapter (line 2151) | input_buffer_adapter(input_buffer_adapter&&) = delete;
method input_buffer_adapter (line 2152) | input_buffer_adapter& operator=(input_buffer_adapter&&) = delete;
method get_character (line 2155) | std::char_traits<char>::int_type get_character() noexcept override
type wide_string_input_helper (line 2173) | struct wide_string_input_helper
method fill_buffer (line 2176) | static void fill_buffer(const WideStringType& str, size_t& current...
type wide_string_input_helper<WideStringType, 2> (line 2228) | struct wide_string_input_helper<WideStringType, 2>
method fill_buffer (line 2231) | static void fill_buffer(const WideStringType& str, size_t& current...
class wide_string_input_adapter (line 2289) | class wide_string_input_adapter : public input_adapter_protocol
method wide_string_input_adapter (line 2292) | explicit wide_string_input_adapter(const WideStringType& w) noexcept
method get_character (line 2296) | std::char_traits<char>::int_type get_character() noexcept override
method fill_buffer (line 2315) | void fill_buffer()
class input_adapter (line 2335) | class input_adapter
method input_adapter (line 2341) | input_adapter(std::istream& i)
method input_adapter (line 2345) | input_adapter(std::istream&& i)
method input_adapter (line 2348) | input_adapter(const std::wstring& ws)
method input_adapter (line 2351) | input_adapter(const std::u16string& ws)
method input_adapter (line 2354) | input_adapter(const std::u32string& ws)
method input_adapter (line 2364) | input_adapter(CharT b, std::size_t l)
method input_adapter (line 2376) | input_adapter(CharT b)
method input_adapter (line 2385) | input_adapter(IteratorType first, IteratorType last)
method input_adapter (line 2420) | input_adapter(T (&array)[N])
method input_adapter (line 2428) | input_adapter(const ContiguousContainer& c)
class lexer (line 2475) | class lexer
type token_type (line 2484) | enum class token_type
method lexer (line 2549) | explicit lexer(detail::input_adapter_t&& adapter)
method lexer (line 2553) | lexer(const lexer&) = delete;
method lexer (line 2554) | lexer(lexer&&) = delete;
method lexer (line 2555) | lexer& operator=(lexer&) = delete;
method lexer (line 2556) | lexer& operator=(lexer&&) = delete;
method get_decimal_point (line 2565) | static char get_decimal_point() noexcept
method get_codepoint (line 2591) | int get_codepoint()
method next_byte_in_range (line 2639) | bool next_byte_in_range(std::initializer_list<int> ranges)
method token_type (line 2676) | token_type scan_string()
method strtof (line 3262) | static void strtof(float& f, const char* str, char** endptr) noexcept
method strtof (line 3267) | static void strtof(double& f, const char* str, char** endptr) noex...
method strtof (line 3272) | static void strtof(long double& f, const char* str, char** endptr)...
method token_type (line 3317) | token_type scan_number() // lgtm [cpp/use-of-goto]
method token_type (line 3651) | token_type scan_literal(const char* literal_text, const std::size_...
method reset (line 3671) | void reset() noexcept
method get (line 3688) | std::char_traits<char>::int_type get()
method unget (line 3725) | void unget()
method add (line 3752) | void add(int c)
method number_integer_t (line 3763) | constexpr number_integer_t get_number_integer() const noexcept
method number_unsigned_t (line 3769) | constexpr number_unsigned_t get_number_unsigned() const noexcept
method number_float_t (line 3775) | constexpr number_float_t get_number_float() const noexcept
method string_t (line 3781) | string_t& get_string()
method position_t (line 3791) | constexpr position_t get_position() const noexcept
method get_token_string (line 3799) | std::string get_token_string() const
method skip_bom (line 3836) | bool skip_bom()
method token_type (line 3850) | token_type scan()
type is_sax (line 4030) | struct is_sax
type is_sax_static_asserts (line 4062) | struct is_sax_static_asserts
class json_sax_dom_parser (line 4260) | class json_sax_dom_parser
method json_sax_dom_parser (line 4273) | explicit json_sax_dom_parser(BasicJsonType& r, const bool allow_ex...
method null (line 4277) | bool null()
method boolean (line 4283) | bool boolean(bool val)
method number_integer (line 4289) | bool number_integer(number_integer_t val)
method number_unsigned (line 4295) | bool number_unsigned(number_unsigned_t val)
method number_float (line 4301) | bool number_float(number_float_t val, const string_t& /*unused*/)
method string (line 4307) | bool string(string_t& val)
method start_object (line 4313) | bool start_object(std::size_t len)
method key (line 4326) | bool key(string_t& val)
method end_object (line 4333) | bool end_object()
method start_array (line 4339) | bool start_array(std::size_t len)
method end_array (line 4352) | bool end_array()
method parse_error (line 4358) | bool parse_error(std::size_t /*unused*/, const std::string& /*unus...
method is_errored (line 4386) | constexpr bool is_errored() const
method BasicJsonType (line 4399) | BasicJsonType* handle_value(Value&& v)
class json_sax_dom_callback_parser (line 4435) | class json_sax_dom_callback_parser
method json_sax_dom_callback_parser (line 4445) | json_sax_dom_callback_parser(BasicJsonType& r,
method null (line 4453) | bool null()
method boolean (line 4459) | bool boolean(bool val)
method number_integer (line 4465) | bool number_integer(number_integer_t val)
method number_unsigned (line 4471) | bool number_unsigned(number_unsigned_t val)
method number_float (line 4477) | bool number_float(number_float_t val, const string_t& /*unused*/)
method string (line 4483) | bool string(string_t& val)
method start_object (line 4489) | bool start_object(std::size_t len)
method key (line 4511) | bool key(string_t& val)
method end_object (line 4528) | bool end_object()
method start_array (line 4563) | bool start_array(std::size_t len)
method end_array (line 4584) | bool end_array()
method parse_error (line 4615) | bool parse_error(std::size_t /*unused*/, const std::string& /*unus...
method is_errored (line 4643) | constexpr bool is_errored() const
method handle_value (line 4665) | std::pair<bool, BasicJsonType*> handle_value(Value&& v, const bool...
class json_sax_acceptor (line 4748) | class json_sax_acceptor
method null (line 4756) | bool null()
method boolean (line 4761) | bool boolean(bool /*unused*/)
method number_integer (line 4766) | bool number_integer(number_integer_t /*unused*/)
method number_unsigned (line 4771) | bool number_unsigned(number_unsigned_t /*unused*/)
method number_float (line 4776) | bool number_float(number_float_t /*unused*/, const string_t& /*unu...
method string (line 4781) | bool string(string_t& /*unused*/)
method start_object (line 4786) | bool start_object(std::size_t /*unused*/ = std::size_t(-1))
method key (line 4791) | bool key(string_t& /*unused*/)
method end_object (line 4796) | bool end_object()
method start_array (line 4801) | bool start_array(std::size_t /*unused*/ = std::size_t(-1))
method end_array (line 4806) | bool end_array()
method parse_error (line 4811) | bool parse_error(std::size_t /*unused*/, const std::string& /*unus...
class parser (line 4839) | class parser
type parse_event_t (line 4849) | enum class parse_event_t : uint8_t
method parser (line 4869) | explicit parser(detail::input_adapter_t&& adapter,
method parse (line 4888) | void parse(const bool strict, BasicJsonType& result)
method accept (line 4949) | bool accept(const bool strict = true)
method sax_parse (line 4956) | bool sax_parse(SAX* sax, const bool strict = true)
method sax_parse_internal (line 4975) | bool sax_parse_internal(SAX* sax)
method token_type (line 5266) | token_type get_token()
method exception_message (line 5271) | std::string exception_message(const token_type expected, const std...
class primitive_iterator_t (line 5332) | class primitive_iterator_t
method difference_type (line 5343) | constexpr difference_type get_value() const noexcept
method set_begin (line 5349) | void set_begin() noexcept
method set_end (line 5355) | void set_end() noexcept
method is_begin (line 5361) | constexpr bool is_begin() const noexcept
method is_end (line 5367) | constexpr bool is_end() const noexcept
method primitive_iterator_t (line 5382) | primitive_iterator_t operator+(difference_type n) noexcept
method difference_type (line 5389) | constexpr difference_type operator-(primitive_iterator_t lhs, prim...
method primitive_iterator_t (line 5394) | primitive_iterator_t& operator++() noexcept
method primitive_iterator_t (line 5400) | primitive_iterator_t const operator++(int) noexcept
method primitive_iterator_t (line 5407) | primitive_iterator_t& operator--() noexcept
method primitive_iterator_t (line 5413) | primitive_iterator_t const operator--(int) noexcept
method primitive_iterator_t (line 5420) | primitive_iterator_t& operator+=(difference_type n) noexcept
method primitive_iterator_t (line 5426) | primitive_iterator_t& operator-=(difference_type n) noexcept
type internal_iterator (line 5451) | struct internal_iterator
class iteration_proxy (line 5488) | class iteration_proxy
class iteration_proxy_internal (line 1610) | class iteration_proxy_internal
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
method iteration_proxy (line 1701) | explicit iteration_proxy(typename IteratorType::reference cont) no...
method iteration_proxy_internal (line 1705) | iteration_proxy_internal begin() noexcept
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
method iteration_proxy_internal (line 1711) | iteration_proxy_internal end() noexcept
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
class iter_impl (line 5511) | class iter_impl
method iter_impl (line 5548) | iter_impl() = default;
method iter_impl (line 5556) | explicit iter_impl(pointer object) noexcept : m_object(object)
method iter_impl (line 5596) | iter_impl(const iter_impl<typename std::remove_const<BasicJsonType...
method iter_impl (line 5605) | iter_impl& operator=(const iter_impl<typename std::remove_const<Ba...
method set_begin (line 5617) | void set_begin() noexcept
method set_end (line 5654) | void set_end() noexcept
method reference (line 5685) | reference operator*() const
method pointer (line 5722) | pointer operator->() const
method iter_impl (line 5756) | iter_impl const operator++(int)
method iter_impl (line 5767) | iter_impl& operator++()
method iter_impl (line 5799) | iter_impl const operator--(int)
method iter_impl (line 5810) | iter_impl& operator--()
method iter_impl (line 5932) | iter_impl& operator+=(difference_type i)
method iter_impl (line 5961) | iter_impl& operator-=(difference_type i)
method iter_impl (line 5970) | iter_impl operator+(difference_type i) const
method iter_impl (line 5981) | iter_impl operator+(difference_type i, const iter_impl& it)
method iter_impl (line 5992) | iter_impl operator-(difference_type i) const
method difference_type (line 6003) | difference_type operator-(const iter_impl& other) const
method reference (line 6024) | reference operator[](difference_type n) const
method reference (line 6071) | reference value() const
class json_reverse_iterator (line 6121) | class json_reverse_iterator : public std::reverse_iterator<Base>
method json_reverse_iterator (line 6131) | explicit json_reverse_iterator(const typename base_iterator::itera...
method json_reverse_iterator (line 6135) | explicit json_reverse_iterator(const base_iterator& it) noexcept :...
method json_reverse_iterator (line 6138) | json_reverse_iterator const operator++(int)
method json_reverse_iterator (line 6144) | json_reverse_iterator& operator++()
method json_reverse_iterator (line 6150) | json_reverse_iterator const operator--(int)
method json_reverse_iterator (line 6156) | json_reverse_iterator& operator--()
method json_reverse_iterator (line 6162) | json_reverse_iterator& operator+=(difference_type i)
method json_reverse_iterator (line 6168) | json_reverse_iterator operator+(difference_type i) const
method json_reverse_iterator (line 6174) | json_reverse_iterator operator-(difference_type i) const
method difference_type (line 6180) | difference_type operator-(const json_reverse_iterator& other) const
method reference (line 6186) | reference operator[](difference_type n) const
method key (line 6192) | auto key() const -> decltype(std::declval<Base>().key())
method reference (line 6199) | reference value() const
type output_adapter_protocol (line 6225) | struct output_adapter_protocol
class output_vector_adapter (line 6238) | class output_vector_adapter : public output_adapter_protocol<CharType>
method output_vector_adapter (line 6241) | explicit output_vector_adapter(std::vector<CharType>& vec) noexcept
method write_character (line 6245) | void write_character(CharType c) override
method write_characters (line 6250) | void write_characters(const CharType* s, std::size_t length) override
class output_stream_adapter (line 6261) | class output_stream_adapter : public output_adapter_protocol<CharType>
method output_stream_adapter (line 6264) | explicit output_stream_adapter(std::basic_ostream<CharType>& s) no...
method write_character (line 6268) | void write_character(CharType c) override
method write_characters (line 6273) | void write_characters(const CharType* s, std::size_t length) override
class output_string_adapter (line 6284) | class output_string_adapter : public output_adapter_protocol<CharType>
method output_string_adapter (line 6287) | explicit output_string_adapter(StringType& s) noexcept
method write_character (line 6291) | void write_character(CharType c) override
method write_characters (line 6296) | void write_characters(const CharType* s, std::size_t length) override
class output_adapter (line 6306) | class output_adapter
method output_adapter (line 6309) | output_adapter(std::vector<CharType>& vec)
method output_adapter (line 6312) | output_adapter(std::basic_ostream<CharType>& s)
method output_adapter (line 6315) | output_adapter(StringType& s)
class binary_reader (line 6370) | class binary_reader
method binary_reader (line 6384) | explicit binary_reader(input_adapter_t adapter) : ia(std::move(ada...
method sax_parse (line 6397) | bool sax_parse(const input_format_t format,
method little_endianess (line 6457) | static constexpr bool little_endianess(int num = 1) noexcept
method parse_bson_internal (line 6471) | bool parse_bson_internal()
method get_bson_cstr (line 6496) | bool get_bson_cstr(string_t& result)
method get_bson_string (line 6528) | bool get_bson_string(const NumberType len, string_t& result)
method parse_bson_element_internal (line 6549) | bool parse_bson_element_internal(const int element_type,
method parse_bson_element_list (line 6620) | bool parse_bson_element_list(const bool is_array)
method parse_bson_array (line 6657) | bool parse_bson_array()
method parse_cbor_internal (line 6686) | bool parse_cbor_internal(const bool get_char = true)
method get_cbor_string (line 7028) | bool get_cbor_string(string_t& result)
method get_cbor_array (line 7117) | bool get_cbor_array(const std::size_t len)
method get_cbor_object (line 7153) | bool get_cbor_object(const std::size_t len)
method parse_msgpack_internal (line 7205) | bool parse_msgpack_internal()
method get_msgpack_string (line 7574) | bool get_msgpack_string(string_t& result)
method get_msgpack_array (line 7650) | bool get_msgpack_array(const std::size_t len)
method get_msgpack_object (line 7672) | bool get_msgpack_object(const std::size_t len)
method parse_ubjson_internal (line 7709) | bool parse_ubjson_internal(const bool get_char = true)
method get_ubjson_string (line 7728) | bool get_ubjson_string(string_t& result, const bool get_char = true)
method get_ubjson_size_value (line 7782) | bool get_ubjson_size_value(std::size_t& result)
method get_ubjson_size_type (line 7859) | bool get_ubjson_size_type(std::pair<std::size_t, int>& result)
method get_ubjson_value (line 7898) | bool get_ubjson_value(const int prefix)
method get_ubjson_array (line 7994) | bool get_ubjson_array()
method get_ubjson_object (line 8056) | bool get_ubjson_object()
method get (line 8141) | int get()
method get_ignore_noop (line 8150) | int get_ignore_noop()
method get_number (line 8175) | bool get_number(const input_format_t format, NumberType& result)
method get_string (line 8218) | bool get_string(const input_format_t format,
method unexpect_eof (line 8240) | bool unexpect_eof(const input_format_t format, const char* context...
method get_token_string (line 8253) | std::string get_token_string() const
method exception_message (line 8266) | std::string exception_message(const input_format_t format,
class binary_writer (line 8344) | class binary_writer
method binary_writer (line 8354) | explicit binary_writer(output_adapter_t<CharType> adapter) : oa(ad...
method write_bson (line 8363) | void write_bson(const BasicJsonType& j)
method write_cbor (line 8383) | void write_cbor(const BasicJsonType& j)
method write_msgpack (line 8627) | void write_msgpack(const BasicJsonType& j)
method write_ubjson (line 8869) | void write_ubjson(const BasicJsonType& j, const bool use_count,
method calc_bson_entry_header_size (line 9033) | static std::size_t calc_bson_entry_header_size(const string_t& name)
method write_bson_entry_header (line 9048) | void write_bson_entry_header(const string_t& name,
method write_bson_boolean (line 9060) | void write_bson_boolean(const string_t& name,
method write_bson_double (line 9070) | void write_bson_double(const string_t& name,
method calc_bson_string_size (line 9080) | static std::size_t calc_bson_string_size(const string_t& value)
method write_bson_string (line 9088) | void write_bson_string(const string_t& name,
method write_bson_null (line 9102) | void write_bson_null(const string_t& name)
method calc_bson_integer_size (line 9110) | static std::size_t calc_bson_integer_size(const std::int64_t value)
method write_bson_integer (line 9125) | void write_bson_integer(const string_t& name,
method calc_bson_unsigned_size (line 9143) | static constexpr std::size_t calc_bson_unsigned_size(const std::ui...
method write_bson_unsigned (line 9153) | void write_bson_unsigned(const string_t& name,
method write_bson_object_entry (line 9175) | void write_bson_object_entry(const string_t& name,
method calc_bson_array_size (line 9185) | static std::size_t calc_bson_array_size(const typename BasicJsonTy...
method write_bson_array (line 9201) | void write_bson_array(const string_t& name,
method calc_bson_element_size (line 9221) | static std::size_t calc_bson_element_size(const string_t& name,
method write_bson_element (line 9266) | void write_bson_element(const string_t& name,
method calc_bson_object_size (line 9309) | static std::size_t calc_bson_object_size(const typename BasicJsonT...
method write_bson_object (line 9324) | void write_bson_object(const typename BasicJsonType::object_t& value)
method CharType (line 9340) | static constexpr CharType get_cbor_float_prefix(float /*unused*/)
method CharType (line 9345) | static constexpr CharType get_cbor_float_prefix(double /*unused*/)
method CharType (line 9354) | static constexpr CharType get_msgpack_float_prefix(float /*unused*/)
method CharType (line 9359) | static constexpr CharType get_msgpack_float_prefix(double /*unused*/)
method write_number_with_ubjson_prefix (line 9371) | void write_number_with_ubjson_prefix(const NumberType n,
method write_number_with_ubjson_prefix (line 9384) | void write_number_with_ubjson_prefix(const NumberType n,
method write_number_with_ubjson_prefix (line 9437) | void write_number_with_ubjson_prefix(const NumberType n,
method CharType (line 9497) | CharType ubjson_prefix(const BasicJsonType& j) const noexcept
method CharType (line 9568) | static constexpr CharType get_ubjson_float_prefix(float /*unused*/)
method CharType (line 9573) | static constexpr CharType get_ubjson_float_prefix(double /*unused*/)
method write_number (line 9594) | void write_number(const NumberType n)
method CharType (line 9617) | static constexpr CharType to_char_type(std::uint8_t x) noexcept
method CharType (line 9624) | static CharType to_char_type(std::uint8_t x) noexcept
method CharType (line 9635) | static constexpr CharType to_char_type(std::uint8_t x) noexcept
method CharType (line 9646) | static constexpr CharType to_char_type(InputCharType x) noexcept
type dtoa_impl (line 9712) | namespace dtoa_impl
function Target (line 9716) | Target reinterpret_bits(const Source source)
type diyfp (line 9725) | struct diyfp // f * 2^e
method diyfp (line 9732) | constexpr diyfp(uint64_t f_, int e_) noexcept : f(f_), e(e_) {}
method diyfp (line 9738) | static diyfp sub(const diyfp& x, const diyfp& y) noexcept
method diyfp (line 9750) | static diyfp mul(const diyfp& x, const diyfp& y) noexcept
method diyfp (line 9815) | static diyfp normalize(diyfp x) noexcept
method diyfp (line 9832) | static diyfp normalize_to(const diyfp& x, const int target_expon...
type boundaries (line 9843) | struct boundaries
function boundaries (line 9857) | boundaries compute_boundaries(FloatType value)
type cached_power (line 9982) | struct cached_power // c = f * 2^e ~= 10^k
function cached_power (line 9996) | inline cached_power get_cached_power_for_binary_exponent(int e)
function find_largest_pow10 (line 10160) | inline int find_largest_pow10(const uint32_t n, uint32_t& pow10)
function grisu2_round (line 10216) | inline void grisu2_round(char* buf, int len, uint64_t dist, uint64...
function grisu2_digit_gen (line 10257) | inline void grisu2_digit_gen(char* buffer, int& length, int& decim...
function grisu2 (line 10497) | inline void grisu2(char* buf, int& len, int& decimal_exponent,
function grisu2 (line 10556) | void grisu2(char* buf, int& len, int& decimal_exponent, FloatType ...
type error_handler_t (line 10795) | enum class error_handler_t
class serializer (line 10803) | class serializer
method serializer (line 10818) | serializer(output_adapter_t<char> s, const char ichar,
method serializer (line 10830) | serializer(const serializer&) = delete;
method serializer (line 10831) | serializer& operator=(const serializer&) = delete;
method serializer (line 10832) | serializer(serializer&&) = delete;
method serializer (line 10833) | serializer& operator=(serializer&&) = delete;
method dump (line 10853) | void dump(const BasicJsonType& val, const bool pretty_print,
method dump_escaped (line 11060) | void dump_escaped(const string_t& s, const bool ensure_ascii)
method dump_integer (line 11305) | void dump_integer(NumberType x)
method dump_float (line 11346) | void dump_float(number_float_t x)
method dump_float (line 11367) | void dump_float(number_float_t x, std::true_type /*is_ieee_single_...
method dump_float (line 11375) | void dump_float(number_float_t x, std::false_type /*is_ieee_single...
method decode (line 11445) | static uint8_t decode(uint8_t& state, uint32_t& codep, const uint8...
class json_ref (line 11519) | class json_ref
method json_ref (line 11524) | json_ref(value_type&& value)
method json_ref (line 11528) | json_ref(const value_type& value)
method json_ref (line 11532) | json_ref(std::initializer_list<json_ref> init)
method json_ref (line 11539) | json_ref(Args && ... args)
method json_ref (line 11544) | json_ref(json_ref&&) = default;
method json_ref (line 11545) | json_ref(const json_ref&) = delete;
method json_ref (line 11546) | json_ref& operator=(const json_ref&) = delete;
method json_ref (line 11547) | json_ref& operator=(json_ref&&) = delete;
method value_type (line 11550) | value_type moved_or_copied() const
method value_type (line 11559) | value_type const& operator*() const
method value_type (line 11564) | value_type const* operator->() const
type detail (line 414) | namespace detail
type index_sequence (line 273) | struct index_sequence
method size (line 277) | static constexpr std::size_t size() noexcept
type merge_and_renumber (line 284) | struct merge_and_renumber
type make_index_sequence (line 291) | struct make_index_sequence
type make_index_sequence<0> (line 295) | struct make_index_sequence<0> : index_sequence<> {}
type make_index_sequence<1> (line 296) | struct make_index_sequence<1> : index_sequence<0> {}
type priority_tag (line 302) | struct priority_tag : priority_tag < N - 1 > {}
type priority_tag<0> (line 303) | struct priority_tag<0> {}
type static_const (line 307) | struct static_const
type make_void (line 341) | struct make_void
type nonesuch (line 355) | struct nonesuch
method nonesuch (line 357) | nonesuch() = delete;
method nonesuch (line 359) | nonesuch(nonesuch const&) = delete;
type detector (line 367) | struct detector
type is_basic_json (line 429) | struct is_basic_json : std::false_type {}
type has_from_json (line 473) | struct has_from_json : std::false_type {}
type has_from_json<BasicJsonType, T,
enable_if_t<not is_basic_json<T>::value>> (line 476) | struct has_from_json<BasicJsonType, T,
type has_non_default_from_json (line 489) | struct has_non_default_from_json : std::false_type {}
type has_non_default_from_json<BasicJsonType, T, enable_if_t<not is_basic_json<T>::value>> (line 492) | struct has_non_default_from_json<BasicJsonType, T, enable_if_t<not i...
type has_to_json (line 504) | struct has_to_json : std::false_type {}
type has_to_json<BasicJsonType, T, enable_if_t<not is_basic_json<T>::value>> (line 507) | struct has_to_json<BasicJsonType, T, enable_if_t<not is_basic_json<T...
type is_iterator_traits (line 522) | struct is_iterator_traits : std::false_type {}
type is_iterator_traits<std::iterator_traits<T>> (line 525) | struct is_iterator_traits<std::iterator_traits<T>>
type is_complete_type (line 542) | struct is_complete_type : std::false_type {}
type is_complete_type<T, decltype(void(sizeof(T)))> (line 545) | struct is_complete_type<T, decltype(void(sizeof(T)))> : std::true_ty...
type is_compatible_object_type_impl (line 549) | struct is_compatible_object_type_impl : std::false_type {}
type is_compatible_object_type_impl <
BasicJsonType, CompatibleObjectType,
enable_if_t<is_detected<mapped_type_t, CompatibleObjectType>::value and
is_detected<key_type_t, CompatibleObjectType>::value >> (line 552) | struct is_compatible_object_type_impl <
type is_compatible_object_type (line 569) | struct is_compatible_object_type
type is_constructible_object_type_impl (line 574) | struct is_constructible_object_type_impl : std::false_type {}
type is_constructible_object_type_impl <
BasicJsonType, ConstructibleObjectType,
enable_if_t<is_detected<mapped_type_t, ConstructibleObjectType>::value and
is_detected<key_type_t, ConstructibleObjectType>::value >> (line 577) | struct is_constructible_object_type_impl <
type is_constructible_object_type (line 592) | struct is_constructible_object_type
type is_compatible_string_type_impl (line 598) | struct is_compatible_string_type_impl : std::false_type {}
type is_compatible_string_type_impl <
BasicJsonType, CompatibleStringType,
enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
value_type_t, CompatibleStringType>::value >> (line 601) | struct is_compatible_string_type_impl <
type is_compatible_string_type (line 611) | struct is_compatible_string_type
type is_constructible_string_type_impl (line 616) | struct is_constructible_string_type_impl : std::false_type {}
type is_constructible_string_type_impl <
BasicJsonType, ConstructibleStringType,
enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
value_type_t, ConstructibleStringType>::value >> (line 619) | struct is_constructible_string_type_impl <
type is_constructible_string_type (line 630) | struct is_constructible_string_type
type is_compatible_array_type_impl (line 634) | struct is_compatible_array_type_impl : std::false_type {}
type is_compatible_array_type (line 653) | struct is_compatible_array_type
type is_constructible_array_type_impl (line 657) | struct is_constructible_array_type_impl : std::false_type {}
type is_constructible_array_type_impl <
BasicJsonType, ConstructibleArrayType,
enable_if_t<std::is_same<ConstructibleArrayType,
typename BasicJsonType::value_type>::value >> (line 660) | struct is_constructible_array_type_impl <
type is_constructible_array_type_impl <
BasicJsonType, ConstructibleArrayType,
enable_if_t<not std::is_same<ConstructibleArrayType,
typename BasicJsonType::value_type>::value and
is_detected<value_type_t, ConstructibleArrayType>::value and
is_detected<iterator_t, ConstructibleArrayType>::value and
is_complete_type<
detected_t<value_type_t, ConstructibleArrayType>>::value >> (line 667) | struct is_constructible_array_type_impl <
type is_constructible_array_type (line 692) | struct is_constructible_array_type
type is_compatible_integer_type_impl (line 697) | struct is_compatible_integer_type_impl : std::false_type {}
type is_compatible_integer_type_impl <
RealIntegerType, CompatibleNumberIntegerType,
enable_if_t<std::is_integral<RealIntegerType>::value and
std::is_integral<CompatibleNumberIntegerType>::value and
not std::is_same<bool, CompatibleNumberIntegerType>::value >> (line 700) | struct is_compatible_integer_type_impl <
type is_compatible_integer_type (line 718) | struct is_compatible_integer_type
type is_compatible_type_impl (line 723) | struct is_compatible_type_impl: std::false_type {}
type is_compatible_type_impl <
BasicJsonType, CompatibleType,
enable_if_t<is_complete_type<CompatibleType>::value >> (line 726) | struct is_compatible_type_impl <
type is_compatible_type (line 735) | struct is_compatible_type
type position_t (line 757) | struct position_t
class exception (line 813) | class exception : public std::exception
method exception (line 826) | exception(int id_, const char* what_arg) : id(id_), m(what_arg) {}
method name (line 828) | static std::string name(const std::string& ename, int id_)
class parse_error (line 882) | class parse_error : public exception
method parse_error (line 894) | static parse_error create(int id_, const position_t& pos, const st...
method parse_error (line 901) | static parse_error create(int id_, std::size_t byte_, const std::s...
method parse_error (line 921) | parse_error(int id_, std::size_t byte_, const char* what_arg)
method position_string (line 924) | static std::string position_string(const position_t& pos)
class invalid_iterator (line 968) | class invalid_iterator : public exception
method invalid_iterator (line 971) | static invalid_iterator create(int id_, const std::string& what_arg)
method invalid_iterator (line 978) | invalid_iterator(int id_, const char* what_arg)
class type_error (line 1021) | class type_error : public exception
method type_error (line 1024) | static type_error create(int id_, const std::string& what_arg)
method type_error (line 1031) | type_error(int id_, const char* what_arg) : exception(id_, what_ar...
class out_of_range (line 1067) | class out_of_range : public exception
method out_of_range (line 1070) | static out_of_range create(int id_, const std::string& what_arg)
method out_of_range (line 1077) | out_of_range(int id_, const char* what_arg) : exception(id_, what_...
class other_error (line 1104) | class other_error : public exception
method other_error (line 1107) | static other_error create(int id_, const std::string& what_arg)
method other_error (line 1114) | other_error(int id_, const char* what_arg) : exception(id_, what_a...
type value_t (line 1159) | enum class value_t : std::uint8_t
function from_json (line 1229) | void from_json(const BasicJsonType& j, typename std::nullptr_t& n)
function get_arithmetic_value (line 1243) | void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
function from_json (line 1269) | void from_json(const BasicJsonType& j, typename BasicJsonType::boole...
function from_json (line 1279) | void from_json(const BasicJsonType& j, typename BasicJsonType::strin...
function from_json (line 1295) | void from_json(const BasicJsonType& j, ConstructibleStringType& s)
function from_json (line 1306) | void from_json(const BasicJsonType& j, typename BasicJsonType::numbe...
function from_json (line 1312) | void from_json(const BasicJsonType& j, typename BasicJsonType::numbe...
function from_json (line 1318) | void from_json(const BasicJsonType& j, typename BasicJsonType::numbe...
function from_json (line 1325) | void from_json(const BasicJsonType& j, EnumType& e)
function from_json (line 1335) | void from_json(const BasicJsonType& j, std::forward_list<T, Allocato...
function from_json (line 1351) | void from_json(const BasicJsonType& j, std::valarray<T>& l)
function from_json_array_impl (line 1362) | void from_json_array_impl(const BasicJsonType& j, typename BasicJson...
function from_json_array_impl (line 1368) | auto from_json_array_impl(const BasicJsonType& j, std::array<T, N>& ...
function from_json_array_impl (line 1379) | auto from_json_array_impl(const BasicJsonType& j, ConstructibleArray...
function from_json_array_impl (line 1398) | void from_json_array_impl(const BasicJsonType& j, ConstructibleArray...
function from_json (line 1421) | auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr)
function from_json (line 1437) | void from_json(const BasicJsonType& j, ConstructibleObjectType& obj)
function from_json (line 1467) | void from_json(const BasicJsonType& j, ArithmeticType& val)
function from_json (line 1498) | void from_json(const BasicJsonType& j, std::pair<A1, A2>& p)
function from_json_tuple_impl (line 1504) | void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_se...
function from_json (line 1510) | void from_json(const BasicJsonType& j, std::tuple<Args...>& t)
function from_json (line 1518) | void from_json(const BasicJsonType& j, std::map<Key, Value, Compare,...
function from_json (line 1537) | void from_json(const BasicJsonType& j, std::unordered_map<Key, Value...
type from_json_fn (line 1553) | struct from_json_fn
class iteration_proxy (line 1606) | class iteration_proxy
class iteration_proxy_internal (line 1610) | class iteration_proxy_internal
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
method iteration_proxy (line 1701) | explicit iteration_proxy(typename IteratorType::reference cont) no...
method iteration_proxy_internal (line 1705) | iteration_proxy_internal begin() noexcept
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
method iteration_proxy_internal (line 1711) | iteration_proxy_internal end() noexcept
method iteration_proxy_internal (line 1632) | explicit iteration_proxy_internal(IteratorType it) noexcept : an...
method iteration_proxy_internal (line 1635) | iteration_proxy_internal& operator*()
method iteration_proxy_internal (line 1641) | iteration_proxy_internal& operator++()
method value (line 1690) | typename IteratorType::reference value() const
type external_constructor (line 1728) | struct external_constructor
type external_constructor<value_t::boolean> (line 1731) | struct external_constructor<value_t::boolean>
method construct (line 1734) | static void construct(BasicJsonType& j, typename BasicJsonType::bo...
type external_constructor<value_t::string> (line 1743) | struct external_constructor<value_t::string>
method construct (line 1746) | static void construct(BasicJsonType& j, const typename BasicJsonTy...
method construct (line 1754) | static void construct(BasicJsonType& j, typename BasicJsonType::st...
method construct (line 1764) | static void construct(BasicJsonType& j, const CompatibleStringType...
type external_constructor<value_t::number_float> (line 1773) | struct external_constructor<value_t::number_float>
method construct (line 1776) | static void construct(BasicJsonType& j, typename BasicJsonType::nu...
type external_constructor<value_t::number_unsigned> (line 1785) | struct external_constructor<value_t::number_unsigned>
method construct (line 1788) | static void construct(BasicJsonType& j, typename BasicJsonType::nu...
type external_constructor<value_t::number_integer> (line 1797) | struct external_constructor<value_t::number_integer>
method construct (line 1800) | static void construct(BasicJsonType& j, typename BasicJsonType::nu...
type external_constructor<value_t::array> (line 1809) | struct external_constructor<value_t::array>
method construct (line 1812) | static void construct(BasicJsonType& j, const typename BasicJsonTy...
method construct (line 1820) | static void construct(BasicJsonType& j, typename BasicJsonType::ar...
method construct (line 1830) | static void construct(BasicJsonType& j, const CompatibleArrayType&...
method construct (line 1840) | static void construct(BasicJsonType& j, const std::vector<bool>& arr)
method construct (line 1854) | static void construct(BasicJsonType& j, const std::valarray<T>& arr)
type external_constructor<value_t::object> (line 1865) | struct external_constructor<value_t::object>
method construct (line 1868) | static void construct(BasicJsonType& j, const typename BasicJsonTy...
method construct (line 1876) | static void construct(BasicJsonType& j, typename BasicJsonType::ob...
method construct (line 1885) | static void construct(BasicJsonType& j, const CompatibleObjectType...
function to_json (line 1902) | void to_json(BasicJsonType& j, T b) noexcept
function to_json (line 1909) | void to_json(BasicJsonType& j, const CompatibleString& s)
function to_json (line 1915) | void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
function to_json (line 1922) | void to_json(BasicJsonType& j, FloatType val) noexcept
function to_json (line 1929) | void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noe...
function to_json (line 1936) | void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noex...
function to_json (line 1943) | void to_json(BasicJsonType& j, EnumType e) noexcept
function to_json (line 1950) | void to_json(BasicJsonType& j, const std::vector<bool>& e)
function to_json (line 1963) | void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
f
Copy disabled (too large)
Download .json
Condensed preview — 12932 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (109,461K chars).
[
{
"path": ".clang-format",
"chars": 5082,
"preview": "---\nLanguage: Cpp\n# BasedOnStyle: LLVM\nInsertBraces: true\nSeparateDefinitionBlocks: Always\nAccessModifierOffset:"
},
{
"path": ".github/ISSUE_TEMPLATE/bug_report.md",
"chars": 555,
"preview": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Describe the b"
},
{
"path": ".github/ISSUE_TEMPLATE/feature_request.md",
"chars": 458,
"preview": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Is your fea"
},
{
"path": ".github/workflows/ci.yml",
"chars": 7754,
"preview": "name: CI\n\non:\n # allows us to run workflows manually\n workflow_dispatch:\n\n push:\n branches:\n - master \n\nenv:\n"
},
{
"path": ".gitignore",
"chars": 92,
"preview": "build/\n*.tgz\n.vscode/\n*.swp\n*.swp\n*.log\n*.nek5000\n*.f?????\n*.bp\n*.vtu\nlogfile\n*.dat\n.cache/\n"
},
{
"path": "3rd_party/.gitignore",
"chars": 10,
"preview": "plugins/*\n"
},
{
"path": "3rd_party/adios/.circleci/config.yml",
"chars": 1322,
"preview": "defaults: &defaults\n steps:\n - checkout:\n path: source\n - run:\n # https://discuss.circleci.com/t/ci"
},
{
"path": "3rd_party/adios/.clang-format",
"chars": 792,
"preview": "Language: Cpp\nBasedOnStyle: LLVM\nBreakBeforeBraces: Custom\nConstructorInitializerIndentWidth: 0\nIndentWidth: 4\nConti"
},
{
"path": "3rd_party/adios/.clang-tidy",
"chars": 302,
"preview": "Checks: -*,cppcoreguidelines-*,google-*,llvm-*,misc-*,modernize-*,performance-*,-cppcoreguidelines-pro-type-vararg,-cppc"
},
{
"path": "3rd_party/adios/.e4s/e4s.yaml",
"chars": 319,
"preview": "- e4s_product: adios2\n version: 0.1.0\n website: https://github.com/ornladios/adios2\n docs: [ReadMe.md, LICENSE]\n spa"
},
{
"path": "3rd_party/adios/.gitattributes",
"chars": 591,
"preview": "# Set the default behavior, in case people don't have core.autocrlf set.\n* text=auto\n\n# Explicitly declare text fi"
},
{
"path": "3rd_party/adios/.github/ISSUE_TEMPLATE/bug_report.md",
"chars": 990,
"preview": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\nWe ask the commu"
},
{
"path": "3rd_party/adios/.github/ISSUE_TEMPLATE/feature_request.md",
"chars": 773,
"preview": "---\nname: Feature request\nabout: Propose a new feature\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\nRemember to motivate and"
},
{
"path": "3rd_party/adios/.github/ISSUE_TEMPLATE/new_release.md",
"chars": 2666,
"preview": "<!--\n Replace the following vars with its corresponding values:\n - @VERSION@ (example 2.9.0)\n - @MAJOR@ (example 2)\n "
},
{
"path": "3rd_party/adios/.github/actions/save-context-artifacts/action.yml",
"chars": 1325,
"preview": "name: Upload Contexts\ndescription: Dump GitHub Action CI contexts and upload as artifacts\nruns:\n using: composite\n ste"
},
{
"path": "3rd_party/adios/.github/workflows/everything.yml",
"chars": 18843,
"preview": "#######################################\n# Ideally this would be done in seperate workflows but placing them all\n# in one"
},
{
"path": "3rd_party/adios/.github/workflows/pypackaging.yml",
"chars": 2566,
"preview": "name: Python Packaging\n\non:\n workflow_dispatch:\n inputs:\n overrideVersion:\n description: Manually force "
},
{
"path": "3rd_party/adios/.gitignore",
"chars": 499,
"preview": "# Vi(m) temporary buffer files\n*.sw?\n\n# Emacs temporary files\n*~\n\n#Eclipse\n.cproject\n.project\n.settings/\n.pydevproject\n\n"
},
{
"path": "3rd_party/adios/.gitlab/config/SpackCIBridge.py",
"chars": 34454,
"preview": "#!/usr/bin/env python3\n\nimport argparse\nimport atexit\nimport base64\nfrom datetime import datetime, timedelta, timezone\ni"
},
{
"path": "3rd_party/adios/.gitlab/config/ccache.cmake",
"chars": 2064,
"preview": "##============================================================================\n## Copyright (c) Kitware, Inc.\n## All r"
},
{
"path": "3rd_party/adios/.gitlab/config/dynamic_pipeline.yml.in",
"chars": 256,
"preview": "child_pipeline_{branch}:\n variables:\n DOWNSTREAM_COMMIT_SHA: '{commit}'\n DOWNSTREAM_BRANCH_REF: '{branch}'\n trig"
},
{
"path": "3rd_party/adios/.gitlab/config/generate_pipelines.py",
"chars": 4552,
"preview": "#!/usr/bin/env python3\n\n# Distributed under the OSI-approved Apache License, Version 2.0. See\n# accompanying file Copyr"
},
{
"path": "3rd_party/adios/.gitlab/config/kokkos.sh",
"chars": 744,
"preview": "#!/usr/bin/env bash\nset -x\n\nWORKDIR=\"$1\"\nVERSION=\"$2\"\n\nshift 2\n\nif [ ! -d \"$WORKDIR\" ] || [ -z \"$VERSION\" ]\nthen\n echo "
},
{
"path": "3rd_party/adios/.gitlab/gitlab-ci-ascent.yml",
"chars": 3302,
"preview": "# Ad-hoc build that runs in the ECP Hardware, concretely in OLCF Ascent.\n.setup_env_ecpci: &setup_env_ecpci |\n module p"
},
{
"path": "3rd_party/adios/.gitlab/gitlab-ci-crusher.yml",
"chars": 5573,
"preview": "# Ad-hoc build that runs in the ECP Hardware, concretely in OLCF Crusher.\n\nstages:\n - pre\n - setup\n - build\n - post\n"
},
{
"path": "3rd_party/adios/.shellcheck_exclude_paths",
"chars": 379,
"preview": "scripts/ci/scripts/github-prs-to-gitlab.sh\nscripts/ci/scripts/run-clang-format.sh\nscripts/ci/scripts/run-flake8.sh\nscrip"
},
{
"path": "3rd_party/adios/CMakeLists.txt",
"chars": 17289,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/CODEOWNERS",
"chars": 535,
"preview": "# Caitlin's stuff\nplugins/ @caitlinross\n\n# Vicente's stuff\n*.bash @vicentebolea\n*.cmake @vicentebolea\n*.in @vicentebolea"
},
{
"path": "3rd_party/adios/CTestConfig.cmake",
"chars": 743,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/CTestCustom.cmake.in",
"chars": 1779,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/Contributing.md",
"chars": 13082,
"preview": "# Contributor's Guidelines to ADIOS 2\n\nThis guide will walk you through how to submit changes to ADIOS 2 and interact\nwi"
},
{
"path": "3rd_party/adios/Copyright.txt",
"chars": 1651,
"preview": "Copyright Oak Ridge National Laboratory and Contributors\n\nLicensed under the Apache License, Version 2.0 (the \"License\")"
},
{
"path": "3rd_party/adios/LICENSE",
"chars": 11346,
"preview": " Apache License\n Version 2.0, January 2004\n "
},
{
"path": "3rd_party/adios/ReadMe.md",
"chars": 5128,
"preview": "[](https://opensource.org/licenses/Apache-2.0)\n[!["
},
{
"path": "3rd_party/adios/bandit.yml",
"chars": 66,
"preview": "# tell codacy / bandit to accept assert in python\nskips: ['B101']\n"
},
{
"path": "3rd_party/adios/bindings/C/CMakeLists.txt",
"chars": 2770,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_adios.cpp",
"chars": 7195,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_adios.h",
"chars": 5498,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_adios_mpi.cpp",
"chars": 1291,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_attribute.cpp",
"chars": 7921,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_attribute.h",
"chars": 3057,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_engine.cpp",
"chars": 29437,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_engine.h",
"chars": 12053,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_internal.h",
"chars": 3681,
"preview": "\n/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detai"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_internal.inl",
"chars": 2065,
"preview": "\n/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detai"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_io.cpp",
"chars": 35147,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_io.h",
"chars": 15606,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_io.tcc",
"chars": 869,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_io_mpi.cpp",
"chars": 1035,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_operator.cpp",
"chars": 833,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_operator.h",
"chars": 1104,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_types.h",
"chars": 4608,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_variable.cpp",
"chars": 25172,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2/c/adios2_c_variable.h",
"chars": 11217,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/C/adios2_c.h",
"chars": 650,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CMakeLists.txt",
"chars": 445,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/bindings/CXX11/CMakeLists.txt",
"chars": 3919,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/ADIOS.cpp",
"chars": 2902,
"preview": "/* Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for details.\n"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/ADIOS.h",
"chars": 9045,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/ADIOS.inl",
"chars": 968,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/ADIOSMPI.cpp",
"chars": 732,
"preview": "/* Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for details.\n"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/ADIOSView.h",
"chars": 276,
"preview": "#ifndef ADIOS2_BINDINGS_CXX11_CXX11_ADIOS_VIEW_H_\n#define ADIOS2_BINDINGS_CXX11_CXX11_ADIOS_VIEW_H_\n\nnamespace adios2\n{\n"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Attribute.cpp",
"chars": 5948,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Attribute.h",
"chars": 1827,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Engine.cpp",
"chars": 17201,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Engine.h",
"chars": 20761,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Engine.tcc",
"chars": 10575,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Group.cpp",
"chars": 1680,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Group.h",
"chars": 3496,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Group.tcc",
"chars": 1243,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/IO.cpp",
"chars": 9870,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/IO.h",
"chars": 14685,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/IO.tcc",
"chars": 2964,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/IOMPI.cpp",
"chars": 510,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/KokkosView.h",
"chars": 1957,
"preview": "#ifndef ADIOS2_BINDINGS_CXX11_CXX11_KOKKOS_VIEW_H_\n#define ADIOS2_BINDINGS_CXX11_CXX11_KOKKOS_VIEW_H_\n\n#include <Kokkos_"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Operator.cpp",
"chars": 970,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Operator.h",
"chars": 1987,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Query.cpp",
"chars": 1057,
"preview": "#include \"Query.h\"\n#include \"adios2/toolkit/query/Worker.h\"\n\n#include <utility>\n\nnamespace adios2\n{\nQueryWorker::QueryWo"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Query.h",
"chars": 1277,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Types.cpp",
"chars": 522,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Types.h",
"chars": 602,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Types.tcc",
"chars": 607,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Variable.cpp",
"chars": 26931,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Variable.h",
"chars": 13819,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/Variable.tcc",
"chars": 8232,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/VariableDerived.cpp",
"chars": 216,
"preview": "#include \"VariableDerived.h\"\n\n#include \"adios2/core/VariableDerived.h\"\n\nnamespace adios2\n{\nVariableDerived::VariableDeri"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/VariableDerived.h",
"chars": 917,
"preview": "#ifndef ADIOS2_BINDINGS_CXX11_VARIABLE_DERIVED_H_\n#define ADIOS2_BINDINGS_CXX11_VARIABLE_DERIVED_H_\n\n#include \"Operator."
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/VariableNT.cpp",
"chars": 24017,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/VariableNT.h",
"chars": 8255,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/fstream/ADIOS2fstream.cpp",
"chars": 7288,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/fstream/ADIOS2fstream.h",
"chars": 27000,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/fstream/ADIOS2fstream.tcc",
"chars": 6313,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2/cxx11/fstream/ADIOS2fstreamMPI.cpp",
"chars": 1637,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/CXX11/adios2.h",
"chars": 858,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Fortran/CMakeLists.txt",
"chars": 5868,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/bindings/Fortran/f2c/adios2_f2c_adios.cpp",
"chars": 4055,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Fortran/f2c/adios2_f2c_adios_mpi.cpp",
"chars": 1228,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Fortran/f2c/adios2_f2c_attribute.cpp",
"chars": 3698,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Fortran/f2c/adios2_f2c_common.h",
"chars": 540,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Fortran/f2c/adios2_f2c_engine.cpp",
"chars": 4756,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Fortran/f2c/adios2_f2c_io.cpp",
"chars": 18360,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Fortran/f2c/adios2_f2c_io_mpi.cpp",
"chars": 935,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Fortran/f2c/adios2_f2c_operator.cpp",
"chars": 934,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Fortran/f2c/adios2_f2c_variable.cpp",
"chars": 11440,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_adios_init_mod.F90",
"chars": 1555,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_adios_init_mpi_smod.F90",
"chars": 1815,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_adios_init_serial_smod.F90",
"chars": 1647,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_adios_mod.f90",
"chars": 5667,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_attribute_data_mod.f90",
"chars": 8789,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_attribute_mod.f90",
"chars": 1639,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_engine_begin_step_mod.f90",
"chars": 2526,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_engine_get_mod.f90",
"chars": 13896,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_engine_mod.f90",
"chars": 3648,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_engine_put_mod.f90",
"chars": 13895,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_functions_allocate_mod.f90",
"chars": 20287,
"preview": "module adios2_functions_allocate_mod\n implicit none\n\n interface adios2_allocate\n\n ! 1D Array\n module"
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_functions_mod.f90",
"chars": 1004,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_io_define_attribute_mod.f90",
"chars": 54598,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_io_define_derived_variable_mod.f90",
"chars": 1254,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_io_define_variable_mod.f90",
"chars": 2896,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_io_mod.f90",
"chars": 13047,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_io_open_mod.F90",
"chars": 1259,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_io_open_mpi_smod.F90",
"chars": 1677,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_io_open_serial_smod.F90",
"chars": 1585,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_mod.f90",
"chars": 550,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_operator_mod.f90",
"chars": 1007,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_parameters_mod.f90",
"chars": 4750,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_variable_max_mod.f90",
"chars": 4776,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_variable_min_mod.f90",
"chars": 4776,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/adios2_variable_mod.f90",
"chars": 8026,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/contains/adios2_engine_get.f90",
"chars": 33439,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/contains/adios2_engine_get_by_name.f90",
"chars": 31259,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/contains/adios2_engine_get_deferred.f90",
"chars": 34147,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/contains/adios2_engine_get_deferred_by_name.f90",
"chars": 28871,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/contains/adios2_engine_put.f90",
"chars": 33436,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/contains/adios2_engine_put_by_name.f90",
"chars": 31190,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/contains/adios2_engine_put_deferred.f90",
"chars": 34144,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Fortran/modules/contains/adios2_engine_put_deferred_by_name.f90",
"chars": 28877,
"preview": "!\n! Distributed under the OSI-approved Apache License, Version 2.0. See\n! accompanying file Copyright.txt for details."
},
{
"path": "3rd_party/adios/bindings/Matlab/HOWTO-debug.txt",
"chars": 2019,
"preview": "https://www.mathworks.com/help/matlab/matlab_external/debugging-on-linux-platforms.html\n\n\nThe GNU® Debugger gdb, availab"
},
{
"path": "3rd_party/adios/bindings/Matlab/Makefile",
"chars": 1947,
"preview": "### CORI\nADIOS_DIR=/global/homes/p/pnorbert/adios/master/login\n#ADIOS_LIBS=-Wl,-rpath=${ADIOS_DIR}/lib64 -L${ADIOS_DIR}"
},
{
"path": "3rd_party/adios/bindings/Matlab/README.txt",
"chars": 1976,
"preview": "This is the Matlab bindings to ADIOS2. It needs to be built manually and separately, after installing ADIOS2.\n\nFor havin"
},
{
"path": "3rd_party/adios/bindings/Matlab/adios.m",
"chars": 2147,
"preview": "function adios()\n%ADIOS Reader for the ADIOS BP file format\n% \n% ADIOS is a componentized I/O layer for high perform"
},
{
"path": "3rd_party/adios/bindings/Matlab/adiosclose.m",
"chars": 3839,
"preview": "function adiosclose(varargin)\n%ADIOSCLOSE Close an ADIOS BP file.\n% \n% ADIOSCLOSE closes an ADIOS BP file that was o"
},
{
"path": "3rd_party/adios/bindings/Matlab/adiosclosec.c",
"chars": 3366,
"preview": "/*\n * ADIOS is freely available under the terms of the BSD license described\n * in the COPYING file in the top level dir"
},
{
"path": "3rd_party/adios/bindings/Matlab/adiosload.m",
"chars": 1010,
"preview": "function adiosload(file, prefix)\n%ADIOSLOAD Read all variables in an ADIOS BP file\n%\n% ADIOSLOAD is a batch process to"
},
{
"path": "3rd_party/adios/bindings/Matlab/adiosopen.m",
"chars": 5222,
"preview": "function info = adiosopen(varargin)\n%ADIOSOPEN Open an ADIOS BP file and provide information on it.\n% \n% ADIOSOPEN o"
},
{
"path": "3rd_party/adios/bindings/Matlab/adiosopenc.c",
"chars": 22496,
"preview": "/*\n * ADIOS is freely available under the terms of the BSD license described\n * in the COPYING file in the top level dir"
},
{
"path": "3rd_party/adios/bindings/Matlab/adiosread.m",
"chars": 9507,
"preview": "function [data, attributes] = adiosread(varargin)\n%ADIOSREAD Read data from an ADIOS BP file.\n% \n% ADIOSREAD reads d"
},
{
"path": "3rd_party/adios/bindings/Matlab/adiosreadc.c",
"chars": 15820,
"preview": "/*\n * ADIOS is freely available under the terms of the BSD license described\n * in the COPYING file in the top level dir"
},
{
"path": "3rd_party/adios/bindings/Matlab/test/TestADIOSRead.m",
"chars": 2065,
"preview": "function TestADIOSRead(verbose)\nif (nargin == 0)\n verbose = 0;\nend\n\nif ~isnumeric(verbose) || verbose < 0 \n error("
},
{
"path": "3rd_party/adios/bindings/Matlab/test/test1_read.m",
"chars": 2895,
"preview": "function test1_read(verbose)\nif (nargin == 0)\n verbose = 0;\nend\n\nif ~isnumeric(verbose) || verbose < 0 \n error('Te"
},
{
"path": "3rd_party/adios/bindings/Matlab/test/test1_read.py",
"chars": 1494,
"preview": "#\n# Distributed under the OSI-approved Apache License, Version 2.0. See\n# accompanying file Copyright.txt for details.\n"
},
{
"path": "3rd_party/adios/bindings/Matlab/test/test1_read_hl.py",
"chars": 799,
"preview": "#\n# Distributed under the OSI-approved Apache License, Version 2.0. See\n# accompanying file Copyright.txt for details.\n"
},
{
"path": "3rd_party/adios/bindings/Matlab/test/test1_write.py",
"chars": 1468,
"preview": "#\n# Distributed under the OSI-approved Apache License, Version 2.0. See\n# accompanying file Copyright.txt for details.\n"
},
{
"path": "3rd_party/adios/bindings/Matlab/test/test1_write_hl.py",
"chars": 942,
"preview": "#\n# Distributed under the OSI-approved Apache License, Version 2.0. See\n# accompanying file Copyright.txt for details.\n"
},
{
"path": "3rd_party/adios/bindings/Python/CMakeLists.txt",
"chars": 2198,
"preview": "Python_add_library(adios2_py MODULE\n WITH_SOABI\n py11ADIOS.cpp\n py11IO.cpp\n py11Variable.cpp\n py11Attribute.cpp\n p"
},
{
"path": "3rd_party/adios/bindings/Python/__init__.py.in",
"chars": 88,
"preview": "from .adios2_bindings@ADIOS2_LIBRARY_SUFFIX@ import *\n\n__version__ = \"@ADIOS2_VERSION@\"\n"
},
{
"path": "3rd_party/adios/bindings/Python/py11ADIOS.cpp",
"chars": 2196,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11ADIOS.h",
"chars": 1420,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11ADIOSMPI.cpp",
"chars": 532,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11Attribute.cpp",
"chars": 4046,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11Attribute.h",
"chars": 958,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11Engine.cpp",
"chars": 18449,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11Engine.h",
"chars": 2412,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11IO.cpp",
"chars": 14889,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11IO.h",
"chars": 4267,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11IOMPI.cpp",
"chars": 609,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11Operator.cpp",
"chars": 1359,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11Operator.h",
"chars": 1008,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11Query.cpp",
"chars": 1181,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11Query.h",
"chars": 916,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11Variable.cpp",
"chars": 6979,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11Variable.h",
"chars": 3618,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11glue.cpp",
"chars": 21855,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/py11types.h",
"chars": 1094,
"preview": "/*\n * Distributed under the OSI-approved Apache License, Version 2.0. See\n * accompanying file Copyright.txt for detail"
},
{
"path": "3rd_party/adios/bindings/Python/test/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "3rd_party/adios/bindings/Python/test/simple_read_write.py",
"chars": 1296,
"preview": "from adios2 import *\nimport adios2.bindings as bindings\n\nimport sys\nimport unittest\n\n\nDATA_FILENAME = \"hello-world-py.bp"
},
{
"path": "3rd_party/adios/cmake/ADIOSBisonFlexSub.cmake",
"chars": 868,
"preview": "FUNCTION (SETUP_ADIOS_BISON_FLEX_SUB)\n\nset (BISON_FLEX_PRECOMPILE_DIR \"${CMAKE_CURRENT_SOURCE_DIR}/toolkit/derived/parse"
},
{
"path": "3rd_party/adios/cmake/ADIOSFunctions.cmake",
"chars": 7749,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/cmake/CMakeFindDependencyMacro.cmake",
"chars": 531,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/cmake/CheckTypeRepresentation.cmake",
"chars": 11311,
"preview": "# Distributed under the OSI-approved BSD 3-Clause License. See accompanying\n# file Copyright.txt or https://cmake.org/l"
},
{
"path": "3rd_party/adios/cmake/CheckTypeRepresentationCompile.c.in",
"chars": 1380,
"preview": "@headers@\n\n#undef KEY\n#if defined(__i386)\n# define KEY '_','_','i','3','8','6',' ',' ',' ',' ',' ',' ',' ',' ',' '\n#elif"
},
{
"path": "3rd_party/adios/cmake/CheckTypeRepresentationCompile.f.in",
"chars": 393,
"preview": "program check_type_representation_compile\n type check_type_representation_info\n character(len=16) :: header = \"16 by"
},
{
"path": "3rd_party/adios/cmake/CheckTypeRepresentationRun.c.in",
"chars": 387,
"preview": "@headers@\n\n#include <stdio.h>\n\n#ifdef __CLASSIC_C__\nint main(argc, argv) int argc; char *argv[];\n#else\nint main(int argc"
},
{
"path": "3rd_party/adios/cmake/DetectOptions.cmake",
"chars": 16798,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/cmake/EmptyDir.cmake",
"chars": 221,
"preview": "if(NOT DIR_NAME)\n message(FATAL_ERROR \"DIR_NAME is not defined\")\nendif()\n\nmessage(\"DEBUG: DIR_NAME |${DIR_NAME}|\")\nif(E"
},
{
"path": "3rd_party/adios/cmake/FindBZip2.cmake",
"chars": 501,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/cmake/FindCrayDRC.cmake",
"chars": 2294,
"preview": "######################################################\n# - Try to find craydrc (http://directory.fsf.org/wiki/Libfabric)"
},
{
"path": "3rd_party/adios/cmake/FindDAOS.cmake",
"chars": 2175,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/cmake/FindDataSpaces.cmake",
"chars": 4912,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/cmake/FindHDF5.cmake",
"chars": 500,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/cmake/FindIME.cmake",
"chars": 2069,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/cmake/FindLIBFABRIC.cmake",
"chars": 2386,
"preview": "######################################################\n# - Try to find libfabric (http://directory.fsf.org/wiki/Libfabri"
},
{
"path": "3rd_party/adios/cmake/FindMPI.cmake",
"chars": 498,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/cmake/FindPkgConfig.cmake",
"chars": 510,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/cmake/FindPython.cmake",
"chars": 726,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/cmake/FindPythonModule.cmake",
"chars": 5349,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/cmake/FindSZ.cmake",
"chars": 2203,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/cmake/FindSodium.cmake",
"chars": 9918,
"preview": "# Written in 2016 by Henrik Steffen Gaßmann <henrik@gassmann.onl>\n#\n# To the extent possible under law, the author(s) ha"
},
{
"path": "3rd_party/adios/cmake/FindUCX.cmake",
"chars": 4460,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
},
{
"path": "3rd_party/adios/cmake/FindZeroMQ.cmake",
"chars": 2649,
"preview": "#------------------------------------------------------------------------------#\n# Distributed under the OSI-approved Ap"
}
]
// ... and 12732 more files (download for full content)
About this extraction
This page contains the full source code of the Nek5000/nekRS GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 12932 files (117.2 MB), approximately 27.0M tokens, and a symbol index with 27725 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.