-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add IO-free driver code #3
Conversation
This the one originally written by George Mozdzynski for ESCAPE. I took it from Olivier Marsden's gpu branch of ecTrans.
I'll tidy these up as I go along.
In the future we will probably have multiple levels of verbosity, determined by a command-line argument.
THERE'S NO NEED TO SHOUT.
This is not ready for merging yet. I just opened the PR for others to take a look. |
It's too complicated for now to implement optional argument parsing in Fortran.
Example benchmark from
:
|
New help message:
|
Very nice Sam. I have added a little more options and added unit test for it:
A few things to note.
Further down the line we may need to extend to also use the vorticity-divergence to wind option simultaneously or separately. I think @ioanhadade has a full featured driver somewhere that we can look at? |
Good spot on the uninitialised variables - fixed. There is currently a very dumb way of visualising fields that simply dumps all grid points values serially to unformatted binary files. I have a Python script which can reassemble these files but it only works for a single rank. This was super useful when testing things like half precision as you can instantly spot errors that would be hard to see just from looking at norms. Would you be okay with leaving this feature in and making it off by default, and activated with, say, |
That's what unit tests are for ;)
Sure no problem with that, but perhaps not with the '-d', just with '--dump-values'. We may want to keep the '-d' in our pocket. |
Very nice work guys, will be very useful! |
…s when compiled without MPI
I further adapted the benchmark / test so that it works without MPI as well, e.g. with mpi_serial backend of fiat. |
I'm happy to merge this in now as a first checkpoint. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A bit more testing is probably advised, to make sure all options do as they are promising, but to me it is already a great start.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Down the line I hope we can increase coverage of the tests, and differentiate correctness checking from performance driver, but this is excellent way to start in that direction.
…nges Optimisations from AMD GPU hackathon
Always build with MPI, regardless of GPU-aware option
No description provided.