MADNESS  version 0.9
Public Member Functions | List of all members
madness::archive::ParallelInputArchive Class Reference

An archive for storing local or parallel data wrapping BinaryFstreamInputArchive. More...

#include <parar.h>

Inheritance diagram for madness::archive::ParallelInputArchive:
Inheritance graph
[legend]
Collaboration diagram for madness::archive::ParallelInputArchive:
Collaboration graph
[legend]

Public Member Functions

 ParallelInputArchive ()
 
 ParallelInputArchive (World &world, const char *filename, int nio=1)
 Creates a parallel archive for input. More...
 
- Public Member Functions inherited from madness::archive::BaseParallelArchive< BinaryFstreamInputArchive >
 BaseParallelArchive ()
 
ProcessID io_node (ProcessID rank) const
 Returns the process doing IO for given node. More...
 
ProcessID my_io_node () const
 Returns the process doing IO for this node. More...
 
int num_io_clients () const
 Returns the number of IO clients for this node including self (zero if not an IO node) More...
 
bool is_io_node () const
 Returns true if this node is doing physical IO. More...
 
Worldget_world () const
 Returns pointer to the world. More...
 
void open (World &world, const char *filename, int nwriter=1)
 Opens the parallel archive. More...
 
void close ()
 Closes the parallel archive. More...
 
BinaryFstreamInputArchivelocal_archive () const
 Returns a reference to local archive ... throws if not an IO node. More...
 
void broadcast (objT &obj, ProcessID root) const
 Same as world.gop.broadcast_serializable(obj, root) More...
 
void remove ()
 Removes the files associated with the current archive. More...
 
bool dofence () const
 
void set_dofence (bool dofence)
 
- Public Member Functions inherited from madness::archive::BaseArchive
 BaseArchive ()
 

Additional Inherited Members

- Static Public Member Functions inherited from madness::archive::BaseParallelArchive< BinaryFstreamInputArchive >
static bool exists (World &world, const char *filename)
 Returns true if the named, unopened archive exists on disk with read access ... collective. More...
 
static void remove (World &world, const char *filename)
 Deletes the files associated with the archive of the given name. More...
 
- Static Public Attributes inherited from madness::archive::BaseParallelArchive< BinaryFstreamInputArchive >
static const bool is_parallel_archive
 
- Static Public Attributes inherited from madness::archive::BaseInputArchive
static const bool is_input_archive = true
 
- Static Public Attributes inherited from madness::archive::BaseArchive
static const bool is_archive = true
 
static const bool is_input_archive = false
 
static const bool is_output_archive = false
 
static const bool is_parallel_archive = false
 

Detailed Description

An archive for storing local or parallel data wrapping BinaryFstreamInputArchive.

Reads of process local objects loads the value originally stored by process zero which is then broadcast to all processes.

Reads of parallel containers (presently only WorldContainer) load all data.

The number of IO nodes or readers is presently ignored. It is forced to be the same as the original number of writers and therefore you cannot presently read an archive from a parallel job with fewer total processes than the number of writers.

Constructor & Destructor Documentation

madness::archive::ParallelInputArchive::ParallelInputArchive ( )
inline
madness::archive::ParallelInputArchive::ParallelInputArchive ( World world,
const char *  filename,
int  nio = 1 
)
inline

Creates a parallel archive for input.

References madness::archive::BaseParallelArchive< BinaryFstreamInputArchive >::open().


The documentation for this class was generated from the following file: