SWIFTsim merge requestshttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests2018-03-05T22:52:33Zhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/510Cosmo vec2018-03-05T22:52:33ZJames WillisCosmo vecImplement cosmological terms in vectorised hydro interactions.
Fixes #406.Implement cosmological terms in vectorised hydro interactions.
Fixes #406.Vectorization of all the core SPH tasksMatthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/396Avx512 fixes2018-01-22T10:45:04ZJames WillisAvx512 fixes* Adds a generic mask, `mask_t`, for each instruction set (AVX, AVX2, AVX512)
* Removes testPair and testPairPerturbed which are superseded by test27cells and test27cellsPerturbed
* Adds testActivePair that computes the density between...* Adds a generic mask, `mask_t`, for each instruction set (AVX, AVX2, AVX512)
* Removes testPair and testPairPerturbed which are superseded by test27cells and test27cellsPerturbed
* Adds testActivePair that computes the density between a pair of cells in various configurations of active particles (face, edge, corner)
* Replaces all arithmetic vector operations to support AVX512 as there is no compiler support to overload them
* Computes max_index_i[] for each particle in runner_dopair1_density_vec to follow ParCo paper
* testInteractions now calls correct vectorised density particle interactions and is run as a part of the test suite
* Solves #327
Vectorization of all the core SPH tasksMatthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/480Dopair subset vec2018-01-09T11:04:47ZJames WillisDopair subset vecVectorises the `dopair_subset` function. A branched version has been implemented that only calls the vectorised version when two cells are face-on as the edge-on and corner-on cases run slower.Vectorises the `dopair_subset` function. A branched version has been implemented that only calls the vectorised version when two cells are face-on as the edge-on and corner-on cases run slower.Vectorization of all the core SPH tasksMatthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/465Find missing interactions in DOPAIR2 and vectorized version.2017-12-08T19:31:26ZJames WillisFind missing interactions in DOPAIR2 and vectorized version.Fixes three small bugs in the neighbour search:
- Don't remove rshift from hi_max and pass h_max to populate_max_index_no_cache_force.
- Fixes missing interactions in runner_dopair2_force_vec.
- Fixes missing interactions in DOPAI...Fixes three small bugs in the neighbour search:
- Don't remove rshift from hi_max and pass h_max to populate_max_index_no_cache_force.
- Fixes missing interactions in runner_dopair2_force_vec.
- Fixes missing interactions in DOPAIR2 due to < versus <=.Vectorization of all the core SPH tasksPeter W. DraperPeter W. Draperhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/445Doself subset vec2017-10-31T12:08:42ZJames WillisDoself subset vecAdds a vectorised version of `runner_doself_subset_density`.Adds a vectorised version of `runner_doself_subset_density`.Vectorization of all the core SPH tasksMatthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/440Dopair2 vectorisation2017-10-26T18:23:57ZJames WillisDopair2 vectorisationAdds the following:
* Vectorised version of `runner_dopair2_force`
* Expands `testActivePair` to include more test cases and to also test the force pair tasks
* Creates a branching function for `DOPAIR2` so that the corner pairs are c...Adds the following:
* Vectorised version of `runner_dopair2_force`
* Expands `testActivePair` to include more test cases and to also test the force pair tasks
* Creates a branching function for `DOPAIR2` so that the corner pairs are calculated using the serial version of `DOPAIR2`
* `pairs_all_force` now checks if particles are active before updating themVectorization of all the core SPH tasksMatthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/435Correct vec neighbour find2017-09-27T13:03:34ZJames WillisCorrect vec neighbour findFixes neighbour find bug in the vectorised version of the density interactions.Fixes neighbour find bug in the vectorised version of the density interactions.Vectorization of all the core SPH tasksMatthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/407Patch vecorised pair interactions2017-09-24T13:58:15ZJames WillisPatch vecorised pair interactionsImplements:
* Small optimisations to `runner_dopair1_density_vec`.Implements:
* Small optimisations to `runner_dopair1_density_vec`.Vectorization of all the core SPH tasksMatthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/406Doself2 vectorisation2017-09-02T16:20:54ZJames WillisDoself2 vectorisationImplements:
* `runner_doself2_force_vec` a vectorised version of the `DOSELF2` for force interactions.
* Updates particle cache with properties needed for force interactions.
* Vectorised interaction functions for the force using 1 an...Implements:
* `runner_doself2_force_vec` a vectorised version of the `DOSELF2` for force interactions.
* Updates particle cache with properties needed for force interactions.
* Vectorised interaction functions for the force using 1 and 2 vectors, which are tested in `testInteractions.c`Vectorization of all the core SPH tasksMatthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/404Cache auto vec2017-08-17T10:01:25ZJames WillisCache auto vecAuto-vectorise populating the cache with hints to the compiler and `restrict` keyword.Auto-vectorise populating the cache with hints to the compiler and `restrict` keyword.Vectorization of all the core SPH tasksMatthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/338Update test kernel2017-05-09T11:27:58ZJames WillisUpdate test kernelRemoves `doself1_density_vec_2` function. Updates `testKernel.c` to include tests for `kernel_deval_1_vec` and `kernel_deval_2_vec`.Removes `doself1_density_vec_2` function. Updates `testKernel.c` to include tests for `kernel_deval_1_vec` and `kernel_deval_2_vec`.Vectorization of all the core SPH tasksMatthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/337Disable particle cache when vectorisation is disabled.2017-05-05T13:34:31ZJames WillisDisable particle cache when vectorisation is disabled.Vectorization of all the core SPH tasksMatthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/320Dopair1 vectorisation merge2017-05-01T18:05:18ZJames WillisDopair1 vectorisation mergeSummary
-------
- Contains a vectorised version of `runner_dopair1_density`
- `runners` now have two particle caches to hold cell ci and cell cj
- The `cache` has been updated to include `max_d` which is the maximum distance into the...Summary
-------
- Contains a vectorised version of `runner_dopair1_density`
- `runners` now have two particle caches to hold cell ci and cell cj
- The `cache` has been updated to include `max_d` which is the maximum distance into the neighbouring cell
- `cache.h` contains more functions to read two cells into cache and to read a subset of particles from each cell into the cache
Vectorization of all the core SPH tasksMatthieu SchallerMatthieu Schaller