Decomposition stabilization#27
Conversation
… preferring decompositions with singleton dimensions and an option to choose between different equally-weighted decompositions.
…est using manual overrides - check verbose output for options
…the stabilization patch has been driven into production
|
To be merged with fmihpc/vlasiator#821 |
markusbattarbee
left a comment
There was a problem hiding this comment.
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.
ykempf
left a comment
There was a problem hiding this comment.
I owuld advocate to make dd domaindecomposition or so, and test-dd vs ddtest more consistent. But well...
| int myRank, MPI_flag; | ||
| MPI_Initialized(&MPI_flag); | ||
| if(MPI_flag){ | ||
| MPI_Comm_rank(MPI_COMM_WORLD, &myRank); // TODO allow for separate communicator |
There was a problem hiding this comment.
That will be needed in conjunction with Jaro's branch, right?
| subarrayStart[i] = 0; | ||
|
|
||
| std::array<int,3> swappedStorageSize = storageSize; | ||
| std::array<int,3> swappedStorageSize = {(int)storageSize[0],(int)storageSize[1],(int)storageSize[2]}; |
There was a problem hiding this comment.
So this makes an actual difference beyond making the type conversion extra clear??
There was a problem hiding this comment.
Gets rid of compile warnings (storageSize is of type FsSize_t)
| // 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 |
There was a problem hiding this comment.
This is historic but could be named slightly more explicitly?
…asksPerDim instead for actual clarity.
Making the fsgrid decomposition deterministic, with manual support (e.g. for using existing decompositions)