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
mulimoen
299b4f8083
ensure FastFloat flag works
2021-02-02 00:12:03 +01:00
mulimoen
6f7268bf33
use matrices everywhere
2021-02-02 00:12:02 +01:00
mulimoen
31ac46e386
move data structs into separate files
2021-02-02 00:12:02 +01:00
mulimoen
f7f8a7ffff
make flip const functions
2021-02-02 00:12:02 +01:00
mulimoen
1f3aa2c116
make core-intrinsics cfg'ed
2021-02-02 00:12:02 +01:00
mulimoen
c73c6e7407
diff_op_col_naive_matrix
2021-02-02 00:12:02 +01:00
mulimoen
c660354c3f
Matrix for Upwind4
2021-02-02 00:12:02 +01:00