Skip to content

Commit 52f566f

Browse files
authored
Fix additional instance of erroneous empty pencil check. Some Fortran module clean up. (#12)
* Use gdim_dist in empty pencil checks. Fix check in cudecompGridDescCreate function. * Minor cleanup of Fortran module.
1 parent 8d8d12a commit 52f566f

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

src/autotune.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,8 @@ void autotuneTransposeBackend(cudecompHandle_t handle, cudecompGridDesc_t grid_d
153153
CHECK_CUDECOMP(cudecompGetPencilInfo(handle, grid_desc, &pinfo_z, 2, nullptr));
154154

155155
// Skip any decompositions with empty pencils
156-
if (grid_desc->config.pdims[0] > std::min(grid_desc->config.gdims[0], grid_desc->config.gdims[1]) ||
157-
grid_desc->config.pdims[1] > std::min(grid_desc->config.gdims[1], grid_desc->config.gdims[2])) {
156+
if (grid_desc->config.pdims[0] > std::min(grid_desc->config.gdims_dist[0], grid_desc->config.gdims_dist[1]) ||
157+
grid_desc->config.pdims[1] > std::min(grid_desc->config.gdims_dist[1], grid_desc->config.gdims_dist[2])) {
158158
continue;
159159
}
160160

src/cudecomp.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -344,8 +344,9 @@ cudecompResult_t cudecompGridDescCreate(cudecompHandle_t handle, cudecompGridDes
344344
for (auto& event : grid_desc->events) { CHECK_CUDA(cudaEventCreateWithFlags(&event, cudaEventDisableTiming)); }
345345

346346
// Disable decompositions with empty pencils
347-
if (!autotune_pdims && (std::max(grid_desc->config.pdims[0], grid_desc->config.pdims[1]) >
348-
std::min(grid_desc->config.gdims[1], grid_desc->config.gdims[2]))) {
347+
if (!autotune_pdims &&
348+
(grid_desc->config.pdims[0] > std::min(grid_desc->config.gdims_dist[0], grid_desc->config.gdims_dist[1]) ||
349+
grid_desc->config.pdims[1] > std::min(grid_desc->config.gdims_dist[1], grid_desc->config.gdims_dist[2]))) {
349350
THROW_NOT_SUPPORTED("grid descriptor settings yields a distribution with empty pencils");
350351
}
351352

src/cudecomp_m.cuf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ module cudecomp
3030
use, intrinsic :: iso_c_binding
3131
use, intrinsic :: iso_fortran_env, only: int64, real32, real64
3232
use cudafor
33+
private :: cudafor
3334

3435
! enumerators
3536

@@ -601,6 +602,7 @@ contains
601602
end function cudecompGetPencilInfo
602603

603604
function cudecompGetHaloWorkspaceSize(handle, grid_desc, axis, halo_extents, workspace_size) result(res)
605+
implicit none
604606
type(cudecompHandle) :: handle
605607
type(cudecompGridDesc) :: grid_desc
606608
integer :: axis

0 commit comments

Comments
 (0)