-
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