File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2492,8 +2492,15 @@ extern "C" int CeedOperatorBuildKernelLinearAssembleQFunction_Hip_gen(CeedOperat
24922492 // Loop over all elements
24932493 code << " \n " << tab << " // Element loop\n " ;
24942494 code << tab << " __syncthreads();\n " ;
2495- code << tab << " for (CeedInt elem = blockIdx.x*blockDim.z + threadIdx.z; elem < num_elem; elem += gridDim.x*blockDim.z) {\n " ;
2495+ code << tab << " #if CEED_HIP_USE_CHIPSTAR\n " ;
2496+ code << tab << " // Pad out elements so all threads hit syncthreads()\n " ;
2497+ code << tab << " const CeedInt elem_loop_bound = (gridDim.x*blockDim.z) * ceil(1.0*num_elem/(gridDim.x*blockDim.z));\n " ;
2498+ code << tab << " #else\n " ;
2499+ code << tab << " const CeedInt elem_loop_bound = num_elem;\n " ;
2500+ code << tab << " #endif\n " ;
2501+ code << tab << " for (CeedInt e = blockIdx.x*blockDim.z + threadIdx.z; e < elem_loop_bound; e += gridDim.x*blockDim.z) {\n " ;
24962502 tab.push ();
2503+ code << tab << " const CeedInt elem = e % num_elem;\n\n " ;
24972504
24982505 // -- Compute minimum buffer space needed
24992506 CeedInt max_rstr_buffer_size = 1 ;
You can’t perform that action at this time.
0 commit comments