Skip to content

Commit

Permalink
Mark CUDA 10.1 as unsupported. (#4265)
Browse files Browse the repository at this point in the history
  • Loading branch information
trivialfis authored Mar 17, 2019
1 parent fdcae02 commit cf8d5b9
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
7 changes: 4 additions & 3 deletions doc/build.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ This page gives instructions on how to build and install XGBoost from scratch on
.. note:: Use of Git submodules

XGBoost uses Git submodules to manage dependencies. So when you clone the repo, remember to specify ``--recursive`` option:

.. code-block:: bash
git clone --recursive https://github.com/dmlc/xgboost
Expand Down Expand Up @@ -185,7 +185,9 @@ Building with GPU support
=========================
XGBoost can be built with GPU support for both Linux and Windows using CMake. GPU support works with the Python package as well as the CLI version. See `Installing R package with GPU support`_ for special instructions for R.

An up-to-date version of the CUDA toolkit is required.
An up-to-date version of the CUDA toolkit is required. Please note that we
skipped the support for compiling XGBoost with NVCC 10.1 due a small bug in its
spliter, see `#4264 <https://github.com/dmlc/xgboost/issues/4264>`_.

From the command line on Linux starting from the XGBoost directory:

Expand Down Expand Up @@ -448,4 +450,3 @@ Trouble Shooting
.. code-block:: bash
git clone https://github.com/dmlc/xgboost --recursive
9 changes: 5 additions & 4 deletions src/common/device_helpers.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@
#include "../common/io.h"
#endif

// Uncomment to enable
#define TIMERS
#if __CUDACC_VER_MAJOR__ == 10 && __CUDACC_VER_MINOR__ == 1
#error "CUDA 10.1 is not supported, see #4264."
#endif

namespace dh {

Expand Down Expand Up @@ -893,14 +894,14 @@ class AllReducer {
int nccl_nranks = std::accumulate(device_counts.begin(),
device_counts.end(), 0);
nccl_rank += nccl_rank_offset;

GroupStart();
for (size_t i = 0; i < device_ordinals.size(); i++) {
int dev = device_ordinals.at(i);
dh::safe_cuda(cudaSetDevice(dev));
dh::safe_nccl(ncclCommInitRank(
&comms.at(i),
nccl_nranks, id,
nccl_nranks, id,
nccl_rank));

nccl_rank++;
Expand Down

0 comments on commit cf8d5b9

Please sign in to comment.