Adaptable Input / Output System (ADIOS) v2.0
This is v2.0 of the ADIOS I/O system, developed as part of the U.S. Department of Energy Exascale Computing Program.
License
ADIOS >= 2.0 is licensed under the Apache License v2.0. See the accompanying Copyright.txt for more details.
Directory layout
- cmake - Project specific CMake modules
- examples - ADIOS Examples
- include - Public header files
- scripts - Project maintenance and development scripts
- source - Main ADIOS source
- testing - Tests
Getting Started
ADIOS 2.0 uses CMake for it's build environment. CMake expects projects to use "out-of-source" builds, which means keeping a separate build and source directory (different from autotools, which usually uses an in-source build). To build ADIOS:
-
Clone the repository:
$ mkdir ADIOS2 $ cd ADIOS2 $ git clone https://github.com/ornladios/adios2.git source
-
Create a separate build directory:
$ mkdir build
-
Configure the project with CMake. The following options can be specified as
ON
orOFF
with cmake's-DVAR=VALUE
syntax, where VAR options are:-
ADIOS_BUILD_SHARED_LIBS
- Build shared libraries (OFF
for static) -
ADIOS_BUILD_EXAMPLES
- Build examples -
ADIOS_BUILD_TESTING
- Build test code -
ADIOS_USE_MPI
- Enable MPI -
ADIOS_USE_BZip2
- Enable BZip2 compression -
ADIOS_USE_ZFP
- Enable ZFP compression -
ADIOS_USE_ADIOS1
- Enable the ADIOS 1.x engine -
ADIOS_USE_DataMan
- Enable the DataMan engine for WAN transports -
ADIOS_USE_Python
- Enable the Python bindings
Important, automatic discovery: ADIOS 2.0 CMake has an AUTO discovery "ON" default option. If a certain dependency is found in the system installation path (e.g. /usr/), not a custom one (e.g. /home , /opt ) it will turn on installation for that dependency automatically
In addition, the -DCMAKE_VAR frequent options can be selected: *
CMAKE_INSTALL_PREFIX
- Prefix location for installation withmake install
, default depends on system (e.g. /usr/local) *CMAKE_BUILD_TYPE
- Debug (default, debugging symbols), or Release (compiler optimizations)Example:
$ cd build $ cmake -DADIOS_USE_MPI=ON -DADIOS_USE_BZip2=ON -DCMAKE_BUILD_TYPE=Debug ../ADIOS2 -- The C compiler identification is GNU 6.3.1 -- The CXX compiler identification is GNU 6.3.1 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found BZip2: /usr/lib64/libbz2.so (found version "1.0.6") -- Looking for BZ2_bzCompressInit -- Looking for BZ2_bzCompressInit - found ADIOS2 build configuration: C++ Compiler: GNU 6.3.1 /usr/bin/c++ Installation prefix: /usr/local Features: Library Type: shared Build Type: Debug Testing: ON MPI: OFF BZip2: ON ADIOS1: OFF DataMan: OFF -- Configuring done -- Generating done -- Build files have been written to: /path/to/adios/build $
You can also use CMake's curses-base UI with
ccmake ../source
. -
-
Compile:
$ make -j8
-
Run tests:
$ make test
Developers
To summit changes to ADIOS 2.0: please see the wiki https://github.com/ornladios/ADIOS2/wiki Contributing to ADIOS section, or the local Contributors Guide.