ADIOS 2: The Adaptable Input/Output System version 2
Funded by the Exascale Computing Project (ECP), U.S. Department of Energy
Basics
- Interface Components
- Supported Virtual Engine Names
- Supported Engines
- Supported Operators
- Full APIs
- C++11 bindings
- ADIOS2 components classes
- ADIOS class
- IO class
adios2::IOIO()~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::VariableVariable()~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::EngineEngine()~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_adioshandler functionsadios2_initadios2_init_configadios2_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_iohandler 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_variablehandler 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_attributehandler functionsadios2_enginehandler 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_operatorhandler functions
- C++11 bindings
- High-Level APIs
- C++ High-Level API
- C++11 Write example
- C++11 Read “step-by-step” example
adios2::fstreamAPI documentationadios2::fstreamopenmodefstream()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
StreamStream.adiosStream.all_blocks_info()Stream.available_attributes()Stream.available_variables()Stream.begin_step()Stream.close()Stream.current_step()Stream.define_variable()Stream.end_step()Stream.engineStream.get_metadata()Stream.inquire_attribute()Stream.inquire_variable()Stream.ioStream.loop_index()Stream.modeStream.num_steps()Stream.read()Stream.read_attribute()Stream.read_attribute_string()Stream.read_complete()Stream.read_in_buffer()Stream.set_parameters()Stream.step_status()Stream.steps()Stream.write()Stream.write_attribute()
FileReaderAdiosIOIO.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.implIO.inquire_attribute()IO.inquire_variable()IO.open()IO.open_with_metadata()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()
EngineEngine.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.get_metadata()Engine.implEngine.lock_reader_selections()Engine.lock_writer_definitions()Engine.perform_data_write()Engine.perform_gets()Engine.perform_puts()Engine.put()Engine.steps()
VariableVariable.add_operation()Variable.add_operation_string()Variable.block_id()Variable.count()Variable.get_accuracy()Variable.implVariable.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()
AttributeOperator
- Python bindings to C++
- Examples using the Python bindings in the ADIOS2 repository
- ADIOS class
- IO class
IOIO.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
VariableVariable.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
EngineEngine.BeginStep()Engine.BetweenStepPairs()Engine.BlocksInfo()Engine.Close()Engine.CurrentStep()Engine.EndStep()Engine.Flush()Engine.Get()Engine.GetMetadata()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