Skip to content
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

Poission equation #33

Open
lucaparisi91 opened this issue Oct 31, 2024 · 2 comments
Open

Poission equation #33

lucaparisi91 opened this issue Oct 31, 2024 · 2 comments
Assignees

Comments

@lucaparisi91
Copy link
Collaborator

lucaparisi91 commented Oct 31, 2024

My proposal is to use the poisson equation to illustrate the main concepts on programming with OpenMP offload.
It is simple and of scientific relevance.
The Example is written to C.

Solve the poisson equation using a relaxation method .

Can illustrate :

  • basic parallelisation mechanism: turn the CPU loop into a GPU loop

  • data mapping of variables : data transfers are only done once and not at each time step

  • custom mappers: map in one go both the charge and the density fields

  • register pressure: have the density be computed before. The aerofoil problem from wee archie demo is limited by register pressure with CUDA

  • latency hiding:

    • performance as size changes
    • use of collapse clause
  • bandwith:

    • On thread process a larger block area, leads to less loads per thread ( performance benefit on A2 ? )
    • Use shared memory block ( statically allocated )
    • Memory coalescing: have the loop in the right orders
  • async:

    • compute energy from the field ( requires a dependency )
    • solve multiple poisson equations
  • interoperability:

    • solve the poisson equation using FFTW and using a library to do so
@lucaparisi91
Copy link
Collaborator Author

On hold, while I finish the first iteration of the slides.

@lucaparisi91
Copy link
Collaborator Author

The CPU version is now working as expected. Now starting to port to OpenMP GPU.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant