-
Notifications
You must be signed in to change notification settings - Fork 319
module functions on the GPU #1298
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
Conversation
|
Hi @Iximiel I think you have worked this out already, but BESSEL is not something we are likely to need on the GPU. The reason it is implemented is described in the manual: https://www.plumed.org/doc-master/user-doc/html/BESSEL/ It is tested in the PAMM module. In terms of getting things like DISTANCES LESS_THAN to work, I wouldn't worry about it. This syntax is deprecated. There are some shortcuts where there might be value in adding the option in symfunc, but we can do them on a case-by-case basis. |
|
Ok, then I remove the #ifdef openacc things from BESSEL
If it pass the test there, I would keep it like this, so that it is not initializing/copying extra 55 numbers each time it is called @carlocamilloni we should try to see if the |
0687f06 to
4e60bea
Compare
|
HI @Iximiel To clarify, I think having the OpenACC in Bessel is not going to do any harm. My point was simply there is probably not a lot of people using this action for anything computationally intensive where the GPU is going to make a lot of difference. However, we can change the function and add ACC in there as long as it all just works easily. However, if it is a lot of effort (which I don't think it would be) then it can be abandoned. |
ok, so the code can remain like this, in future you can add the At this point I think this is ok to be merged, if we merge #1292 before this I can rebase and update gpu.md with the new actions directly here I found the chain of calls to test BESSEl: To test BESSEL you have to call KERNEL, but to test KERNEL you have to check PAMM. It might be better to have a something more focused on each step |
4e60bea to
ec6834d
Compare
Description
Hi @gtribello, I am starting also to move some of the functionalities of function to the GPU.
I started with BESSEL but I think there are no test to check if I am doing things correctly, and I am sad since I like that refactor with no need of redeclaring A or B for each instance.
Being more serious: at time of writing this I did the "around trio" : "LESS_THAN BETWEEN MORE_THAN", I think I succeeded in porting them as standalone actions, but I am not sure how it will be possible to tag them with USEGPU in the shortcuts like
DISTANCES ATOMS1=1,2 ATOMS2=5,4 BETWEEN1={GAUSSIAN LOWER=0.5 UPPER=1.0 LABEL=b1} BETWEEN2={GAUSSIAN LOWER=1.0 UPPER=2.0 LABEL=b2}. I think that the solution for that will need a separate PR/discussionTarget release
I would like my code to appear in release v2.11
Type of contribution
Copyright
COPYRIGHTfile with the correct license information. Code should be released under an open source license. I also used the commandcd src && ./header.sh mymodulenamein order to make sure the headers of the module are correct.Tests