-
Notifications
You must be signed in to change notification settings - Fork 15
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
Enable GPU offload of depth and current refraction solver #45
Conversation
@jrbidlot and @jkousal32, could you also please have a look? Especially the new test config which enables current refraction, I am not sure I have configured this correctly. |
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.
Can I ask how you chose the value of nproma?
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.
I set it based on GPU performance, since these test cases have mostly been used to assess GPU performance. If you know of a better value for CPU performance then I am happy to change it to that.
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.
We have used nproma values around 24 but actually, it has not been really tested on Atos to determine if there is another optimum one.
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.
Until we actually supply the currents which will contain actual surface current data, it does not matter what we specify for CDATECURA because the routine that reads the potential file called currents, on not finding it will simply initialise the currents to 0.
But in preparation on when we will actually add the file currents, I would suggest to set
CDATECURA = "${begofrn}",
i.e. we will expect current data from the beginning of the run.
We should also add the namelist entry IDELCUR. It will tell ecWAM how often in seconds the file currents will contain new data. For now we can select IDELCUR = 86400,
(i.e. new current field every day)
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.
See my comment on adding IDELCUR and future work on adding actual ocean current data
Thanks a lot @jrbidlot for the feedback! I've addressed your comments, please have another look when you can 😄 |
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.
Looks fine to me.
Thanks
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.
GPU and Loki changes look good to me. 👍
703db12
to
3dd78a4
Compare
49R2 enables the current and depth refraction solver in the wave propagation kernel. This PR ports this solver to run on GPU. The CPU and GPU variants posed conflicting demands for performance, so I am now also using Loki to preprocess
PROPAGS2
for GPU enabled runs.