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; } }