Skip to content
Snippets Groups Projects

More physical definition of SPH kernel functions

Merged Matthieu Schaller requested to merge updated_vectorisation_tests into master

This "solves" #97 (closed).

  • I have split the SPH and gravity kernels into two separate files for ease of use. That explains a lot of the file changes below.
  • Corrected a small typo in the hydro.h files. The mistake was not leading to wrong physics results but would slow down convergence towards the correct h in the ghost task.
  • When switching kernel function, the resolution is not modified any more. This was the main point of #97 (closed).
  • The documentation of the kernels has increased and I have updated the .tex documents and figures to be completely consistent with the code.

In normal mode (i.e. without editing const.h) the results are identical.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • @nnrw56 Any strong feelings against it ?

    @jwillis Once this is merged, could you check whether this version vectorizes ? There are a few more const addresses here and there that might help the compilers.

  • Added 1 commit:

    • e38e33dc - const for the vectorization win !
  • Added 1 commit:

    • 766363b0 - Corrections to the kernel definition TeX document
  • Matthieu Schaller Added 52 commits:

    Added 52 commits:

  • Matthieu Schaller Status changed to merged

    Status changed to merged

  • mentioned in commit 1cb97461

  • Pedro Gonnet Assignee removed

    Assignee removed

  • This version doesn't vectorise out of the box for the Wendland C2 kernel. It complains about assumed dependencies in the 2nd loop of DOPAIR1 and won't vectorise loop 1 as it thinks that no speedup would be gained from vectorising. I needed to unroll the loop on line 180 manually and set the address of kernel_coeffs on line 173 to 0. The various #define gamma constants needed to be cast as floats in the #define statement not in the code directly to prevent data type conversions in the vectorised code.

    I have submitted a bug report to Intel about the loop unrolling and kernel_coeffs addressing issue.

Please register or sign in to reply
Loading