-
Notifications
You must be signed in to change notification settings - Fork 0
rempferg/gpu_poisson_solver
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Compile with nvcc -l cufft gpu_poisson_solver.cu Output at various stages of the computations can be enabled by defining any combination of the precompiler constants OUTPUT OUTPUT_GF OUTPUT_CHARGE OUTPUT_CHARGE_FFT OUTPUT_CHARGE_FFT_GF OUTPUT_POTENTIAL There also is a stripped down version gpu_poisson_solver_barebone.cu, which contains only the absolutely necessary code for easier understanding. Scaling: There is an automatic benchmarking script 'benchmark.sh' that runs calculations on many grid sizes and produces a plot 'scaling.pdf' of the calculation times using Gnuplot. The plot shows that the effort delicately depends on the grid size. The FFTs are most efficient if the side length can be decomposed into prime factors 2, 3, 5 and 7, which gives rise to the odd scaling patterns. For example, a run on a 384^3 grid takes less than 50 ms on a GeForce GTX 680 (384 = 2^7 * 3), while a run on a 373^3 grid takes over 530 ms on the same device (373 is prime).
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published