From 1582180e5b5264afe5f19cf43ec11d14b050efe8 Mon Sep 17 00:00:00 2001 From: Chuntao Hong Date: Wed, 20 May 2015 10:09:09 +0800 Subject: [PATCH 1/5] use int32_t to define int and int64_t to define long. in VC long is 32bit --- include/rabit/rabit-inl.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/include/rabit/rabit-inl.h b/include/rabit/rabit-inl.h index 3d1ec59a8..27a130468 100644 --- a/include/rabit/rabit-inl.h +++ b/include/rabit/rabit-inl.h @@ -7,6 +7,7 @@ #ifndef RABIT_RABIT_INL_H #define RABIT_RABIT_INL_H // use engine for implementation +#include #include "./io.h" #include "./utils.h" #include "../rabit.h" @@ -26,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<> From 181ef47053b409562579664bb0f1fc2d7865957f Mon Sep 17 00:00:00 2001 From: Chuntao Hong Date: Wed, 20 May 2015 11:27:50 +0800 Subject: [PATCH 2/5] defined long long and ulonglong --- include/rabit/engine.h | 4 +++- include/rabit/rabit-inl.h | 16 ++++++++++++---- src/engine_mpi.cc | 2 ++ 3 files changed, 17 insertions(+), 5 deletions(-) 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; From 2467942886d75a8eee7091f02b9cfae479997fb4 Mon Sep 17 00:00:00 2001 From: Chuntao Hong Date: Wed, 20 May 2015 11:32:16 +0800 Subject: [PATCH 3/5] remove unnecessary include --- include/rabit/rabit-inl.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/rabit/rabit-inl.h b/include/rabit/rabit-inl.h index 0939bd2cb..219bff174 100644 --- a/include/rabit/rabit-inl.h +++ b/include/rabit/rabit-inl.h @@ -7,7 +7,6 @@ #ifndef RABIT_RABIT_INL_H #define RABIT_RABIT_INL_H // use engine for implementation -#include #include "./io.h" #include "./utils.h" #include "../rabit.h" From f441dc7ed86902aaedb1800c78b776a6b559e8e2 Mon Sep 17 00:00:00 2001 From: Chuntao Hong Date: Wed, 20 May 2015 11:33:48 +0800 Subject: [PATCH 4/5] replace tab with blankspace --- src/engine_mpi.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engine_mpi.cc b/src/engine_mpi.cc index b2a91affd..1c3c56f0d 100644 --- a/src/engine_mpi.cc +++ b/src/engine_mpi.cc @@ -110,8 +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; + case kLong: return MPI::LONG_LONG; + case kULong: return MPI::UNSIGNED_LONG_LONG; } utils::Error("unknown mpi::DataType"); return MPI::CHAR; From df14bb1671d19d68487ca0f45128d7c9e6442f57 Mon Sep 17 00:00:00 2001 From: Chuntao Hong Date: Wed, 20 May 2015 11:36:17 +0800 Subject: [PATCH 5/5] fix type --- src/engine_mpi.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engine_mpi.cc b/src/engine_mpi.cc index 1c3c56f0d..0b04877b8 100644 --- a/src/engine_mpi.cc +++ b/src/engine_mpi.cc @@ -110,8 +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; + case kLongLong: return MPI::LONG_LONG; + case kULongLong: return MPI::UNSIGNED_LONG_LONG; } utils::Error("unknown mpi::DataType"); return MPI::CHAR;