Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | mg2d: failer earlier when relaxation does not converge | Anton Khirnov | 2019-01-21 |
| | |||
* | mg2d: check and propagate the error from mg_solve_subgrid() | Anton Khirnov | 2019-01-21 |
| | |||
* | mg2d: factor out the relaxation step call | Anton Khirnov | 2019-01-16 |
| | |||
* | mg2d: add a context variable to control the log level | Anton Khirnov | 2019-01-16 |
| | | | | | | Simpler to use than overriding the log callback. API bump. | ||
* | log: allow specifying a NULL callback to disable logging | Anton Khirnov | 2019-01-16 |
| | |||
* | mg2d: add a function for getting maximum supported fd_stencil | Anton Khirnov | 2019-01-16 |
| | | | | | | | This is needed for the caller to know the number of boundary zones that can be filled. API bump. | ||
* | ell_relax: compute the residual norm in residual_calc() | Anton Khirnov | 2019-01-13 |
| | | | | It is cheap and avoids an extra step in mg2d. | ||
* | ell_relax: do not calculate the residual at the fixed-val boundaries | Anton Khirnov | 2019-01-13 |
| | | | | | Keep it at zero there to begin with, rather than enforce this later. This will be useful in the following commits. | ||
* | residual_calc.asm: fix partial stores | Anton Khirnov | 2019-01-13 |
| | | | | .store1 and .store3 were switched | ||
* | residual_calc.asm: calculate x*=16 by x*=8; x+=x | Anton Khirnov | 2019-01-13 |
| | | | | Frees up one mm register for future use. | ||
* | mg2d: make the cfl factor runtime-configurable | Anton Khirnov | 2019-01-13 |
| | |||
* | residual_calc.asm: implement writing partial blocks | Anton Khirnov | 2019-01-10 |
| | | | | Avoid overwriting anything over the specified line size. | ||
* | residual_calc.asm: templatize the entire residual computation | Anton Khirnov | 2019-01-10 |
| | |||
* | residual_calc.asm: templatize computing the mixed derivative | Anton Khirnov | 2019-01-10 |
| | |||
* | residual_calc.asm: templatize computing non-mixed derivatives | Anton Khirnov | 2019-01-10 |
| | |||
* | residual_calc.asm: make mm register use more consistent between s1 and s2 | Anton Khirnov | 2019-01-10 |
| | |||
* | residual_calc.asm: make register use in s1 more similar to s2 | Anton Khirnov | 2019-01-10 |
| | |||
* | residual_calc.asm: reduce the use of magic constants | Anton Khirnov | 2019-01-10 |
| | |||
* | residual_calc.asm: reduce register use in the s1 variant | Anton Khirnov | 2019-01-10 |
| | | | | | Make it similar to the s2 version, which should make it easier to templatize the code in the future. | ||
* | mg2d: ignore padding values in findmax() | Anton Khirnov | 2019-01-09 |
| | |||
* | mg2d: remove a mistakenly committed hunk. | Anton Khirnov | 2018-12-28 |
| | |||
* | Add a licence file. | Anton Khirnov | 2018-12-28 |
| | |||
* | Add test programs for relaxation and full multigrid. | Anton Khirnov | 2018-12-28 |
| | |||
* | mg2d: factor out restriction/prolongation calls | Anton Khirnov | 2018-12-28 |
| | | | | | Also generalize the check for full interpolation vs special-cased restrict/prolong functions. | ||
* | mg2d: print the overhead time in stats | Anton Khirnov | 2018-12-28 |
| | |||
* | mg2d: do not select the first coarser level too close to the finest one | Anton Khirnov | 2018-12-28 |
| | |||
* | mg2d: simplify and speed up prolongation | Anton Khirnov | 2018-12-27 |
| | |||
* | Add threading support through libthreadpool. | Anton Khirnov | 2018-12-27 |
| | |||
* | mg2d: initialize the solver stepsize before it is used | Anton Khirnov | 2018-12-27 |
| | |||
* | ell_relax: add AVX SIMD for residual_calc | Anton Khirnov | 2018-12-27 |
| | |||
* | ell_relax: rewrite residual calculation | Anton Khirnov | 2018-12-27 |
| | | | | | | The order-specific function now calculates the complete residual for an entire row, instead of the derivatives of u for a single point. This is done in preparation for upcoming SIMD. | ||
* | Add CPU feature detection. | Anton Khirnov | 2018-12-27 |
| | | | | Will be used for dynamically dispatching future asm functions. | ||
* | meson.build: add rules for building with nasm | Anton Khirnov | 2018-12-21 |
| | | | | Preparation for adding SIMD. | ||
* | Switch to meson build system. | Anton Khirnov | 2018-12-20 |
| | |||
* | ell_relax: factor out the residual calculation kernel | Anton Khirnov | 2018-12-19 |
| | |||
* | ell_relax: make the time stepping factor configurable | Anton Khirnov | 2018-12-19 |
| | | | | And use different defaults for different FD stencils. | ||
* | mg2d: define log levels | Anton Khirnov | 2018-12-06 |
| | |||
* | mg2d: enforce a minimum domain size of 3 points | Anton Khirnov | 2018-12-05 |
| | |||
* | mg2d: check the domain size validity earlier | Anton Khirnov | 2018-12-05 |
| | |||
* | Finish support for 4th order accuracy. | Anton Khirnov | 2018-11-28 |
| | | | | ABI and API break. | ||
* | Add a function to measure timings for benchmarking. | Anton Khirnov | 2018-09-26 |
| | |||
* | higher finite difference order | Anton Khirnov | 2018-08-07 |
| | |||
* | mg2d: fix boundary values allocation | Anton Khirnov | 2018-08-07 |
| | |||
* | mg2d: use injection for diff coeffs restriction | Anton Khirnov | 2018-08-07 |
| | |||
* | ell_relax: fill in the corner ghostpoints | Anton Khirnov | 2018-08-07 |
| | |||
* | ell_relax: fill in boundary ghosts for fixval boundaries as well | Anton Khirnov | 2018-08-07 |
| | |||
* | ell_relax: fix index name | Anton Khirnov | 2018-08-07 |
| | |||
* | mg2d: actually initialize u to zero as documented | Anton Khirnov | 2018-08-07 |
| | |||
* | Better names for the boundary locations. | Anton Khirnov | 2018-08-02 |
| | |||
* | Do not export private symbols in the shared object. | Anton Khirnov | 2018-08-01 |
| |