- 01 Apr, 2017 1 commit
-
-
Matthieu Schaller authored
-
- 17 Mar, 2017 4 commits
-
-
James Willis authored
-
Matthieu Schaller authored
-
Matthieu Schaller authored
-
Matthieu Schaller authored
Only repartition when required Only repartition when the previous step processed some large fraction of all the particles, and then only when the loads between the ranks are out of balance. This is for several reasons: * Repartitioning is expensive, so should only be done when necessary. * Frequent repartitioning with multi-dt is not necessary (for the EAGLE volumes anyway). * It is more representative to check the load balance when all tasks have been ran. The load balance is determined from the user CPU time per step (including the CPU time from all threads). We exclude the system time as that is not down to processing and tends to even out the ranks artificially, much as elapsed time does (since we wait for all the MPI tasks to come together). The load imbalance allowed is determined by the parameter `DomainDecomposition:trigger`, this can also be set to a number greater than one, in which case the old repartitioning scheme of every 'trigger' steps will be used (previously trigger was always 100). See merge request !290
-
- 16 Mar, 2017 8 commits
-
-
Peter W. Draper authored
-
Peter W. Draper authored
-
James Willis authored
Created a function that branches calls to DOPAIR1 so that correct version is called. This decision is based upon whether MPI is running, vectorisation and orientation of the neighbouring cells.
-
James Willis authored
-
Matthieu Schaller authored
Set the unnecessary dimensions of the box in 1D or 2D to safe values to prevent unnecessary crashes due to lack of cells along this particular axis.
-
Matthieu Schaller authored
Removed duplicated entries in gitignore file. Updated ICs for 2D Sod shock (See #278). Reduced max_dt for 1D sedov explosion
-
Matthieu Schaller authored
Added pressure to entropy and pressure to internal energy functions to the equation of state definition.
-
Matthieu Schaller authored
Include @bvandenbroucke's typo corrections in dimension.h as well as the sphere to radius calculation functions.
-
- 15 Mar, 2017 9 commits
-
-
Peter W. Draper authored
-
Peter W. Draper authored
-
Peter W. Draper authored
cputimes output file to avoid an MPI call each step. General tidyups to remove unneccesary values and to keep APIs clean.
-
James Willis authored
-
James Willis authored
-
James Willis authored
-
James Willis authored
-
James Willis authored
-
James Willis authored
-
- 14 Mar, 2017 9 commits
-
-
James Willis authored
-
James Willis authored
-
James Willis authored
Perform padding of the cache when populating it instead of on the fly. Create fake particles to be maxed out in the inner interaction loop.
-
James Willis authored
-
James Willis authored
-
James Willis authored
-
James Willis authored
Fixed bug with finding the exit iteration of the inner loops, -1 and +1 to value. Replaced vec_load with vec_unaligned_load for GCC. Pad cache correctly when the number of iterations of the inner loop is not a multiple of the vector length.
-
James Willis authored
-
James Willis authored
-
- 13 Mar, 2017 2 commits
-
-
James Willis authored
-
Peter W. Draper authored
Stop repartitioning in the step after a repartition, that makes no sense and is unlikely to give interesting CPU times. Also remove some development output from timestep file
-
- 10 Mar, 2017 3 commits
-
-
Peter W. Draper authored
Conflicts: examples/parameter_example.yml src/engine.c The repartitioning is now delayed to the next step. Need to check that %2 is still appropriate.
-
Peter W. Draper authored
-
Peter W. Draper authored
CPU time fraction. Also allow the balance test to be done if fewer than the complete number of particles interact. Finally capture the CPU times to a file so that the balance can be assessed. This is only done when task timings are also enabled.
-
- 09 Mar, 2017 2 commits
-
-
Matthieu Schaller authored
-
Matthieu Schaller authored
-
- 08 Mar, 2017 2 commits
-
-
Matthieu Schaller authored
-
Peter W. Draper authored
Timebin optimization This implements a change to the active/inactive checks following @jwillis' remark that the code was a bit slower than in the old master he was working on. The idea is to pre-compute the largest active time-bin and then use this information to decide whether act on particles or not. The old scheme was computing the end-time of the particle which involves a lot more information for the same result. See merge request !316
-