Skip to content

Commit 240fe22

Browse files
authored
Merge pull request #1982 from CEED/zach/fix-gen-compile-error
2 parents 0c6f1e6 + 58aaaa9 commit 240fe22

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

backends/hip-gen/ceed-hip-gen-operator-build.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff 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;

0 commit comments

Comments
 (0)