FFTW grid sizes
Description
Do not allow FFTW grids that are not compatible with CUFFT ones. This avoids getting different results between GPUs and CPUs.
News snippet
Do not allow FFTW grids that are not compatible with CUFFT ones.
Checklist
-
I have checked that my code follows the Octopus coding standards -
I have added tests for all the new features added in this request.
Merge request reports
Activity
changed milestone to %13.0
added Core label
requested review from @martin.lueders
assigned to @martin.lueders
assigned to @nicolastd
- Resolved by Martin Lueders
added 1 commit
- 406512bd - Do not allow FFTW grids that are not compatible with CUFFT ones. This avoids...
added 40 commits
-
406512bd...5595245a - 39 commits from branch
main
- d2413ac8 - Do not allow FFTW grids that are not compatible with CUFFT ones. This avoids...
-
406512bd...5595245a - 39 commits from branch
- Resolved by Sebastian Ohlmann
- Resolved by Sebastian Ohlmann
- Resolved by Sebastian Ohlmann
What was done before did actually not conform to the description at http://www.fftw.org/doc/Complex-DFTs.html:
FFTW is best at handling sizes of the form 2^a 3^b 5^c 7^d 11^e 13^f, where e+f is either 0 or 1
So I think it is a good idea to restrict to multiples of 2, 3, 5, and 7.
The problems we see on the buildbot seem to be due to a memory leek, which was introduced by the changes. If I run the tests locally, I see that the test
finite_systems_3d/41-gpu-bug.test
is running out of memory. Probably, due to the issue @sohlmann pointed out, the FFT is misbehaving and causing this. I guess, fixing this issue will also fix the memory leek.added 1 commit
- d8c0bab5 - Do not allow FFTW grids that are not compatible with CUFFT ones. This avoids...
added 1 commit
- cdf942c5 - Update some references after the change of FFTW grid sizes
- Resolved by Sebastian Ohlmann
- Resolved by Sebastian Ohlmann
- Resolved by Sebastian Ohlmann
I would suggest to fix the tolerances as indicated by hand and then let's discuss about the app again in the next developers meeting.
Edited by Sebastian Ohlmann