|
typedef BitSeries | OutputType |
|
enum | Function { Producer,
Procedural,
Structural
} |
| The function of the operator. More...
|
|
static size_t | get_instance_count () |
|
static void * | operator new (size_t size, void *ptr=0) |
|
static void | operator delete (void *location, void *ptr) |
|
static void | operator delete (void *location) |
|
static size_t | get_heap_queue_size () |
|
static bool | record_time = false |
| Global flag enables stopwatch to record the time spent operating. More...
|
|
static bool | report_time = true |
| Global flag enables report of time spent in operation on descruction. More...
|
|
static bool | verbose = false |
| Global verbosity flag.
|
|
static int | operation_status = 0 |
| Operations can set this to non-zero in operation() if they fail.
|
|
static bool | check_state = true |
| Operations should perform internal consistency checks.
|
|
static int | instantiation_count = 0 |
| Counts how many Operation instantiations there have been Used for setting the unique instantiation ID. More...
|
|
virtual void | set_eod (bool _eod) |
| Method that is p.v. in dsp::Input so that dsp::Seekable can set its 'end_of_data' flag. I don't know what MPIRoot should do in it, if anything. HSK 25/10/03.
|
|
void | send_data (BitSeries *data, int dest) |
| Send the next block using MPI_Isend.
|
|
void | wait (MPI_Request &request, bool receive) |
| Wait for the MPI_Request to complete and check the MPI_Status. More...
|
|
int | next_destination () |
| Returns the rank of the next node ready to receive data.
|
|
void | size_pack_buffer () |
| resize the pack_buf
|
|
void | init () |
| initialize variables
|
|
void | request_ready () |
| request ready-for-data from any node
|
|
void | request_data () |
| request data from the root
|
|
int | receive_data () |
| wait for data to be received and return the data count
|
|
void | load_data () |
| when mpi_rank == mpi_root, load data from input
|
|
void | ensure_root (const char *method) const |
| ensure that this instance is the root and that mpi_size > 1
|
|
void | ensure_receptive (const char *method) const |
| ensure that this instance is not the root and that eof = false
|
|
void | check_error (int mpi_err, const char *call, const char *method) |
| throw an Error exception if mpi_err != MPI_SUCCESS
|
|
void | check_status (MPI_Status &mpi_status, const char *method) |
| verify that MPI_Wait returns as expected after MPI_Irecv
|
|
void | check_block_size (const char *method) |
| verify that the block_size is withing MPI size limits
|
|
virtual void | operation () |
| Load data into the BitSeries specified with set_output. More...
|
|
virtual void | mark_output () |
| Mark the output BitSeries with sequence informatin.
|
|
virtual bool | can_operate () |
| Return false if the operation doesn't have enough data to proceed.
|
|
virtual void | set_name (const std::string &_name) |
| Set the name!
|
|
int | timers_index (const std::string &op_name) |
| Returns the index in the 'timers' array of a particular timer.
|
|
Handle * | __reference (bool active) const |
|
void | __dereference (bool auto_delete=true) const |
|
MPI_Comm | comm |
| Communicator in which data will be sent and received.
|
|
int | mpi_size |
| Number of nodes in communicator.
|
|
int | mpi_rank |
| Rank of this process within the communicator.
|
|
int | mpi_root |
| Rank of process sending data.
|
|
int | mpi_tag |
| Tag used for all communication.
|
|
bool | auto_request |
| Automatically request the next data chunk.
|
|
MPI_Request | data_request |
| Handle to the asynchronous send/recv of data.
|
|
MPI_Request | ready_request |
| Handle to the asynchronous send/recv of ready flag.
|
|
MPI_Status | status |
| Status of the last call to wait.
|
|
int | ready |
| The ready flag.
|
|
char * | pack_buf |
| Buffer used to store asynchronous send/recv.
|
|
int | pack_buf_size |
| Size of the above buffer.
|
|
int | pack_size |
| Size actually needed.
|
|
int | min_header_size |
| MPI_Pack_size of the header in the buffer.
|
|
int | data_size |
| Size of the data in bytes.
|
|
bool | end_of_data |
| End of data.
|
|
vector< bool > | eod_sent |
| End of data has been sent to this node.
|
|
Reference::To< Input > | input |
| The source from which input data will be read.
|
|
Reference::To< BitSeries > | output |
| The BitSeries to which data will be loaded on next call to operate.
|
|
Reference::To< Observation > | info |
| Information about the data source (passed on to BitSeries in load)
|
|
unsigned | resolution |
| Time sample resolution of the data source. More...
|
|
uint64_t | last_load_ndat |
| The ndat of the BitSeries last loaded Used by Seekable::recycle_data() and set by load()
|
|
std::string | real_source |
| If not "" then the source of the output gets changed to this after loading [""].
|
|
Scratch * | scratch |
| Shared scratch space, if needed.
|
|
bool | set_scratch_called |
|
std::string | name |
| Operation name.
|
|
uint64_t | discarded_weights |
| Number of time sample weights encountered that are flagged invalid.
|
|
uint64_t | total_weights |
| Total number of time sample weights encountered.
|
|
RealTimer | optime |
| Stop watch records the amount of time spent performing this operation.
|
|
int | id |
| Unique instantiation id.
|
|
bool | prepared |
| Set true when preparation optimizations are completed.
|
|
Loads BitSeries data using the MPI communications protocol.