ext/cumo/narray/index.c in cumo-0.4.1 vs ext/cumo/narray/index.c in cumo-0.4.2
- old
+ new
@@ -855,10 +855,12 @@
if (j == na->ndim) {
for (i=j-1; i>=0; i--) {
x = cumo_na_range_check(idx[i], na->shape[i], i);
sdx = nv->stridx[i];
if (CUMO_SDX_IS_INDEX(sdx)) {
+ CUMO_SHOW_SYNCHRONIZE_FIXME_WARNING_ONCE("index", "cumo_na_get_result_dimension");
+ cumo_cuda_runtime_check_status(cudaDeviceSynchronize());
pos += CUMO_SDX_GET_INDEX(sdx)[x];
} else {
pos += CUMO_SDX_GET_STRIDE(sdx)*x;
}
}
@@ -870,9 +872,11 @@
s = na->shape[i];
m = x % s;
x = x / s;
sdx = nv->stridx[i];
if (CUMO_SDX_IS_INDEX(sdx)) {
+ CUMO_SHOW_SYNCHRONIZE_FIXME_WARNING_ONCE("index", "cumo_na_get_result_dimension");
+ cumo_cuda_runtime_check_status(cudaDeviceSynchronize());
pos += CUMO_SDX_GET_INDEX(sdx)[m];
} else {
pos += CUMO_SDX_GET_STRIDE(sdx)*m;
}
}