increase shard

This commit is contained in:
Ubuntu 2016-01-28 00:58:48 +00:00 committed by tqchen
parent 724eda2435
commit c36195795a

View File

@ -141,9 +141,21 @@ DMatrix* DMatrix::Load(const std::string& uri,
<< "Only one `#` is allowed in file path for cache file specification."; << "Only one `#` is allowed in file path for cache file specification.";
if (load_row_split) { if (load_row_split) {
std::ostringstream os; std::ostringstream os;
os << "r" << rabit::GetRank() std::vector<std::string> cache_shards = common::Split(cache_file, ':');
for (size_t i = 0; i < cache_shards.size(); ++i) {
size_t pos = cache_shards[i].rfind('.');
if (pos == std::string::npos) {
os << cache_shards[i]
<< ".r" << rabit::GetRank()
<< "-" << rabit::GetWorldSize();
} else {
os << cache_shards[i].substr(0, pos)
<< ".r" << rabit::GetRank()
<< "-" << rabit::GetWorldSize() << "-" << rabit::GetWorldSize()
<< "." << cache_file; << cache_shards[i].substr(pos, cache_shards[i].length());
}
if (i + 1 != cache_shards.size()) os << ':';
}
cache_file = os.str(); cache_file = os.str();
} }
} else { } else {