Closed gtribello closed 3 months ago
Attention: Patch coverage is 84.61538%
with 4 lines
in your changes are missing coverage. Please review.
Project coverage is 83.32%. Comparing base (
7b7bedf
) to head (d780cf9
).:exclamation: Current head d780cf9 differs from pull request most recent head d927b23. Consider uploading reports for the commit d927b23 to get more accurate results
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Thanks @GiovanniBussi
I tried changing it using the first suggestion and it worked. The revised code is now faster:
BENCH: Kernel: this
BENCH: Input: plumed.dat
BENCH: Comparative: 1.000 +- 0.000
BENCH: Cycles Total Average Minimum Maximum
BENCH: A Initialization 1 0.006532 0.006532 0.006532 0.006532
BENCH: B0 First step 1 0.000776 0.000776 0.000776 0.000776
BENCH: B1 Warm-up 399 0.076957 0.000193 0.000187 0.000234
BENCH: B2 Calculation part 1 800 0.155136 0.000194 0.000187 0.000236
BENCH: B3 Calculation part 2 800 0.155996 0.000195 0.000187 0.000410
PLUMED: Cycles Total Average Minimum Maximum
PLUMED: 1 0.394842 0.394842 0.394842 0.394842
PLUMED: 1 Prepare dependencies 2000 0.000243 0.000000 0.000000 0.000013
PLUMED: 2 Sharing data 2000 0.115616 0.000058 0.000055 0.000336
PLUMED: 3 Waiting for data 2000 0.000603 0.000000 0.000000 0.000008
PLUMED: 4 Calculating (forward loop) 2000 0.250311 0.000125 0.000121 0.000314
PLUMED: 5 Applying (backward loop) 2000 0.001424 0.000001 0.000000 0.000288
PLUMED: 6 Update 2000 0.000727 0.000000 0.000000 0.000011
BENCH:
BENCH: Kernel: libplumedKernel.dylib
BENCH: Input: plumed.dat
BENCH: Comparative: 1.123 +- 0.001
BENCH: Cycles Total Average Minimum Maximum
BENCH: A Initialization 1 0.009362 0.009362 0.009362 0.009362
BENCH: B0 First step 1 0.001036 0.001036 0.001036 0.001036
BENCH: B1 Warm-up 399 0.086324 0.000216 0.000210 0.000245
BENCH: B2 Calculation part 1 800 0.174179 0.000218 0.000210 0.000249
BENCH: B3 Calculation part 2 800 0.175182 0.000219 0.000210 0.000283
PLUMED: Cycles Total Average Minimum Maximum
PLUMED: 1 0.445239 0.445239 0.445239 0.445239
PLUMED: 1 Prepare dependencies 2000 0.000250 0.000000 0.000000 0.000016
PLUMED: 2 Sharing data 2000 0.116273 0.000058 0.000055 0.000392
PLUMED: 3 Waiting for data 2000 0.000609 0.000000 0.000000 0.000011
PLUMED: 4 Calculating (forward loop) 2000 0.249121 0.000125 0.000120 0.000321
PLUMED: 5 Applying (backward loop) 2000 0.049446 0.000025 0.000023 0.000293
PLUMED: 6 Update 2000 0.000783 0.000000 0.000000 0.000013
Great! It is reassuring that the share step takes the same time as before. I guess how does this depend on the force/noforce pattern. Anyway, I think this could be merged.
And do you think the same trick could be used to make in steps the construction of local/global atoms?
Maybe the simplest way is to:
DomainDecomposition::getAllActiveAtoms
, merge all the nonlocal atoms with the (already available) unique vectorIs this correct or there some case where this might not work?
Description
This is my try at the rework of the stuff for speeding up the applying of forces in domain decomposition. I have tried to do this in the way we discussed in the meeting on Wednesday. You can see it speeds up the ally force part. However, the sharing of data is slowed down. I think this may because I have not made the changes to DomainDecomposition correctly.
Can you take a look @GiovanniBussi and let me know if I am doing anything wrong.
Target release
I would like my code to appear in release 2.10
Type of contribution
Copyright
COPYRIGHT
file with the correct license information. Code should be released under an open source license. I also used the commandcd src && ./header.sh mymodulename
in order to make sure the headers of the module are correct.Tests