Comments (8)
yes, however the code checks the maximum tag ID with MPI_TAG_UB.
from nek5000.
Sure, but this check will not make us compliant. Cray typically support up to 2**21.
from nek5000.
You specify lp in SIZE, nid will run from 1 ... #MPI-ranks < lp. You are find if lp<MPI_TAG_UB but what if you want to run on more MPI ranks.
On 16.08.2016, at 19:52, Ron Rahaman [email protected] wrote:
Isn't NID declared in SIZE? If so, isn't it up to the user to make sure that the type of NID can accommodate however many ranks they want?
(Sorry for jumping in; I just saw this as a learning opportunity)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
from nek5000.
Then isn't that the fault of the MPI implementation? We get MPI_TAG_UB from mpi_get_attr. If MPI_TAG_UB doesn't accommodate the maximum ranks on the machine, then it's not the right implementation for that machine. Then you send a nasty email to your sysadmin.
from nek5000.
No! The MPI standard says MPI_TAG_UB has to be larger than 32768 (see above).
On 16.08.2016, at 19:59, Ron Rahaman [email protected] wrote:
Then isn't that the fault of the MPI implementation? We get MPI_TAG_UB from mpi_get_attr. If MPI_TAG_UB doesn't accommodate the maximum ranks on the machine, then it's not the right implementation for that machine. Then you send a nasty email to your sysadmin.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
from nek5000.
Indeed, as @stgeke says we can only be sure to have 32768 tags, however most MPI implementations had many more in the past.
So I agree this is something one has to change at some point, but so far we could get around it as we still had 2**21=2M tags on the latest Cray. However, chances are that one gets a few bits more in the tag in the future. But sure, it is not standard compliant.
from nek5000.
How about your stuff @jlottes?
It looks like you are using the MPI rank to tag messages.
from nek5000.
Yea, the MPI code in jl/ could probably use a re-thinking in how it does tags. I don't think I gave this too much thought at the time, and probably just used the MPI rank because it seemed as good a thing to choose as anything else. In retrospect, I don't think using the rank buys anything. It shouldn't be too hard to fix things.
from nek5000.
Related Issues (20)
- Change global element IDs + nelgt/neglv to int*8 to support >2B elements HOT 1
- n2to3 generates co2 file on-the-fly
- genbox: add some warning when using periodic HOT 1
- Better support for loading restart files HOT 1
- Using exo2nek HOT 1
- error on nekbmpi HOT 3
- Working directory changed: can break extension code and .usr code HOT 1
- re2torea: need an check to detect input filename = output filename
- gmsh2nek is creating #v002 .re2 file HOT 5
- Correct boolean statement
- distf integer overflow
- what is the difference between Nek5000 and Nektar++ HOT 1
- ioinfo not working HOT 1
- missing rans_wallfunctions.f file HOT 1
- MHD with stress form
- Issue with 'elmap' corruption in field files of a simulation HOT 2
- ERROR: Error opening file in mfo_open_files. ierr=*** HOT 3
- gmsh2nek failed to work with genmap, created broken .re2 file HOT 2
- Nek5000 new version generating incompatible mesh
- ld error when compiling nek5000 on macOS Sonoma ARM HOT 1
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 nek5000.