ADIOS 2: The Adaptable Input/Output System version 2
Funded by the Exascale Computing Project (ECP), U.S. Department of Energy
Introduction
Basics
- Interface Components
- Supported Virtual Engine Names
- Supported Engines
- Supported Operators
- Full APIs
- C++11 bindings
- ADIOS2 components classes
- ADIOS class
- IO class
adios2::IO
IO()
~IO()
operator bool()
Name()
InConfigFile()
SetEngine()
SetParameter()
SetParameters()
SetParameters()
ClearParameters()
Parameters()
AddTransport()
SetTransportParameter()
DefineVariable()
InquireVariable()
InquireVariableType()
DefineAttribute()
DefineAttribute()
InquireAttribute()
RemoveVariable()
RemoveAllVariables()
RemoveAttribute()
RemoveAllAttributes()
Open()
InquireGroup()
Open()
Open()
FlushAll()
AvailableVariables()
AvailableAttributes()
VariableType()
AttributeType()
AddOperation()
EngineType()
- Variable
<T>
classadios2::Variable
Variable()
~Variable()
operator bool()
StoreStatsOnly()
SetMemorySpace()
GetMemorySpace()
SetShape()
SetBlockSelection()
SetSelection()
SetMemorySelection()
SetStepSelection()
SetAccuracy()
SelectionSize()
Name()
Type()
Sizeof()
ShapeID()
Shape()
Start()
Count()
Steps()
StepsStart()
BlockID()
AddOperation()
Operations()
RemoveOperations()
MinMax()
Min()
Max()
GetAccuracy()
AllStepsBlocksInfo()
adios2::Variable::Info
- Attribute
<T>
class - Engine class
adios2::Engine
Engine()
~Engine()
operator bool()
Name()
Type()
OpenMode()
GetMetadata()
BeginStep()
BeginStep()
CurrentStep()
Put()
Put()
Put()
Put()
Put()
Put()
Put()
PerformPuts()
PerformDataWrite()
Get()
Get()
Get()
Get()
Get()
Get()
Get()
Get()
Get()
Get()
PerformGets()
EndStep()
BetweenStepPairs()
Flush()
Close()
AllStepsBlocksInfo()
BlocksInfo()
GetAbsoluteSteps()
Steps()
LockWriterDefinitions()
LockReaderSelections()
- Operator class
- Fortran bindings
- C bindings
adios2_adios
handler functionsadios2_init
adios2_init_config
adios2_init_mpi()
adios2_init_config_mpi()
adios2_init_serial()
adios2_init_config_serial()
adios2_declare_io()
adios2_declare_io_order()
adios2_at_io()
adios2_define_operator()
adios2_inquire_operator()
adios2_flush_all()
adios2_finalize()
adios2_remove_io()
adios2_remove_all_ios()
adios2_enter_computation_block()
adios2_exit_computation_block()
adios2_io
handler functionsadios2_in_config_file()
adios2_set_engine()
adios2_set_parameters()
adios2_set_parameter()
adios2_get_parameter()
adios2_clear_parameters()
adios2_add_transport()
adios2_set_transport_parameter()
adios2_define_variable()
adios2_inquire_variable()
adios2_inquire_all_variables()
adios2_inquire_group_variables()
adios2_define_attribute()
adios2_define_attribute_array()
adios2_define_variable_attribute()
adios2_define_variable_attribute_array()
adios2_inquire_attribute()
adios2_inquire_variable_attribute()
adios2_inquire_all_attributes()
adios2_inquire_group_attributes()
adios2_inquire_subgroups()
adios2_remove_variable()
adios2_remove_all_variables()
adios2_available_variables()
adios2_available_attributes()
adios2_remove_attribute()
adios2_remove_all_attributes()
adios2_open()
adios2_open_with_metadata()
adios2_open_new_comm()
adios2_flush_all_engines()
adios2_engine_type()
adios2_get_engine()
adios2_variable
handler functionsadios2_set_shape()
adios2_store_stats_only()
adios2_set_memory_space()
adios2_get_memory_space()
adios2_set_block_selection()
adios2_set_selection()
adios2_set_memory_selection()
adios2_set_step_selection()
adios2_variable_name()
adios2_variable_type()
adios2_variable_type_string()
adios2_variable_shapeid()
adios2_variable_ndims()
adios2_variable_shape()
adios2_variable_shape_with_memory_space()
adios2_variable_start()
adios2_variable_count()
adios2_variable_steps_start()
adios2_variable_steps()
adios2_selection_size()
adios2_add_operation()
adios2_set_operation_parameter()
adios2_remove_operations()
adios2_variable_min()
adios2_variable_max()
adios2_attribute
handler functionsadios2_engine
handler functionsadios2_engine_name()
adios2_engine_get_type()
adios2_engine_openmode()
adios2_engine_get_metadata()
adios2_begin_step()
adios2_current_step()
adios2_between_step_pairs()
adios2_steps()
adios2_put()
adios2_put_by_name()
adios2_perform_puts()
adios2_perform_data_write()
adios2_get()
adios2_get_by_name()
adios2_perform_gets()
adios2_end_step()
adios2_flush()
adios2_flush_by_index()
adios2_close()
adios2_close_by_index()
adios2_lock_writer_definitions()
adios2_lock_reader_selections()
adios2_inquire_blockinfo()
adios2_free_blockinfo()
adios2_operator
handler functions
- C++11 bindings
- High-Level APIs
- C++ High-Level API
- C++11 Write example
- C++11 Read “step-by-step” example
adios2::fstream
API documentationadios2::fstream
openmode
fstream()
fstream()
fstream()
fstream()
fstream()
~fstream()
operator bool()
open()
open()
open()
open()
set_parameter()
set_parameters()
write_attribute()
write_attribute()
write()
write()
write()
read()
read()
read()
read()
read()
read()
read()
read()
read()
read()
read_attribute()
end_step()
close()
current_step()
getstep
- Matlab simple bindings
- C++ High-Level API
- Python APIs
- Python Example Code
- adios2 classes for Python
Stream
Stream.adios
Stream.all_blocks_info()
Stream.available_attributes()
Stream.available_variables()
Stream.begin_step()
Stream.close()
Stream.current_step()
Stream.define_variable()
Stream.end_step()
Stream.engine
Stream.inquire_attribute()
Stream.inquire_variable()
Stream.io
Stream.loop_index()
Stream.mode
Stream.num_steps()
Stream.read()
Stream.read_attribute()
Stream.read_attribute_string()
Stream.read_in_buffer()
Stream.set_parameters()
Stream.step_status()
Stream.steps()
Stream.write()
Stream.write_attribute()
FileReader
Adios
IO
IO.add_transport()
IO.adios()
IO.available_attributes()
IO.available_variables()
IO.define_attribute()
IO.define_derived_variable()
IO.define_variable()
IO.engine_type()
IO.flush_all()
IO.impl
IO.inquire_attribute()
IO.inquire_variable()
IO.open()
IO.parameters()
IO.remove_all_attributes()
IO.remove_all_variables()
IO.remove_attribute()
IO.remove_variable()
IO.set_engine()
IO.set_parameter()
IO.set_parameters()
Engine
Engine.all_blocks_info()
Engine.begin_step()
Engine.between_step_pairs()
Engine.blocks_info()
Engine.close()
Engine.current_step()
Engine.end_step()
Engine.flush()
Engine.get()
Engine.impl
Engine.lock_reader_selections()
Engine.lock_writer_definitions()
Engine.perform_data_write()
Engine.perform_gets()
Engine.perform_puts()
Engine.put()
Engine.steps()
Variable
Variable.add_operation()
Variable.add_operation_string()
Variable.block_id()
Variable.count()
Variable.get_accuracy()
Variable.impl
Variable.name()
Variable.operations()
Variable.remove_operations()
Variable.selection_size()
Variable.set_accuracy()
Variable.set_block_selection()
Variable.set_selection()
Variable.set_shape()
Variable.set_step_selection()
Variable.shape()
Variable.shape_id()
Variable.single_value()
Variable.sizeof()
Variable.start()
Variable.steps()
Variable.steps_start()
Variable.store_stats_only()
Variable.type()
Attribute
Operator
- Python bindings to C++
- Examples using the Python bindings in the ADIOS2 repository
- ADIOS class
- IO class
IO
IO.AddTransport()
IO.AvailableAttributes()
IO.AvailableVariables()
IO.DefineAttribute()
IO.DefineDerivedVariable()
IO.DefineVariable()
IO.EngineType()
IO.FlushAll()
IO.InquireAttribute()
IO.InquireVariable()
IO.Open()
IO.Parameters()
IO.RemoveAllAttributes()
IO.RemoveAllVariables()
IO.RemoveAttribute()
IO.RemoveVariable()
IO.SetEngine()
IO.SetParameter()
IO.SetParameters()
- Variable class
Variable
Variable.AddOperation()
Variable.BlockID()
Variable.Count()
Variable.GetAccuracy()
Variable.GetAccuracyRequested()
Variable.Name()
Variable.Operations()
Variable.RemoveOperations()
Variable.SelectionSize()
Variable.SetAccuracy()
Variable.SetBlockSelection()
Variable.SetSelection()
Variable.SetShape()
Variable.SetStepSelection()
Variable.Shape()
Variable.ShapeID()
Variable.SingleValue()
Variable.Sizeof()
Variable.Start()
Variable.Steps()
Variable.StepsStart()
Variable.StoreStatsOnly()
Variable.Type()
- Attribute class
- Engine class
Engine
Engine.BeginStep()
Engine.BetweenStepPairs()
Engine.BlocksInfo()
Engine.Close()
Engine.CurrentStep()
Engine.EndStep()
Engine.Flush()
Engine.Get()
Engine.LockReaderSelections()
Engine.LockWriterDefinitions()
Engine.Name()
Engine.PerformDataWrite()
Engine.PerformGets()
Engine.PerformPuts()
Engine.Put()
Engine.Steps()
Engine.Type()
- Operator class
- Query class
- Transition from old API to new API
Advanced Topics
Tutorials
Ecosystem Tools
Additional Information
- FAQ
- MPI vs Non-MPI
- APIs
- Building on Titan
- Building and Running on Fujitsu FX100
- FAQs Answered
- Can I use the same library for MPI and non-MPI code?
- Can I use ADIOS 2 C++11 library with C++98 codes?
- Why are C and Fortran APIs missing functionality?
- C++11: Why are std::string arguments passed sometimes by value and sometimes by reference?
- C++11: Should I pass adios2:: objects by value or by reference?
- Fortran: Can I pass slices and temporary arrays to adios2_put?
- My application uses PGI compilers on Titan, can I link ADIOS 2?
- How do I enable the Python bindings on Titan?
- How do I build ADIOS 2 on Fujitsu FX100?
- SST engine hangs on Fujitsu FX100. Why?
- Advice