6 #ifndef MXNET_COMMON_UTILS_H_
7 #define MXNET_COMMON_UTILS_H_
11 #include <type_traits>
16 #endif // DMLC_USE_CXX11
18 #include <dmlc/logging.h>
28 return dmlc::GetEnv(
"MXNET_GPU_WORKER_NTHREADS", 2);
35 int num_match_color = dmlc::GetEnv(
"MXNET_EXEC_NUM_TEMP", 1);
74 template <
class T,
size_t kSize>
95 template <
class T,
class... Args>
97 return std::unique_ptr<T>(
new T(std::forward<Args>(args)...));
111 using U =
typename std::remove_extent<T>::type;
112 return std::unique_ptr<T>(
new U[n]{});
123 template <
class T,
class... Args>
124 typename helper::UniqueIf<T>::KnownBound
MakeUnique(Args&&... args) =
delete;
126 #endif // DMLC_USE_CXX11
130 #endif // MXNET_COMMON_UTILS_H_
void KnownBound
Type of T.
Definition: utils.h:79
int GetNumThreadPerGPU()
Definition: utils.h:26
std::mt19937 RANDOM_ENGINE
Random Engine.
Definition: utils.h:42
Helper for non-array type T.
Definition: utils.h:53
std::unique_ptr< T[]> UnknownBound
Type of T.
Definition: utils.h:68
std::unique_ptr< T > SingleObject
Type of T.
Definition: utils.h:57
int GetExecNumMatchColor()
Definition: utils.h:33
helper::UniqueIf< T >::SingleObject MakeUnique(Args &&...args)
Constructs an object of type T and wraps it in a std::unique_ptr.
Definition: utils.h:96