"vscode:/vscode.git/clone" did not exist on "4176b6326847bb2bd7218ac91337ecdd48214319"
Commit 16eb9e1d authored by rusty1s's avatar rusty1s
Browse files

smarter cumDegree

parent bd050f90
......@@ -8,6 +8,7 @@ template<typename T>
__global__ void cumDegreeKernel(T *self, int64_t *index, ptrdiff_t nEdges) {
KERNEL_LOOP(i, nEdges) {
int64_t r = index[i];
if (i + 1 == nEdges) {self[r] = ScalarConvert<int, T>::to(nEdges);; continue; }
if (r != index[i+1]) { self[r] = ScalarConvert<int, T>::to(i + 1); }
}
}
......
......@@ -20,7 +20,7 @@ void THCTensor_graclus(THCState *state, THCudaLongTensor *self, THCudaLongTensor
THCudaLongTensor_degree(state, degree, row);
THCudaLongTensor *cumDegree = THCudaLongTensor_newWithSize1d(state, nNodes);
THCudaLongTensor_cumDegree(state, cumDegree, row);
THCudaLongTensor_cumDegree(state, self, row);
while(!THCTensor_color(state, self)) {
THCTensor_propose(state, self, prop, row, col, degree, cumDegree);
......
......@@ -20,7 +20,7 @@ void THCTensor_(cumDegree)(THCState *state, THCTensor *self, THCudaLongTensor *i
real *selfData = THCTensor_(data)(state, self);
int64_t *indexData = THCudaLongTensor_data(state, index);
KERNEL_RUN(cumDegreeKernel, nEdges - 1, selfData, indexData);
KERNEL_RUN(cumDegreeKernel, nEdges, selfData, indexData);
}
#endif // THC_GENERIC_FILE
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment