GRU_HANDLE_STRIDE
return gseg + GRU_CB_BASE + index * GRU_HANDLE_STRIDE;
if ((cb & (GRU_HANDLE_STRIDE - 1)) || ucbnum >= GRU_NUM_CB)
ctxnum * GRU_HANDLE_STRIDE);
ctxnum * GRU_HANDLE_STRIDE);
ctxnum * GRU_HANDLE_STRIDE);
ctxnum * GRU_HANDLE_STRIDE);
GRU_CCH_BASE + ctxnum * GRU_HANDLE_STRIDE);
GRU_HANDLE_STRIDE;
#define GRU_CB_LIMIT (GRU_CB_BASE + GRU_HANDLE_STRIDE * GRU_NUM_CBE)
GRU_##hn##_BASE + GRU_NUM_##hn * GRU_HANDLE_STRIDE && \
(((h) & (GRU_HANDLE_STRIDE - 1)) == 0))
GRU_CB_BASE + GRU_HANDLE_STRIDE * line);
if (gru_user_copy_handle(&ubuf, tfh + i * GRU_HANDLE_STRIDE))
if (gru_user_copy_handle(&ubuf, cbe + i * GRU_HANDLE_STRIDE))
cb += GRU_HANDLE_STRIDE;
memcpy(ubuf, gseg + GRU_DS_BASE, dsrcnt * GRU_HANDLE_STRIDE);
gru_vset(cb0 + i * GRU_HANDLE_STRIDE, uv_gpa(&buf[i * 4]), 0,
cb = cb0 + i * GRU_HANDLE_STRIDE;
*cb = bs->kernel_cb + lcpu * GRU_HANDLE_STRIDE;
*cb = bs->kernel_cb + ncpus * GRU_HANDLE_STRIDE;
prefetch_data(cbe + i * GRU_HANDLE_STRIDE, 1,
cb += GRU_HANDLE_STRIDE;
save += gru_copy_handle(cbe + i * GRU_HANDLE_STRIDE,
memset(cbe + i * GRU_HANDLE_STRIDE, 0,
gru_flush_cache(cbe + i * GRU_HANDLE_STRIDE);
cb += GRU_HANDLE_STRIDE;
gru_flush_cache(cbe + i * GRU_HANDLE_STRIDE);
save += gru_copy_handle(save, cbe + i * GRU_HANDLE_STRIDE);
cb += GRU_HANDLE_STRIDE;