Skip to content

Add node-local-aware EnsureDirectory helper#813

Draft
Sbozzolo wants to merge 1 commit into
mainfrom
gbozzola/node-local-output-dirs
Draft

Add node-local-aware EnsureDirectory helper#813
Sbozzolo wants to merge 1 commit into
mainfrom
gbozzola/node-local-output-dirs

Conversation

@Sbozzolo

Copy link
Copy Markdown
Member

Palace created output directories only on the global root rank, which breaks on clusters where each node has its own local filesystem: ranks on non-root nodes write per-rank output into a directory that was never created there.

Add EnsureDirectory(dir, comm): the global root creates the directory, then one rank per shared-memory node (split via MPI_COMM_TYPE_SHARED) ensures it exists on that node's filesystem. On a shared filesystem the extra creates hit an already-existing directory harmlessly.

Palace created output directories only on the global root rank, which
breaks on clusters where each node has its own local filesystem: ranks
on non-root nodes write per-rank output into a directory that was never
created there.

Add `EnsureDirectory(dir, comm)`: the global root creates the directory,
then one rank per shared-memory node (split via MPI_COMM_TYPE_SHARED)
ensures it exists on that node's filesystem. On a shared filesystem the
extra creates hit an already-existing directory harmlessly.
@Sbozzolo Sbozzolo added the no-long-tests This PR does not require the long tests to be merged label Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-long-tests This PR does not require the long tests to be merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant