Skip to content

Decomposition stabilization#27

Merged
markusbattarbee merged 32 commits intofmihpc:masterfrom
alhom:decomposition_stabilization
Jan 18, 2024
Merged

Decomposition stabilization#27
markusbattarbee merged 32 commits intofmihpc:masterfrom
alhom:decomposition_stabilization

Conversation

@alhom
Copy link
Copy Markdown
Member

@alhom alhom commented Dec 4, 2023

Making the fsgrid decomposition deterministic, with manual support (e.g. for using existing decompositions)

alhom added 2 commits December 6, 2023 15:08
…est using manual overrides - check verbose output for options
Comment thread fsgrid.hpp Outdated
Comment thread fsgrid.hpp Outdated
Comment thread fsgrid.hpp Outdated
…the stabilization patch has been driven into production
@alhom alhom marked this pull request as ready for review December 7, 2023 15:00
@alhom
Copy link
Copy Markdown
Member Author

alhom commented Dec 7, 2023

To be merged with fmihpc/vlasiator#821

Copy link
Copy Markdown
Contributor

@markusbattarbee markusbattarbee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See Vlasiator PR: recommend consolidating values as uint64_t.

Also, I think we should have one legacy decomposition calculation function which is just the old type turned into deterministic with uint64_t's, and then a new one we can use in the future which is used with stored decomposition in the file.

Comment thread fsgrid.hpp Outdated
Copy link
Copy Markdown
Contributor

@markusbattarbee markusbattarbee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ho-hum

Comment thread fsgrid.hpp Outdated
Comment thread fsgrid.hpp
Comment thread fsgrid.hpp Outdated
Comment thread fsgrid.hpp Outdated
Comment thread fsgrid.hpp Outdated
Comment thread fsgrid.hpp Outdated
Comment thread fsgrid.hpp Outdated
Comment thread fsgrid.hpp Outdated
Comment thread fsgrid.hpp
Copy link
Copy Markdown
Contributor

@ykempf ykempf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I owuld advocate to make dd domaindecomposition or so, and test-dd vs ddtest more consistent. But well...

Comment thread fsgrid.hpp
int myRank, MPI_flag;
MPI_Initialized(&MPI_flag);
if(MPI_flag){
MPI_Comm_rank(MPI_COMM_WORLD, &myRank); // TODO allow for separate communicator
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That will be needed in conjunction with Jaro's branch, right?

Comment thread fsgrid.hpp
subarrayStart[i] = 0;

std::array<int,3> swappedStorageSize = storageSize;
std::array<int,3> swappedStorageSize = {(int)storageSize[0],(int)storageSize[1],(int)storageSize[2]};
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So this makes an actual difference beyond making the type conversion extra clear??

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gets rid of compile warnings (storageSize is of type FsSize_t)

Comment thread fsgrid.hpp Outdated
// 1) Task grid in the MPI_Cartcomm
std::array<int, 3> ntasks; //!< Number of tasks in each direction
std::array<int, 3> taskPosition; //!< This task's position in the 3d task grid
std::array<Task_t, 3> ntasks; //!< Number of tasks in each direction
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is historic but could be named slightly more explicitly?

@markusbattarbee markusbattarbee self-requested a review January 16, 2024 12:53
@markusbattarbee markusbattarbee merged commit edc821f into fmihpc:master Jan 18, 2024
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.

3 participants