Comments (2)
Some note for my future reference: A better way of doing this is probably to derive a MPIO
(multi-process I/O) class from the IO
class which is already available in sopht-simulator
(previously sopht-backend
). This way we retain xdmf generation features, and achieve the same metadata structure of the generated hdf5 file, thus assuring consistency with the current working code style in sopht-simulator
. I have a rough idea how to do this and will look into this once the MPI-supported 3D kernels and/or simulator are in place.
from sopht-mpi.
Some note for my future reference: A better way of doing this is probably to derive a
MPIO
(multi-process I/O) class from theIO
class which is already available insopht-simulator
(previouslysopht-backend
). This way we retain xdmf generation features, and achieve the same metadata structure of the generated hdf5 file, thus assuring consistency with the current working code style insopht-simulator
. I have a rough idea how to do this and will look into this once the MPI-supported 3D kernels and/or simulator are in place.
After a more in-depth and careful look, I realize that while a lot of the code in sopht.utils.IO
can be reused (with regards to the metadata structure and data organization), there are more subtle changes when it comes to actually performing the write operation in an MPI context. One of the few things is for example, each MPI process carries local domain data, which is a chunk of the entire global array. This means that when writing, the operation needs to be offset accordingly. There are several more issues that are somewhat minor and could be fixed with minor tweaking like generating xdmf file should probably be done by a master_rank
and so on. All of these minor changes, while do not affect or change the workflow or pipeline of the IO
module, push to me think that we need to instead just rewrite a new module called MPIIO
which addresses accordingly all these minor issues, including the ones mentioned above.
In the next few days, I will be writing this new module as well as tests to make sure they work as expected.
from sopht-mpi.
Related Issues (20)
- MPI Lagrangian field communicator 3d
- MPI-supported virtual boundary forcing 3d
- Ghosting corner cells
- Flow past rod
- Refactoring ghost communicator
- Deprecate redundant forcing grids
- Expanse
- Stampede2
- Load pystencil cache issue when using large number of MPI processes
- Measurement of parallel scaling performance HOT 1
- Magnetic cilia carpet illustration case
- Allow optional MPI communications for virtual boundary module
- Test cases taking too long
- Multiple rod io
- H5py installation issue HOT 1
- Precision inconsistency with MPIIO
- Bridges
- Flow past freely rotating rod illustration case
- Example for restarting simulation HOT 1
- Cluster batch submission script generator
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sopht-mpi.