|
| Array () |
| Construct a new Array object for Write The data can be cached or dumped later. More...
|
|
| Array (std::string data_endpoint) |
| Construct a new Array object for either Input or Output For Input, data_endpoint is opened before Apply For Ouput, data_endpoint is created during Apply. More...
|
|
| Array (std::string data_endpoint, std::vector< int > cs) |
| Construct a new Array object for read, as Input of Apply. More...
|
|
| Array (std::string data_endpoint, std::vector< int > cs, std::vector< int > os) |
| Construct a new Array object for read, as Input of Apply. More...
|
|
| Array (std::string data_endpoint, int auto_chunk_dim_index) |
| Construct a new Array object for read, as Input of Apply. More...
|
|
| Array (std::string data_endpoint, std::vector< unsigned long long > size_p) |
| Construct a new Array object for read, as Input of Apply. More...
|
|
| Array (std::vector< int > cs, std::vector< int > os) |
| Construct a new Array object with only chunk size and overlap size Mostly, this is used for virtual array which has uniform chunk size and overlap size. More...
|
|
| Array (std::vector< int > cs) |
|
| Array (std::vector< T > &data_vector_endpoint) |
| Construct a new Array object from in-memory vector The data are assumed to be 1D too here. More...
|
|
| Array (std::vector< T > &data_vector_endpoint, std::vector< int > cs, std::vector< int > os) |
| Construct a new Array object. More...
|
|
| ~Array () |
| Construct a new Array object from in-memory vector The data are assumed to be 1D too here. More...
|
|
void | UpdateChunkSize () |
| Update the chunk size, given chunk_size_by_user_flag/chunk_size_by_user_by_dimension_flag. More...
|
|
int | SetOverlapSize (const vector< int > os_p) |
|
int | SetOverlapSizeByDetection () |
|
int | GetOverlapSize (vector< int > &os_p) |
|
int | SetOverlapPadding (const T &padding_value_p) |
|
int | SyncOverlap () |
|
template<class UDFOutputType > |
int | UpdateOverlapSize (Stencil< UDFOutputType >(*UDF)(const Stencil< T > &)) |
|
template<class UDFOutputType > |
void | InitializeApplyInput (Stencil< UDFOutputType >(*UDF)(const Stencil< T > &)) |
|
void | PrintEndpointInfo () |
| print endpoint info of this array More...
|
|
template<class UDFOutputType , class BType = UDFOutputType> |
void | Apply (Stencil< UDFOutputType >(*UDF)(const Stencil< T > &), Array< BType > *B=nullptr) |
| Run a UDF on the data pointed by the array. More...
|
|
template<class UDFOutputType , class BType = UDFOutputType> |
void | Transform (Stencil< UDFOutputType >(*UDF)(const Stencil< T > &), Array< BType > &B) |
|
template<class UDFOutputType , class BType = UDFOutputType> |
void | Transform (Stencil< UDFOutputType >(*UDF)(const Stencil< T > &), Array< BType > *B=nullptr) |
| Run a UDF on the data pointed by the array. More...
|
|
int | WriteArray (const std::vector< unsigned long long > &start_p, const std::vector< unsigned long long > &end_p, std::vector< T > &data_p) |
|
int | ReadModifyWriteArray (const std::vector< unsigned long long > &start_p, const std::vector< unsigned long long > &end_p, std::vector< T > &data_p, AU_Op op) |
| Test a new API to read modfy and write a array. It is useful for cases that you have a incremently updated array //https://en.wikipedia.org/wiki/ReadE2%80%93modifyE2%80%93write. More...
|
|
int | WriteArray (std::vector< unsigned long long > &start_p, std::vector< unsigned long long > &end_p, std::vector< std::vector< T >> data_p) |
|
int | WriteEndpoint (std::vector< unsigned long long > &start_p, std::vector< unsigned long long > &end_p, void *data) |
|
int | ReadEndpoint (std::vector< unsigned long long > &start_p, std::vector< unsigned long long > &end_p, void *data) |
|
void | CalculateOutputSize (std::vector< unsigned long long > &data_size_p, std::vector< int > &data_chunk_size_p, std::vector< int > &data_overlap_size_p) |
| Calculate the Size of Output array (B) More...
|
|
void | InferOutputSize (std::vector< unsigned long long > &data_size_p, std::vector< int > &data_chunk_size_p, std::vector< int > &data_overlap_size_p, size_t output_vector_size) |
| infer the size for output array More...
|
|
int | CreateEndpoint (std::vector< unsigned long long > data_size_p, std::vector< int > data_chunk_size_p, std::vector< int > data_overlap_size_p) |
|
int | ReadArray (const std::vector< unsigned long long > &start, const std::vector< unsigned long long > &end, std::vector< T > &data_vector) |
|
std::vector< T > | ReadArray (const std::vector< unsigned long long > start, const std::vector< unsigned long long > end) |
|
bool | HasNextChunk () |
|
void | SchduleChunkNext () |
| update current_chunk_id More...
|
|
int | LoadNextChunk (unsigned long long &result_vector_size) |
| Load the next chunk. More...
|
|
int | EnableApplyStride (const std::vector< int > &skip_size_p) |
|
int | SetStride (const std::vector< int > &skip_size_p) |
|
void | SetVectorDirection (OutputVectorFlatDirection flat_direction_index) |
|
void | ControlOutputVector (OutputVectorFlatDirection flat_direction, std::vector< size_t > flat_shape) |
| A geneic verion of function to control how to deal with output vector during the run of Apply on Array. The output of Apply in this way is vector of vector (2D). We need to convert it into vector (1D). Also we need to control the shape of the 1D vector to write into output Array. More...
|
|
template<typename... Is> |
T | operator() (Is... indexs) const |
|
template<typename... Is> |
T | GetValue (Is... indexs) |
| Get the Value at indexs. More...
|
|
template<typename... Is> |
void | SetValue (T data_p, Is... indexs) |
|
template<class AttributeType > |
void | PushBackAttribute (std::string data_endpoint) |
|
template<class AttributeType > |
int | AppendAttribute (const std::string &data_endpoint) |
|
template<class AttributeType > |
int | InsertAttribute (const std::string &data_endpoint, const int index) |
|
int | EraseAttribute (const int &index) |
|
int | GetAttribute (const int &index, std::string &endpoint_id) |
|
std::vector< Endpoint * > | GetAttributeEndpoint () |
|
bool | GetVirtualArrayFlag () |
|
void | SetVirtualArrayFlag (bool flag_p) |
|
void | SetDirOutputRegexReplace (std::regex ®ex_p, std::string &replace_str_p) |
|
void | SetDirInputRegexSearch (std::regex ®ex_p) |
|
AuEndpointType | GetEndpointType () |
|
std::vector< std::string > | GetDirFile () |
|
void | SetDirFile (std::vector< std::string > &file_list) |
|
std::vector< int > | GetDirChunkSize () |
|
void | SetDirChunkSize (std::vector< int > &dir_chunk_size_p) |
|
int | SetChunkSize (std::vector< int > data_chunk_size_p) |
|
int | GetChunkSize (std::vector< int > &data_chunk_size_p) |
|
std::vector< int > | GetChunkSize () |
|
int | SetChunkSizeByMem (size_t max_mem_size) |
|
int | SetChunkSizeByDim (int dim_rank) |
|
int | GetArraySize (std::vector< unsigned long long > &size_p) |
|
int | SetArraySize (const std::vector< unsigned long long > &size_p) |
|
int | GetArrayRank (int &rank) |
|
int | Backup (std::string data_endpoint_p) |
| write data to another endpoint type, e.g., HDF5 in disk More...
|
|
int | Nonvolatile (std::string data_endpoint_p) |
|
int | Restore (std::string data_endpoint_p) |
| load HDF5 array to IN_MEMORY array
More...
|
|
int | Volatile (std::string data_endpoint_p) |
|
int | Clone (T intial_value) |
| create a local mirror (clone) of array with the inital value More...
|
|
int | Clone () |
| create a local miroor (clone of array) without intial value so, it needs to copy the whole array More...
|
|
int | Merge (int Op) |
|
int | Fill (T fill_value) |
| Fill the array with value (only on rank 0) More...
|
|
int | SetEndpoint (const string &endpoint_id) |
|
int | GetEndpoint (string &endpoint_id) |
|
int | ControlEndpoint (int cmd_p, std::vector< std::string > &arg_v_p) |
| pass command cmd to Endpoint of Array More...
|
|
int | ControlEndpoint (int cmd_p) |
|
int | EndpointControl (int cmd_p, std::vector< std::string > &arg_v_p) |
|
void | ReportCost () |
|
void | ReportTime () |
|
int | GetReadCost (vector< double > &cost_stats) |
|
int | GetWriteCost (vector< double > &cost_stats) |
|
int | GetComputingCost (vector< double > &cost_stats) |
|
template<class PType > |
int | SetTag (const std::string &name, const PType value) |
| Set the Attribute object. More...
|
|
int | SetTag (const std::string &name, const std::string value) |
|
template<class PType > |
int | SetTag (const std::string &name, const std::vector< PType > value) |
|
template<class PType > |
int | GetTag (const std::string &name, PType &value) |
| Get the Attribute object. More...
|
|
int | GetTag (const std::string &name, std::string &value) |
|
template<class PType > |
int | GetTag (const std::string &name, std::vector< PType > &value) |
|
int | GetAllTagName (std::vector< string > &tag_name) |
|
void | DisableCollectiveIO () |
| merge below to EndpointControl More...
|
|
void | EnableCollectiveIO () |
|
int | CreateVisFile (FTVisType vis_type) |
|
int | CreateVisFile () |
|
int | UpdateOverlap () |
|
int | SetDirectOutput () |
|
int | GetStencilTag () |
|
virtual | ~ArrayBase ()=default |
|