Commit Graph
100 Commits
Author SHA1 Message Date
mulimoen 2a1bb3f815 Use serde1 feature 2022-07-05 20:19:49 +02:00
mulimoen bb1909c2a8 Use StdFloat to fix compile error 2022-07-05 19:51:48 +02:00
mulimoen f40de866ce Clippy lints 2022-05-17 08:24:33 +02:00
mulimoen 70cab01334 Use weak dependencies 2022-05-17 08:03:05 +02:00
mulimoen 05873c0e22 Add pyproject.toml 2022-04-06 23:03:54 +02:00
mulimoen cfeb30fac0 Small clippy lint fixes 2022-02-25 20:43:57 +01:00
mulimoen 6ebb173847 Use tuple over ndarray::s 2021-11-21 11:21:05 +01:00
mulimoen 9679ae5ba2 Remove superfluous import 2021-11-21 11:21:05 +01:00
mulimoen d16b274fe0 Update hdf5/ndarray 2021-10-23 19:35:37 +00:00
mulimoen 86275d2c2e Merge branch 'feature/distribute'
Replaces the `rayon` implementation with a new approach using a thread
per grid architectures which allows concurrent execution with less
communication with the main thread.
2021-10-10 14:45:16 +00:00
mulimoen 0ec3e16566 Align portable-simd with master 2021-09-30 05:15:31 +00:00
mulimoen 42bfdd1ca1 checkpoint 2021-09-27 20:28:07 +00:00
mulimoen 44e0eb98f3 checkpoint 2021-09-24 17:02:48 +00:00
mulimoen d0901f5755 SAT boundaries for multi-thread fixing 2021-08-21 09:29:45 +00:00
mulimoen d2c811d3af Rework wait primitive to condvar 2021-08-20 15:57:12 +00:00
mulimoen e7222a99b5 Shorten thread name 2021-08-18 12:39:08 +00:00
mulimoen 4f0af1f6c1 Add synchronisation of multi-threaded system 2021-08-18 11:45:55 +00:00
mulimoen 4b6ee18491 Add progressbar inside multi-sys 2021-08-18 11:06:29 +00:00
mulimoen d6356da393 Swap solutions to propagate the solution 2021-08-18 10:32:29 +00:00
mulimoen a843ad9974 Add error output for single/multi 2021-08-18 10:21:38 +00:00
mulimoen 67884c38c6 Simplify time tracking loop 2021-08-17 13:40:23 +00:00
mulimoen ed81ba995f Update indicatif for multi-progressbar 2021-08-17 13:15:36 +00:00
mulimoen 05cb455108 Apply initial conditions to distributed 2021-08-17 12:42:24 +00:00
mulimoen 1bfd37b164 Fixup max dt 2021-08-17 12:35:05 +00:00
mulimoen 296dc98e01 Add progressbar to single/multi system 2021-08-17 11:48:52 +00:00
mulimoen 2d473b8255 Clippy lints 2021-08-16 20:33:57 +00:00
mulimoen 4d44b4a74a Fix ouptut for single/multi backend 2021-08-08 20:28:37 +00:00
mulimoen 0a5647df3a Compilable state 2021-08-07 17:30:00 +00:00
mulimoen 4319e403a5 Remove option for number of threads 2021-08-06 17:24:59 +00:00
mulimoen 1e363c0508 Reimplement interpolation for distributed system 2021-08-06 17:24:15 +00:00
mulimoen b142bb63e4 Add workbuffer for boundaries 2021-08-06 15:01:48 +00:00
mulimoen 26159d5ffb Introduce precursor system 2021-08-05 19:28:14 +00:00
mulimoen 95897777d6 Apply SAT on boundaries 2021-08-04 18:30:15 +00:00
mulimoen b11f3c9abb Improve channel distribution 2021-08-03 17:18:09 +00:00
mulimoen 35b8af8b2d Partial implementation 2021-08-03 16:18:20 +02:00
mulimoen 3edd18c4fd Use core_simd over packed_simd 2021-07-27 18:32:22 +00:00
mulimoen e25ee9c74a Prefer clone_from over assign 2021-07-15 17:25:30 +02:00
mulimoen e4ea5b081b Update evalexpr dependency 2021-07-06 22:10:33 +02:00
mulimoen b9212a4ec3 Add gresho vortex example 2021-07-05 21:51:08 +02:00
mulimoen 6c6e11c1e3 Move input validation of expressions to evalexpr 2021-07-01 18:47:56 +02:00
mulimoen 891cee3160 Move evalexpr down one level 2021-07-01 18:37:22 +02:00
mulimoen c7eab96845 Fix forgotten GAMMA in benches 2021-07-01 18:23:32 +02:00
mulimoen 912119d093 Add smooth periodic example 2021-06-30 20:33:22 +02:00
mulimoen b64bace750 Move json config to separate file 2021-06-30 18:49:37 +02:00
mulimoen 3ceeeb8ca1 Make GAMMA into a static 2021-06-30 18:20:44 +02:00
mulimoen 94e49ff9b5 Simplify vortex using Evaluator trait 2021-06-30 17:35:05 +02:00
mulimoen 92ad7bc580 Allow mutable contexts for evalexpr strings
These may be slow when used as boundary conditions, but produces results
consistent with the special "vortex" type for the example.
2021-06-29 23:12:48 +02:00
mulimoen ea90bb8655 Add example using evalexpr 2021-06-29 21:34:59 +02:00
mulimoen f6f70fe79a Fix bug with u,v->rhou,rhov conversion 2021-06-29 21:31:40 +02:00
mulimoen 0878e75b8d Fixup test 2021-06-29 19:51:09 +02:00
mulimoen 2bad8a1b71 Reenable error output 2021-06-29 19:45:20 +02:00
mulimoen 1c884fe09d Add 100x100 grid config on single grid 2021-06-29 18:36:39 +02:00
mulimoen 8873f458b4 useless conversion 2021-06-29 18:07:26 +02:00
mulimoen b5360af6de Add Evaluator for defining IC/BC in json config 2021-06-29 17:55:19 +02:00
mulimoen 300f6a34e5 Fix interactive eulerplot 2021-06-27 12:34:59 +02:00
mulimoen 091076a9ad Neon supports fma 2021-04-18 23:20:08 +02:00
mulimoen 2ee55de8c8 Split into components for subcomputation 2021-03-30 22:19:04 +02:00
mulimoen 8051954c29 Update convergence test after trait rework 2021-03-30 19:09:11 +02:00
mulimoen 5f7d38dd55 Introduce Diff type for euler 2021-03-30 18:46:28 +02:00
mulimoen 27abaebc2c Move vortex stuff to separate file 2021-03-30 18:29:23 +02:00
mulimoen 57c897ec94 Upgrade arrayvec to use const-generics 2021-03-27 11:46:02 +01:00
mulimoen 22a3464326 Add euler iterators 2021-03-26 19:40:04 +01:00
mulimoen 9e2ce3ae24 Add Metrics iterator 2021-03-26 16:27:45 +01:00
mulimoen 75338698a4 Conditionally use fma 2021-03-26 15:57:15 +01:00
mulimoen 7ab6f311c1 Replace hypot with cheaper impl 2021-03-26 15:52:55 +01:00
mulimoen 52c21dbbe9 Add boolean for switching serial/parallel execution 2021-03-26 00:00:42 +01:00
mulimoen a33e1d37ba Document what compiler is doing for diffxi 2021-03-25 22:39:00 +01:00
mulimoen 76f5291131 Elide bounds check in diffxi
array_windows.skip did not elide bounds checks as it should. If
the slice is instead offset by the skipped amount, we have the
same behavour, but aids the compiler enough.
The two changed lines allows SIMD optimisations, giving an
impressive reduction in instructions by two thirds in the
benchmark.
2021-03-25 17:23:01 +01:00
mulimoen a81ba0365d Use core over std in no_std dep 2021-03-25 17:18:25 +01:00
mulimoen 9b5192b357 Add documentation for utilities 2021-03-23 19:37:27 +01:00
mulimoen ce2e8f17ec Move FastFloat to separate crate (archival) 2021-03-23 19:36:44 +01:00
mulimoen 4ae5c02bb1 Replace FastFloat with mul_add 2021-03-23 19:21:38 +01:00
mulimoen df05c06270 Add no_std and forbid(unsafe) in utils 2021-03-23 19:12:09 +01:00
mulimoen 00fcdf1031 Replace StructOpt with argh for comp.time+space 2021-03-22 20:56:16 +01:00
mulimoen ff9a477b67 Remove non-global Threadpool 2021-03-22 19:28:01 +01:00
mulimoen 7aadda3de9 Move integrate to separate crate 2021-03-22 17:49:35 +01:00
mulimoen be1330ec02 Add constrmatrix as separate crate 2021-03-22 16:24:32 +01:00
mulimoen 502679c9a1 Move Float to separate crate 2021-03-22 16:17:27 +01:00
mulimoen be984fbdac Bump sprs to 0.10 2021-03-18 23:27:03 +01:00
mulimoen 550b43b4cd Bump ndarray 2021-03-16 19:03:35 +01:00
mulimoen f098981d3e Update email 2021-03-16 19:00:24 +01:00
mulimoen 8383517ba3 ensure slice can be cast to Matrix 2021-03-15 20:18:19 +01:00
mulimoen 17ab18e953 zero-pad diffxi kernel 2021-03-15 20:07:41 +01:00
mulimoen e43e71a4d8 Make flip_XX impl on Matrix 2021-03-15 19:31:41 +01:00
mulimoen 6fc045ae17 Replace transmute with cast 2021-02-12 19:02:13 +01:00
mulimoen 5d59a51bbe Add option to output information in JSON 2021-02-12 18:28:30 +01:00
mulimoen 743cca00e2 Revert hdf5 patch (TODO: add back info here) 2021-02-12 18:09:15 +01:00
mulimoen 78f0c9ed2c Update json5 crate to include location errors 2021-02-12 18:08:10 +01:00
mulimoen d11abff1c3 Add checkbox for gridlines 2021-02-12 17:16:36 +01:00
mulimoen dc94aa8e6b Merge branch 'feature/const_matrix'
Using constr generics improves performance of diffxi by about
15% without fast-float and to 30% with the fast-float flag
2021-02-10 21:25:08 +01:00
mulimoen a02c7daafc remove iterator inhibiting optimisation 2021-02-10 21:17:05 +01:00
mulimoen 02175d1734 use some unsafe... 2021-02-10 19:29:26 +01:00
mulimoen 8a6dc60edf remove some unsafe from simd 2021-02-10 19:02:48 +01:00
mulimoen 87c055f81e Add back simd column algo 2021-02-09 21:44:35 +01:00
mulimoen cf4d8f1e9b add Zero for constmatrix 2021-02-03 08:41:11 +01:00
mulimoen 7ec426b5a8 add more fast intrinsics 2021-02-03 08:31:33 +01:00
mulimoen 64a4e92dd2 specialise on contigous ny 2021-02-02 00:33:37 +01:00
mulimoen c709cf465e remove ndarray transmute 2021-02-02 00:12:03 +01:00
mulimoen 74d99a4a18 try ndarray transmute 2021-02-02 00:12:03 +01:00
mulimoen b15ea57e6d inline for perf 2021-02-02 00:12:03 +01:00