Skip to content

Commit

Permalink
support cuda 10.1 (#4223)
Browse files Browse the repository at this point in the history
* support cuda 10.1

* add cuda 10.1 to jenkins build matrix
  • Loading branch information
rongou authored and RAMitchell committed Mar 7, 2019
1 parent 0944360 commit 9837b09
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 3 deletions.
2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def dockerRun = 'tests/ci_build/ci_build.sh'
def utils

def buildMatrix = [
[ "enabled": true, "os" : "linux", "withGpu": true, "withNccl": true, "withOmp": true, "pythonVersion": "2.7", "cudaVersion": "9.2", "multiGpu": true],
[ "enabled": true, "os" : "linux", "withGpu": true, "withNccl": true, "withOmp": true, "pythonVersion": "2.7", "cudaVersion": "10.1", "multiGpu": true],
[ "enabled": true, "os" : "linux", "withGpu": true, "withNccl": true, "withOmp": true, "pythonVersion": "2.7", "cudaVersion": "9.2" ],
[ "enabled": true, "os" : "linux", "withGpu": true, "withNccl": true, "withOmp": true, "pythonVersion": "2.7", "cudaVersion": "8.0" ],
[ "enabled": true, "os" : "linux", "withGpu": true, "withNccl": false, "withOmp": true, "pythonVersion": "2.7", "cudaVersion": "8.0" ],
Expand Down
4 changes: 3 additions & 1 deletion cmake/Utils.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,9 @@ endfunction(set_default_configuration_release)
function(format_gencode_flags flags out)
# Set up architecture flags
if(NOT flags)
if((CUDA_VERSION_MAJOR EQUAL 9) OR (CUDA_VERSION_MAJOR GREATER 9))
if((CUDA_VERSION_MAJOR EQUAL 10) OR (CUDA_VERSION_MAJOR GREATER 10))
set(flags "35;50;52;60;61;70;75")
elseif(CUDA_VERSION_MAJOR EQUAL 9)
set(flags "35;50;52;60;61;70")
else()
set(flags "35;50;52;60;61")
Expand Down
3 changes: 2 additions & 1 deletion src/common/host_device_vector.cu
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@ struct HostDeviceVectorImpl {
if (vec_ == nullptr) { vec_ = vec; }
CHECK_EQ(vec, vec_);
device_ = device;
LazyResize(vec_->Size());
// TODO(rongou): remove pointer dereference once CUDA 10.1 is fixed.
LazyResize((*vec_).Size());
perm_d_ = vec_->perm_h_.Complementary();
}

Expand Down
4 changes: 4 additions & 0 deletions src/tree/updater_gpu.cu
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,11 @@ __global__ void CubScanByKeyL1(
// in order to pass on the partial scan values.
// this statement MUST appear before the checks below!
// else, the result of this shuffle operation will be undefined
#if (__CUDACC_VER_MAJOR__ >= 9)
int previousKey = __shfl_up_sync(0xFFFFFFFF, myKey, 1);
#else
int previousKey = __shfl_up(myKey, 1);
#endif
// Collectively compute the block-wide exclusive prefix sum
BlockScan(temp_storage)
.ExclusiveScan(threadData, threadData, rootPair, AddByKey());
Expand Down

0 comments on commit 9837b09

Please sign in to comment.