diff --git a/python/cuml/prims/stats/covariance.py b/python/cuml/prims/stats/covariance.py index deec643328..aa4761fb5a 100644 --- a/python/cuml/prims/stats/covariance.py +++ b/python/cuml/prims/stats/covariance.py @@ -48,16 +48,18 @@ for(int idx = start_idx; idx< stop_idx; idx++){ int index1 = index[idx]; {0} data1 = data[idx]; - atomicAdd(&out[index1*ncols+index1],data1*data1); + long long int outidx = static_cast(index1) *ncols+index1; + atomicAdd(&out[outidx],data1*data1); atomicAdd(&mean[index1],data1); for(int idx2 = idx+1; idx2< stop_idx; idx2++){ int index2 = index[idx2]; {0} data2 = data[idx2]; - atomicAdd(&out[index1*ncols+index2],data1*data2); + long long int outidx2 = static_cast(index1) *ncols+index2; + atomicAdd(&out[outidx2],data1*data2); } } } - """ +""" def _cov_kernel(dtype):