xgboost
global_config.h
Go to the documentation of this file.
1 
7 #ifndef XGBOOST_GLOBAL_CONFIG_H_
8 #define XGBOOST_GLOBAL_CONFIG_H_
9 
10 #include <dmlc/thread_local.h> // for ThreadLocalStore
11 #include <xgboost/parameter.h> // for XGBoostParameter
12 
13 #include <cstdint> // for int32_t
14 
15 namespace xgboost {
16 struct GlobalConfiguration : public XGBoostParameter<GlobalConfiguration> {
17  std::int32_t verbosity{1};
18  bool use_rmm{false};
19  // This is not a dmlc parameter to avoid conflict with the context class.
20  std::int32_t nthread{0};
22  DMLC_DECLARE_FIELD(verbosity)
23  .set_range(0, 3)
24  .set_default(1) // shows only warning
25  .describe("Flag to print out detailed breakdown of runtime.");
26  DMLC_DECLARE_FIELD(use_rmm).set_default(false).describe(
27  "Whether to use RAPIDS Memory Manager to allocate GPU memory in XGBoost");
28  }
29 };
30 
31 using GlobalConfigThreadLocalStore = dmlc::ThreadLocalStore<GlobalConfiguration>;
32 
33 struct InitNewThread {
35  std::int32_t device{-1};
36 
37  void operator()() const;
39 };
40 } // namespace xgboost
41 
42 #endif // XGBOOST_GLOBAL_CONFIG_H_
Core data structure for multi-target trees.
Definition: base.h:89
dmlc::ThreadLocalStore< GlobalConfiguration > GlobalConfigThreadLocalStore
Definition: global_config.h:31
macro for using C++11 enum class as DMLC parameter
Definition: global_config.h:16
bool use_rmm
Definition: global_config.h:18
std::int32_t nthread
Definition: global_config.h:20
DMLC_DECLARE_PARAMETER(GlobalConfiguration)
Definition: global_config.h:21
std::int32_t verbosity
Definition: global_config.h:17
Definition: global_config.h:33
GlobalConfiguration config
Definition: global_config.h:34
std::int32_t device
Definition: global_config.h:35
void operator()() const
Definition: parameter.h:84