FasTensor  1.0.0
Transform Supercomputing for AI
Public Member Functions | List of all members
FT::Array< T > Class Template Reference

#include <src/ft_array.h>

Inheritance diagram for FT::Array< T >:
FT::ArrayBase

Public Member Functions

 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>
operator() (Is... indexs) const
 
template<typename... Is>
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 &regex_p, std::string &replace_str_p)
 
void SetDirInputRegexSearch (std::regex &regex_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 ()
 
- Public Member Functions inherited from FT::ArrayBase
virtual ~ArrayBase ()=default
 

Detailed Description

template<class T>
class FT::Array< T >

Examples
ft_example_vector.cpp.

Constructor & Destructor Documentation

◆ Array() [1/10]

template<class T >
FT::Array< T >::Array ( )
inline

Construct a new Array object for Write The data can be cached or dumped later.

◆ Array() [2/10]

template<class T >
FT::Array< T >::Array ( std::string  data_endpoint)
inline

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.

Parameters
data_endpointfile information, ("AuDataEndpointType + [file name]") data_endpoint get chunk infro from Apply

◆ Array() [3/10]

template<class T >
FT::Array< T >::Array ( std::string  data_endpoint,
std::vector< int >  cs 
)
inline

Construct a new Array object for read, as Input of Apply.

Parameters
data_endpointcontains file info, ("AuDataEndpointType + file name")
cs,chunksize
os,ghostsize

◆ Array() [4/10]

template<class T >
FT::Array< T >::Array ( std::string  data_endpoint,
std::vector< int >  cs,
std::vector< int >  os 
)
inline

Construct a new Array object for read, as Input of Apply.

Parameters
data_endpointcontains file info, ("AuDataEndpointType + file name")
cs,chunksize
os,ghostsize

◆ Array() [5/10]

template<class T >
FT::Array< T >::Array ( std::string  data_endpoint,
int  auto_chunk_dim_index 
)
inline

Construct a new Array object for read, as Input of Apply.

Parameters
data_endpointfile information ("AuDataEndpointType + file name")
auto_chunk_dim_indexfileinfo is chunked on auto_chunk_dim_index

◆ Array() [6/10]

template<class T >
FT::Array< T >::Array ( std::string  data_endpoint,
std::vector< unsigned long long >  size_p 
)
inline

Construct a new Array object for read, as Input of Apply.

Parameters
data_endpointcontains file info, ("AuDataEndpointType + file name")
cs,chunksize
os,ghostsize

◆ Array() [7/10]

template<class T >
FT::Array< T >::Array ( std::vector< int >  cs,
std::vector< int >  os 
)
inline

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.

Parameters
cschunk size
osoverlap size

◆ Array() [8/10]

template<class T >
FT::Array< T >::Array ( std::vector< int >  cs)
inline

◆ Array() [9/10]

template<class T >
FT::Array< T >::Array ( std::vector< T > &  data_vector_endpoint)
inline

Construct a new Array object from in-memory vector The data are assumed to be 1D too here.

Parameters
data_vector_endpointthe data to intialize

◆ Array() [10/10]

template<class T >
FT::Array< T >::Array ( std::vector< T > &  data_vector_endpoint,
std::vector< int >  cs,
std::vector< int >  os 
)
inline

Construct a new Array object.

Parameters
data_vector_endpoint
cs
os

◆ ~Array()

template<class T >
FT::Array< T >::~Array ( )
inline

Construct a new Array object from in-memory vector The data are assumed to be 1D too here.

Parameters
data_vector_endpointthe data to intialize

Member Function Documentation

◆ AppendAttribute()

template<class T >
template<class AttributeType >
int FT::Array< T >::AppendAttribute ( const std::string &  data_endpoint)
inline

◆ Apply()

template<class T >
template<class UDFOutputType , class BType = UDFOutputType>
void FT::Array< T >::Apply ( Stencil< UDFOutputType >(*)(const Stencil< T > &)  UDF,
Array< BType > *  B = nullptr 
)
inline

Run a UDF on the data pointed by the array.

Template Parameters
UDFOutputType: the output type of UDF
BType: The element type of output Array B
Parameters
UDFpointer to user-defined function
B: Output Array B

◆ Backup()

template<class T >
int FT::Array< T >::Backup ( std::string  data_endpoint_p)
inline

write data to another endpoint type, e.g., HDF5 in disk

Parameters
data_endpoint
Returns
int

◆ CalculateOutputSize()

template<class T >
void FT::Array< T >::CalculateOutputSize ( std::vector< unsigned long long > &  data_size_p,
std::vector< int > &  data_chunk_size_p,
std::vector< int > &  data_overlap_size_p 
)
inline

Calculate the Size of Output array (B)

Parameters
data_size_p,thesize of the output array
data_chunk_size_p,thechunk size of the output array
data_overlap_size_p,theoverlap size of the output array

◆ Clone() [1/2]

template<class T >
int FT::Array< T >::Clone ( )
inline

create a local miroor (clone of array) without intial value so, it needs to copy the whole array

Returns
int

◆ Clone() [2/2]

template<class T >
int FT::Array< T >::Clone ( intial_value)
inline

create a local mirror (clone) of array with the inital value

Parameters
intial_value
Returns
int

◆ ControlEndpoint() [1/2]

template<class T >
int FT::Array< T >::ControlEndpoint ( int  cmd_p)
inlinevirtual

Implements FT::ArrayBase.

◆ ControlEndpoint() [2/2]

template<class T >
int FT::Array< T >::ControlEndpoint ( int  cmd_p,
std::vector< std::string > &  arg_v_p 
)
inlinevirtual

pass command cmd to Endpoint of Array

Parameters
cmd_p: int cmd (specific to Endpoint)
arg_v_p: a vector of arg. It is typed as string and specific to cmd_p

Implements FT::ArrayBase.

◆ ControlOutputVector()

template<class T >
void FT::Array< T >::ControlOutputVector ( OutputVectorFlatDirection  flat_direction,
std::vector< size_t >  flat_shape 
)
inline

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.

Parameters
flat_direction,thedirection to flat the 2D vector to 1D vector
flat_shape,theshape of the data after the flat from 2D to the 2D

◆ CreateEndpoint()

template<class T >
int FT::Array< T >::CreateEndpoint ( std::vector< unsigned long long >  data_size_p,
std::vector< int >  data_chunk_size_p,
std::vector< int >  data_overlap_size_p 
)
inline

◆ CreateVisFile() [1/2]

template<class T >
int FT::Array< T >::CreateVisFile ( )
inline

◆ CreateVisFile() [2/2]

template<class T >
int FT::Array< T >::CreateVisFile ( FTVisType  vis_type)
inline

◆ DisableCollectiveIO()

template<class T >
void FT::Array< T >::DisableCollectiveIO ( )
inline

merge below to EndpointControl

◆ EnableApplyStride()

template<class T >
int FT::Array< T >::EnableApplyStride ( const std::vector< int > &  skip_size_p)
inlinevirtual

Implements FT::ArrayBase.

Examples
ft_example_vector.cpp.

◆ EnableCollectiveIO()

template<class T >
void FT::Array< T >::EnableCollectiveIO ( )
inline

◆ EndpointControl()

template<class T >
int FT::Array< T >::EndpointControl ( int  cmd_p,
std::vector< std::string > &  arg_v_p 
)
inline

◆ EraseAttribute()

template<class T >
int FT::Array< T >::EraseAttribute ( const int &  index)
inline

◆ Fill()

template<class T >
int FT::Array< T >::Fill ( fill_value)
inline

Fill the array with value (only on rank 0)

Parameters
value
Returns
int

◆ GetAllTagName()

template<class T >
int FT::Array< T >::GetAllTagName ( std::vector< string > &  tag_name)
inline

◆ GetArrayRank()

template<class T >
int FT::Array< T >::GetArrayRank ( int &  rank)
inline

◆ GetArraySize()

template<class T >
int FT::Array< T >::GetArraySize ( std::vector< unsigned long long > &  size_p)
inlinevirtual

Implements FT::ArrayBase.

◆ GetAttribute()

template<class T >
int FT::Array< T >::GetAttribute ( const int &  index,
std::string &  endpoint_id 
)
inline

◆ GetAttributeEndpoint()

template<class T >
std::vector<Endpoint *> FT::Array< T >::GetAttributeEndpoint ( )
inline

◆ GetChunkSize() [1/2]

template<class T >
std::vector<int> FT::Array< T >::GetChunkSize ( )
inline

◆ GetChunkSize() [2/2]

template<class T >
int FT::Array< T >::GetChunkSize ( std::vector< int > &  data_chunk_size_p)
inline

◆ GetComputingCost()

template<class T >
int FT::Array< T >::GetComputingCost ( vector< double > &  cost_stats)
inline

◆ GetDirChunkSize()

template<class T >
std::vector<int> FT::Array< T >::GetDirChunkSize ( )
inline

◆ GetDirFile()

template<class T >
std::vector<std::string> FT::Array< T >::GetDirFile ( )
inline

◆ GetEndpoint()

template<class T >
int FT::Array< T >::GetEndpoint ( string &  endpoint_id)
inline

◆ GetEndpointType()

template<class T >
AuEndpointType FT::Array< T >::GetEndpointType ( )
inline

◆ GetOverlapSize()

template<class T >
int FT::Array< T >::GetOverlapSize ( vector< int > &  os_p)
inline

◆ GetReadCost()

template<class T >
int FT::Array< T >::GetReadCost ( vector< double > &  cost_stats)
inline

◆ GetStencilTag()

template<class T >
int FT::Array< T >::GetStencilTag ( )
inlinevirtual

Implements FT::ArrayBase.

◆ GetTag() [1/3]

template<class T >
template<class PType >
int FT::Array< T >::GetTag ( const std::string &  name,
PType &  value 
)
inline

Get the Attribute object.

Template Parameters
AType
Parameters
name
value,return
Returns
int

◆ GetTag() [2/3]

template<class T >
int FT::Array< T >::GetTag ( const std::string &  name,
std::string &  value 
)
inlinevirtual

Implements FT::ArrayBase.

◆ GetTag() [3/3]

template<class T >
template<class PType >
int FT::Array< T >::GetTag ( const std::string &  name,
std::vector< PType > &  value 
)
inline

◆ GetValue()

template<class T >
template<typename... Is>
T FT::Array< T >::GetValue ( Is...  indexs)
inline

Get the Value at indexs.

Template Parameters
Is: index type
Parameters
indexs: the index of data
Returns
T : the value at indexs

◆ GetVirtualArrayFlag()

template<class T >
bool FT::Array< T >::GetVirtualArrayFlag ( )
inline

◆ GetWriteCost()

template<class T >
int FT::Array< T >::GetWriteCost ( vector< double > &  cost_stats)
inline

◆ HasNextChunk()

template<class T >
bool FT::Array< T >::HasNextChunk ( )
inline

◆ InferOutputSize()

template<class T >
void FT::Array< T >::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 
)
inline

infer the size for output array

Parameters
data_size_p
data_chunk_size_p
data_overlap_size_p
output_vector_size

◆ InitializeApplyInput()

template<class T >
template<class UDFOutputType >
void FT::Array< T >::InitializeApplyInput ( Stencil< UDFOutputType >(*)(const Stencil< T > &)  UDF)
inline

◆ InsertAttribute()

template<class T >
template<class AttributeType >
int FT::Array< T >::InsertAttribute ( const std::string &  data_endpoint,
const int  index 
)
inline

◆ LoadNextChunk()

template<class T >
int FT::Array< T >::LoadNextChunk ( unsigned long long &  result_vector_size)
inline

Load the next chunk.

Parameters
result_vector_size
Returns
1, data read into local_chunk_data 0, end of file (no data left to handle) -1: error happen

◆ Merge()

template<class T >
int FT::Array< T >::Merge ( int  Op)
inline

◆ Nonvolatile()

template<class T >
int FT::Array< T >::Nonvolatile ( std::string  data_endpoint_p)
inline

◆ operator()()

template<class T >
template<typename... Is>
T FT::Array< T >::operator() ( Is...  indexs) const
inline

◆ PrintEndpointInfo()

template<class T >
void FT::Array< T >::PrintEndpointInfo ( )
inline

print endpoint info of this array

◆ PushBackAttribute()

template<class T >
template<class AttributeType >
void FT::Array< T >::PushBackAttribute ( std::string  data_endpoint)
inline

◆ ReadArray() [1/2]

template<class T >
int FT::Array< T >::ReadArray ( const std::vector< unsigned long long > &  start,
const std::vector< unsigned long long > &  end,
std::vector< T > &  data_vector 
)
inline

◆ ReadArray() [2/2]

template<class T >
std::vector<T> FT::Array< T >::ReadArray ( const std::vector< unsigned long long >  start,
const std::vector< unsigned long long >  end 
)
inline

◆ ReadEndpoint()

template<class T >
int FT::Array< T >::ReadEndpoint ( std::vector< unsigned long long > &  start_p,
std::vector< unsigned long long > &  end_p,
void *  data 
)
inline

◆ ReadModifyWriteArray()

template<class T >
int FT::Array< T >::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 
)
inline

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.

Parameters
start_p
end_p
data_p
op
Returns
int

◆ ReportCost()

template<class T >
void FT::Array< T >::ReportCost ( )
inlinevirtual

Implements FT::ArrayBase.

◆ ReportTime()

template<class T >
void FT::Array< T >::ReportTime ( )
inline

◆ Restore()

template<class T >
int FT::Array< T >::Restore ( std::string  data_endpoint_p)
inline

load HDF5 array to IN_MEMORY array

Parameters
data_endpoint_p
Returns
int

◆ SchduleChunkNext()

template<class T >
void FT::Array< T >::SchduleChunkNext ( )
inline

update current_chunk_id

Returns
int

◆ SetArraySize()

template<class T >
int FT::Array< T >::SetArraySize ( const std::vector< unsigned long long > &  size_p)
inline

◆ SetChunkSize()

template<class T >
int FT::Array< T >::SetChunkSize ( std::vector< int >  data_chunk_size_p)
inlinevirtual

Implements FT::ArrayBase.

◆ SetChunkSizeByDim()

template<class T >
int FT::Array< T >::SetChunkSizeByDim ( int  dim_rank)
inline

◆ SetChunkSizeByMem()

template<class T >
int FT::Array< T >::SetChunkSizeByMem ( size_t  max_mem_size)
inline

◆ SetDirChunkSize()

template<class T >
void FT::Array< T >::SetDirChunkSize ( std::vector< int > &  dir_chunk_size_p)
inline

◆ SetDirectOutput()

template<class T >
int FT::Array< T >::SetDirectOutput ( )
inline

◆ SetDirFile()

template<class T >
void FT::Array< T >::SetDirFile ( std::vector< std::string > &  file_list)
inline

◆ SetDirInputRegexSearch()

template<class T >
void FT::Array< T >::SetDirInputRegexSearch ( std::regex &  regex_p)
inline

◆ SetDirOutputRegexReplace()

template<class T >
void FT::Array< T >::SetDirOutputRegexReplace ( std::regex &  regex_p,
std::string &  replace_str_p 
)
inline

◆ SetEndpoint()

template<class T >
int FT::Array< T >::SetEndpoint ( const string &  endpoint_id)
inline

◆ SetOverlapPadding()

template<class T >
int FT::Array< T >::SetOverlapPadding ( const T &  padding_value_p)
inline

◆ SetOverlapSize()

template<class T >
int FT::Array< T >::SetOverlapSize ( const vector< int >  os_p)
inlinevirtual

Implements FT::ArrayBase.

◆ SetOverlapSizeByDetection()

template<class T >
int FT::Array< T >::SetOverlapSizeByDetection ( )
inline

◆ SetStride()

template<class T >
int FT::Array< T >::SetStride ( const std::vector< int > &  skip_size_p)
inline

◆ SetTag() [1/3]

template<class T >
template<class PType >
int FT::Array< T >::SetTag ( const std::string &  name,
const PType  value 
)
inline

Set the Attribute object.

Template Parameters
AType,thetype of the value (can not be vector)
Parameters
name
value
Returns
int

◆ SetTag() [2/3]

template<class T >
int FT::Array< T >::SetTag ( const std::string &  name,
const std::string  value 
)
inline

◆ SetTag() [3/3]

template<class T >
template<class PType >
int FT::Array< T >::SetTag ( const std::string &  name,
const std::vector< PType >  value 
)
inline

◆ SetValue()

template<class T >
template<typename... Is>
void FT::Array< T >::SetValue ( data_p,
Is...  indexs 
)
inline

◆ SetVectorDirection()

template<class T >
void FT::Array< T >::SetVectorDirection ( OutputVectorFlatDirection  flat_direction_index)
inlinevirtual

Implements FT::ArrayBase.

◆ SetVirtualArrayFlag()

template<class T >
void FT::Array< T >::SetVirtualArrayFlag ( bool  flag_p)
inline

◆ SyncOverlap()

template<class T >
int FT::Array< T >::SyncOverlap ( )
inline

◆ Transform() [1/2]

template<class T >
template<class UDFOutputType , class BType = UDFOutputType>
void FT::Array< T >::Transform ( Stencil< UDFOutputType >(*)(const Stencil< T > &)  UDF,
Array< BType > &  B 
)
inline

◆ Transform() [2/2]

template<class T >
template<class UDFOutputType , class BType = UDFOutputType>
void FT::Array< T >::Transform ( Stencil< UDFOutputType >(*)(const Stencil< T > &)  UDF,
Array< BType > *  B = nullptr 
)
inline

Run a UDF on the data pointed by the array.

Template Parameters
UDFOutputType: the output type of UDF
BType: The element type of output Array B
Parameters
UDFpointer to user-defined function
B: Output Array B

◆ UpdateChunkSize()

template<class T >
void FT::Array< T >::UpdateChunkSize ( )
inline

Update the chunk size, given chunk_size_by_user_flag/chunk_size_by_user_by_dimension_flag.

Parameters
chunk_size_p
overlap_size_p
data_size

◆ UpdateOverlap()

template<class T >
int FT::Array< T >::UpdateOverlap ( )
inline

◆ UpdateOverlapSize()

template<class T >
template<class UDFOutputType >
int FT::Array< T >::UpdateOverlapSize ( Stencil< UDFOutputType >(*)(const Stencil< T > &)  UDF)
inline

◆ Volatile()

template<class T >
int FT::Array< T >::Volatile ( std::string  data_endpoint_p)
inline

◆ WriteArray() [1/2]

template<class T >
int FT::Array< T >::WriteArray ( const std::vector< unsigned long long > &  start_p,
const std::vector< unsigned long long > &  end_p,
std::vector< T > &  data_p 
)
inline

◆ WriteArray() [2/2]

template<class T >
int FT::Array< T >::WriteArray ( std::vector< unsigned long long > &  start_p,
std::vector< unsigned long long > &  end_p,
std::vector< std::vector< T >>  data_p 
)
inline

◆ WriteEndpoint()

template<class T >
int FT::Array< T >::WriteEndpoint ( std::vector< unsigned long long > &  start_p,
std::vector< unsigned long long > &  end_p,
void *  data 
)
inline

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