Porting elementwise metrics to GPU. (#3952)

* Port elementwise metrics to GPU.

* All elementwise metrics are converted to static polymorphic.
* Create a reducer for metrics reduction.
* Remove const of Metric::Eval to accommodate CubMemory.
This commit is contained in:
Jiaming Yuan
2018-12-01 18:46:45 +13:00
committed by GitHub
parent a9d684db18
commit 48dddfd635
14 changed files with 605 additions and 279 deletions

View File

@@ -127,7 +127,7 @@ inline bool CheckNAN(T v) {
#endif
}
template<typename T>
inline T LogGamma(T v) {
XGBOOST_DEVICE inline T LogGamma(T v) {
#ifdef _MSC_VER
#if _MSC_VER >= 1800
return lgamma(v);