Skip to content

Relax empty pencil check during grid descriptor creation to allow more flexibility#103

Merged
romerojosh merged 4 commits intomainfrom
relax_grid_creation_empty_check
Feb 17, 2026
Merged

Relax empty pencil check during grid descriptor creation to allow more flexibility#103
romerojosh merged 4 commits intomainfrom
relax_grid_creation_empty_check

Conversation

@romerojosh
Copy link
Collaborator

Alternative version of #102. Fixes #101.

As it stands right now, cuDecomp will not allow users to create grid descriptors that potentially result in situations where processes have empty pencils with zero elements in any pencil orientation (i.e. x-pencils, y-pencils, z-pencils), which is very conservative. Users might desire using cuDecomp on only a subset of the pencil orientations and might not care if the other orientations have empty processes. For example, in #101, that user is interested in using halo-exchange routines on z-pencils with N x N x 1 dimensions. The current empty pencil checks will not allow this usage at all due to the x- and y- pencil orientations attempting to distribute the 1 dimension.

This PR addresses this limitation by:

  1. Loosening the empty pencil checks during halo autotuning to only the pencil orientation being tested.
  2. Removing the general restriction on creating grid descriptors resulting in empty pencils.

Unlike #102, this PR explicitly disallows running cuDecomp operations on configurations that will encounter empty pencils and throws an error. Effectively, this replaces the more general and conservative empty pencil check in cudecompGridDescCreate to more targeted check that only triggers if a user attempts an unsupported operation. This ultimately makes the library more flexible by allowing more use cases, but also does not add the complexity of handling communicators with empty pencils.

Signed-off-by: Josh Romero <joshr@nvidia.com>
Signed-off-by: Josh Romero <joshr@nvidia.com>
…e flexibility.

Signed-off-by: Josh Romero <joshr@nvidia.com>
Signed-off-by: Josh Romero <joshr@nvidia.com>
@romerojosh
Copy link
Collaborator Author

/build

@github-actions
Copy link

🚀 Build workflow triggered! View run

@github-actions
Copy link

✅ Build workflow passed! View run

@romerojosh romerojosh merged commit c59a8fc into main Feb 17, 2026
4 checks passed
@romerojosh romerojosh deleted the relax_grid_creation_empty_check branch February 24, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

autotuneHaloBackend aggressively rejects valid decompositions for flat 3D grids (e.g. NxNx1)

1 participant