|
bool | SetupDefaultBlobsIn (const std::vector< NDArray > &src, const std::vector< NDArray > *bufs, std::vector< TBlob > *blobs, std::vector< NDArray > *temp_src, std::vector< NDArray > *temp_dst, std::unordered_map< uint32_t, uint32_t > *idx_map) |
|
bool | SetupDefaultBlobsOut (const std::vector< NDArray > &src, const std::vector< NDArray > *bufs, std::vector< OpReqType > *req, std::vector< TBlob > *blobs, std::vector< NDArray > *temp_src, std::vector< NDArray > *temp_dst) |
|
void | SetupDefaultBlobsInOut (const std::vector< NDArray > &ndinputs, const std::vector< NDArray > &ndoutputs, const std::vector< NDArray > *in_bufs, const std::vector< NDArray > *out_bufs, std::vector< OpReqType > *req, std::vector< TBlob > *input_blobs, std::vector< TBlob > *output_blobs, std::vector< NDArray > *pre_temp_src, std::vector< NDArray > *pre_temp_dst, std::vector< NDArray > *post_temp_src, std::vector< NDArray > *post_temp_dst, std::unordered_map< uint32_t, uint32_t > *in_temp_idx_map, const std::vector< uint32_t > &mutate_idx) |
|
void | CastNonDefaultStorage (const std::vector< NDArray > &src, const std::vector< NDArray > &dst, const OpContext &ctx, const bool is_gpu) |
|
bool | SameType (const nnvm::NodeAttrs &attrs, std::vector< int > *iattr, std::vector< int > *oattr) |
| The default type inference function, which assigns all undefined types to the same type of one of the inputs or outputs. More...
|
|
bool | DefaultStorageType (const nnvm::NodeAttrs &attrs, const int dev_mask, DispatchMode *dispatch_mode, std::vector< int > *iattr, std::vector< int > *oattr) |
| The default storage type inference function, which assigns all undefined storage types to kDefaultStorage. If all of input and output storage types are kDefaultStorage, DispatchMode::kFCompute is assigned to dispatch_mode. Otherwise, DispatchMode::kFComputeFallback is assigned to dispatch_mode. More...
|
|
std::string | storage_str (int storage_id) |
|
void | LogMemoryPlan (const nnvm::Graph &g) |
|
void | LogInferStorage (const nnvm::Graph &g) |
|
void | HandleInferShapeError (const size_t num_forward_inputs, const nnvm::IndexedGraph &idx, const nnvm::ShapeVector &inferred_shapes) |
|
void | HandleInferTypeError (const size_t num_forward_inputs, const nnvm::IndexedGraph &idx, const nnvm::DTypeVector &inferred_dtypes) |
|
void | HandleInferStorageTypeError (const size_t num_forward_inputs, const nnvm::IndexedGraph &idx, const StorageTypeVector &inferred_stypes) |
|
NDArray | ReshapeOrCreate (const std::string &name, const TShape &dest_arg_shape, const int dest_arg_dtype, const NDArrayStorageType dest_arg_stype, const Context &ctx, std::unordered_map< std::string, NDArray > *shared_buffer, bool enable_row_sparse_sharing) |
| If the requested ndarray's shape size is less than the corresponding shared_data_array's shape size and the storage type is shareable, reuse the memory allocation in shared_buffer; otherwise, create a zero ndarray. Shareable storages include both default storage and row_sparse storage if enable_row_sparse_sharing is True , otherwise default storage only. More...
|
|
nnvm::Graph | AssignContext (nnvm::Graph g, const Context &default_ctx, const std::map< std::string, Context > &ctx_map, const std::vector< Context > &in_arg_ctxes, const std::vector< Context > &arg_grad_ctxes, const std::vector< Context > &aux_state_ctxes, const std::vector< OpReqType > &grad_req_types, size_t num_forward_inputs, size_t num_forward_outputs) |
| Assign context to the graph. This is triggered by both simple_bind and bind flows. More...
|
|
template<typename T > |
size_t | SerializedSize (const T &obj) |
|
template<typename T > |
size_t | SerializedSize (const nnvm::Tuple< T > &obj) |
|
template<typename K , typename V > |
size_t | SerializedSize (const std::map< K, V > &obj) |
|
template<> |
size_t | SerializedSize (const std::string &obj) |
|
template<typename... Args> |
size_t | SerializedSize (const std::tuple< Args... > &obj) |
|
template<typename T > |
void | Serialize (const T &obj, char **buffer) |
|
template<typename T > |
void | Serialize (const nnvm::Tuple< T > &obj, char **buffer) |
|
template<typename K , typename V > |
void | Serialize (const std::map< K, V > &obj, char **buffer) |
|
template<> |
void | Serialize (const std::string &obj, char **buffer) |
|
template<typename... Args> |
void | Serialize (const std::tuple< Args... > &obj, char **buffer) |
|
template<typename T > |
void | Deserialize (T *obj, const std::string &buffer, size_t *curr_pos) |
|
template<typename T > |
void | Deserialize (nnvm::Tuple< T > *obj, const std::string &buffer, size_t *curr_pos) |
|
template<typename K , typename V > |
void | Deserialize (std::map< K, V > *obj, const std::string &buffer, size_t *curr_pos) |
|
template<> |
void | Deserialize (std::string *obj, const std::string &buffer, size_t *curr_pos) |
|
template<typename... Args> |
void | Deserialize (std::tuple< Args... > *obj, const std::string &buffer, size_t *curr_pos) |
|
template<typename T > |
size_t | SerializedContainerSize (const T &obj, char **buffer) |
|
template<typename T > |
size_t | DeserializedContainerSize (T *obj, const std::string &buffer, size_t *curr_pos) |
|
template<typename T > |
void | Serialize (const T &obj, std::string *serialized_data) |
|
template<typename T > |
void | Deserialize (T *obj, const std::string &serialized_data) |
|
template<typename xpu > |
void | CheckFormatWrapper (const RunContext &rctx, const NDArray &input, const TBlob &err_cpu, const bool full_check) |
|
template<typename xpu > |
void | CheckFormatCSRImpl (const RunContext &rctx, const NDArray &input, const TBlob &err_cpu, const bool full_check) |
| Check the validity of CSRNDArray. More...
|
|
template<typename xpu > |
void | CheckFormatRSPImpl (const RunContext &rctx, const NDArray &input, const TBlob &err_cpu, const bool full_check) |
| Check the validity of RowSparseNDArray. More...
|
|
template<typename xpu > |
void | CheckFormatImpl (const RunContext &rctx, const NDArray &input, const TBlob &err_cpu, const bool full_check) |
|
template<typename xpu > |
void | SparseRetainOpForwardRspWrapper (mshadow::Stream< xpu > *s, const NDArray &input_nd, const TBlob &idx_data, const OpReqType req, NDArray *output_nd) |
| Pick rows specified by user input index array from a row sparse ndarray and save them in the output sparse ndarray. More...
|
|
template<typename xpu > |
void | CastStorageDispatch (const OpContext &ctx, const NDArray &input, const NDArray &output) |
|
bool | ContainsOnlyStorage (const StorageTypeVector &vstorage, const NDArrayStorageType stype) |
| returns true if all storage types in vstorage are the same as target stype . false is returned for empty inputs. More...
|
|
bool | ContainsOnlyStorage (const StorageTypeVector &vstorage, const NDArrayStorageType stype1, const NDArrayStorageType stype2, bool *has_both) |
| returns true if all storage types in vstorage are the same as target stype1 or `stype2'. Sets boolean if both found. false is returned for empty inputs. More...
|
|
bool | ContainsOnlyStorage (const std::vector< NDArray > &ndarrays, const NDArrayStorageType stype) |
| returns true if the storage types of arrays in ndarrays are the same as target stype . false is returned for empty inputs. More...
|
|
bool | ContainsOnlyStorage (const std::vector< NDArray > &ndarrays, const NDArrayStorageType stype1, const NDArrayStorageType stype2, bool *has_both) |
| returns true if the storage types of arrays in ndarrays are the same as targets stype1 or stype2 . false is returned for empty inputs. More...
|
|
bool | ContainsStorageType (const std::vector< NDArray > &ndarrays, const NDArrayStorageType stype) |
| returns true if storage type of any array in ndarrays is the same as the target stype . false is returned for empty inputs. More...
|
|
bool | ContainsStorageType (const std::vector< int > &ndstypes, const NDArrayStorageType stype) |
| returns true if any storage type ndstype in ndstypes is the same as the target stype . false is returned for empty inputs. More...
|
|
std::string | dispatch_mode_string (const DispatchMode x) |
| get string representation of dispatch_mode More...
|
|
std::string | stype_string (const int x) |
| get string representation of storage_type More...
|
|
std::string | dev_type_string (const int dev_type) |
| get string representation of device type More...
|
|
std::string | operator_stype_string (const nnvm::NodeAttrs &attrs, const int dev_mask, const std::vector< int > &in_attrs, const std::vector< int > &out_attrs) |
| get string representation of the operator stypes More...
|
|
std::string | operator_string (const nnvm::NodeAttrs &attrs, const OpContext &ctx, const std::vector< NDArray > &inputs, const std::vector< OpReqType > &req, const std::vector< NDArray > &outputs) |
| get string representation of the operator More...
|
|
void | LogOnce (const std::string &message) |
| log message once. Intended for storage fallback warning messages. More...
|
|
void | LogStorageFallback (const nnvm::NodeAttrs &attrs, const int dev_mask, const std::vector< int > *in_attrs, const std::vector< int > *out_attrs) |
| log storage fallback event More...
|
|
int | GetNumThreadsPerGPU () |
|
int | GetExecNumMatchColor () |
|
template<typename T , typename V > |
V | ParallelAccumulate (const T *a, const int n, V start) |
|
template<typename RandomIt , typename Compare > |
void | ParallelSortHelper (RandomIt first, size_t len, size_t grainsize, const Compare &comp) |
| Helper function for ParallelSort. DO NOT call this function directly. Use the interface ParallelSort instead. Ref: https://github.com/dmlc/difacto/blob/master/src/common/parallel_sort.h. More...
|
|
template<typename RandomIt , typename Compare > |
void | ParallelSort (RandomIt first, RandomIt last, size_t num_threads, Compare comp) |
| Sort the elements in the range [first, last) into the ascending order defined by the comparator comp. If the length of the range [first, last) is greater than a certain threshold, the range will be recursively divided into two and assign two threads to sort each half range. Ref: https://github.com/dmlc/difacto/blob/master/src/common/parallel_sort.h. More...
|
|
template<typename RandomIt > |
void | ParallelSort (RandomIt first, RandomIt last, size_t num_threads) |
| Sort the elements in the range [first, last) into ascending order. The elements are compared using the default < operator. If the length of the range [first, last) is greater than a certain threshold, the range will be recursively divided into two and assign two threads to sort each half range. Ref: https://github.com/dmlc/difacto/blob/master/src/common/parallel_sort.h. More...
|
|
template<class T , class... Args> |
helper::UniqueIf< T >::SingleObject | MakeUnique (Args &&...args) |
| Constructs an object of type T and wraps it in a std :: unique_ptr . More...
|
|
template<class T > |
helper::UniqueIf< T >::UnknownBound | MakeUnique (size_t n) |
| Constructs an object of type T and wraps it in a std :: unique_ptr . More...
|
|
template<class T , class... Args> |
helper::UniqueIf< T >::KnownBound | MakeUnique (Args &&...args)=delete |
| Constructs an object of type T and wraps it in a std :: unique_ptr . More...
|
|
template<typename FCompType > |
FCompType | GetFCompute (const nnvm::Op *op, const std::string &name, const Context &ctx) |
|
template<typename T > |
constexpr size_t | MaxIntegerValue () |
| Return the max integer value representable in the type T without loss of precision. More...
|
|
template<> |
constexpr size_t | MaxIntegerValue< mshadow::half::half_t > () |
|
MSHADOW_XINLINE int | ilog2ul (size_t a) |
|
MSHADOW_XINLINE int | ilog2ui (unsigned int a) |
|
NDArray | InitZeros (const NDArrayStorageType stype, const TShape &shape, const Context &ctx, const int dtype) |
| Return an NDArray of all zeros. More...
|
|
void | EmplaceBackZeros (const NDArrayStorageType stype, const TShape &shape, const Context &ctx, const int dtype, std::vector< NDArray > *vec) |
| Helper to add a NDArray of zeros to a std::vector. More...
|
|
template<typename DType > |
void | ParallelCopy (DType *dst, const DType *src, index_t size) |
| parallelize copy by OpenMP. More...
|
|