diff --git a/include/rabit/engine.h b/include/rabit/engine.h index a2f5da25b..272bbb8ef 100644 --- a/include/rabit/engine.h +++ b/include/rabit/engine.h @@ -183,7 +183,9 @@ enum DataType { kLong = 4, kULong = 5, kFloat = 6, - kDouble = 7 + kDouble = 7, + kLongLong = 8, + kULongLong = 9 }; } // namespace mpi /*! diff --git a/include/rabit/rabit-inl.h b/include/rabit/rabit-inl.h index 27a130468..0939bd2cb 100644 --- a/include/rabit/rabit-inl.h +++ b/include/rabit/rabit-inl.h @@ -27,19 +27,19 @@ inline DataType GetType(void) { return kUChar; } template<> -inline DataType GetType(void) { +inline DataType GetType(void) { return kInt; } template<> -inline DataType GetType(void) { +inline DataType GetType(void) { return kUInt; } template<> -inline DataType GetType(void) { +inline DataType GetType(void) { return kLong; } template<> -inline DataType GetType(void) { +inline DataType GetType(void) { return kULong; } template<> @@ -50,6 +50,14 @@ template<> inline DataType GetType(void) { return kDouble; } +template<> +inline DataType GetType(void) { + return kLongLong; +} +template<> +inline DataType GetType(void) { + return kULongLong; +} } // namespace mpi } // namespace engine diff --git a/src/engine_mpi.cc b/src/engine_mpi.cc index 5c8a4c372..b2a91affd 100644 --- a/src/engine_mpi.cc +++ b/src/engine_mpi.cc @@ -110,6 +110,8 @@ inline MPI::Datatype GetType(mpi::DataType dtype) { case kULong: return MPI::UNSIGNED_LONG; case kFloat: return MPI::FLOAT; case kDouble: return MPI::DOUBLE; + case kLong: return MPI::LONG_LONG; + case kULong: return MPI::UNSIGNED_LONG_LONG; } utils::Error("unknown mpi::DataType"); return MPI::CHAR;