mxnet
Namespaces | Classes | Typedefs | Functions
mxnet::common Namespace Reference

Namespaces

 cuda
 common utils for cuda
 
 helper
 Helper functions.
 

Classes

class  LazyAllocArray
 
class  ObjectPool
 Object pool for fast allocation and deallocation. More...
 
struct  ObjectPoolAllocatable
 Helper trait class for easy allocation and deallocation. More...
 

Typedefs

typedef std::mt19937 RANDOM_ENGINE
 Random Engine. More...
 

Functions

bool SetupDefaultBlobs (const std::vector< NDArray > &src, std::vector< TBlob > *blobs, std::vector< NDArray > *temp_src, std::vector< NDArray > *temp_dst, std::unordered_map< uint32_t, uint32_t > *idx_map=nullptr)
 
void SetupDefaultBlobsInOut (const std::vector< NDArray > &ndinputs, const std::vector< NDArray > &ndoutputs, 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)
 
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...
 
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...
 
int GetNumThreadPerGPU ()
 
int GetExecNumMatchColor ()
 
template<typename T , typename 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)
 

Typedef Documentation

typedef std::mt19937 mxnet::common::RANDOM_ENGINE

Random Engine.

Function Documentation

void mxnet::common::CastNonDefaultStorage ( const std::vector< NDArray > &  src,
const std::vector< NDArray > &  dst,
const OpContext ctx,
const bool  is_gpu 
)
inline
template<typename xpu >
void mxnet::common::CastStorageDispatch ( const OpContext ctx,
const NDArray input,
const NDArray output 
)
bool mxnet::common::ContainsOnlyStorage ( const StorageTypeVector vstorage,
const NDArrayStorageType  stype 
)
inline

returns true if all storage types in vstorage are the same as target stype. false is returned for empty inputs.

bool mxnet::common::ContainsOnlyStorage ( const StorageTypeVector vstorage,
const NDArrayStorageType  stype1,
const NDArrayStorageType  stype2,
bool *  has_both 
)
inline

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.

bool mxnet::common::ContainsOnlyStorage ( const std::vector< NDArray > &  ndarrays,
const NDArrayStorageType  stype 
)
inline

returns true if the storage types of arrays in ndarrays are the same as target stype. false is returned for empty inputs.

bool mxnet::common::ContainsOnlyStorage ( const std::vector< NDArray > &  ndarrays,
const NDArrayStorageType  stype1,
const NDArrayStorageType  stype2,
bool *  has_both 
)
inline

returns true if the storage types of arrays in ndarrays are the same as targets stype1 or stype2. false is returned for empty inputs.

std::string mxnet::common::dispatch_mode_string ( const DispatchMode  x)
inline

get string representation of dispatch_mode

int mxnet::common::GetExecNumMatchColor ( )
inline
template<typename FCompType >
FCompType mxnet::common::GetFCompute ( const nnvm::Op *  op,
const std::string &  name,
const Context ctx 
)
int mxnet::common::GetNumThreadPerGPU ( )
inline
template<class T , class... Args>
helper::UniqueIf<T>::SingleObject mxnet::common::MakeUnique ( Args &&...  args)
delete

Constructs an object of type T and wraps it in a std::unique_ptr.

Parameters
argsList of arguments with which an instance of T will be constructed.
Returns
std::unique_ptr of an instance of type T.

Constructs a non-array type T. The arguments args are passed to the constructor of T. The function does not participate in the overload resolution if T is an array type.

template<class T >
helper::UniqueIf<T>::UnknownBound mxnet::common::MakeUnique ( size_t  n)

Constructs an object of type T and wraps it in a std::unique_ptr.

Parameters
nThe size of the array to construct.
Returns
std::unique_ptr of an instance of type T.

Constructs an array of unknown bound T. The function does not participate in the overload resolution unless T is an array of unknown bound.

template<class T , class... Args>
helper::UniqueIf<T>::KnownBound mxnet::common::MakeUnique ( Args &&...  args)
delete

Constructs an object of type T and wraps it in a std::unique_ptr.

Parameters
argsList of arguments with which an instance of T will be constructed.

Constructs an arrays of known bound is disallowed.

Parameters
argsList of arguments with which an instance of T will be constructed.
Returns
std::unique_ptr of an instance of type T.

Constructs a non-array type T. The arguments args are passed to the constructor of T. The function does not participate in the overload resolution if T is an array type.

template<typename T , typename V >
V mxnet::common::ParallelAccumulate ( const T *  a,
const int  n,
start 
)
template<typename RandomIt , typename Compare >
void mxnet::common::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.

template<typename RandomIt >
void mxnet::common::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.

template<typename RandomIt , typename Compare >
void mxnet::common::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.

bool mxnet::common::SetupDefaultBlobs ( const std::vector< NDArray > &  src,
std::vector< TBlob > *  blobs,
std::vector< NDArray > *  temp_src,
std::vector< NDArray > *  temp_dst,
std::unordered_map< uint32_t, uint32_t > *  idx_map = nullptr 
)
inline
void mxnet::common::SetupDefaultBlobsInOut ( const std::vector< NDArray > &  ndinputs,
const std::vector< NDArray > &  ndoutputs,
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 
)
inline
std::string mxnet::common::stype_string ( const int  x)
inline

get string representation of storage_type