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
mulimoen
45e4d51513
remove a closure
2021-02-02 00:12:02 +01:00
mulimoen
b0e1ec62f8
change order in matmul_into
2021-02-02 00:12:02 +01:00
mulimoen
481f2d607e
remove a lot of unsafe, lost perf
2021-02-02 00:12:02 +01:00
mulimoen
00f3ba6a01
use split_at_mut
2021-02-02 00:12:02 +01:00
mulimoen
db94caf2b2
change repr of Matrix
2021-02-02 00:12:02 +01:00
mulimoen
c133557459
use Matrix in SBP diff
2021-02-02 00:12:02 +01:00
mulimoen
3c7cc4605a
simplify traits
2021-02-02 00:12:02 +01:00
mulimoen
f7c238f6a7
add blockend SBP8
2021-02-02 00:12:02 +01:00
mulimoen
a7660281c8
add inline to remove magic fix
2021-02-02 00:12:02 +01:00
mulimoen
14fefe97ab
add Matrix approach for SBP8
2021-02-02 00:12:02 +01:00
mulimoen
3d34f2e7a0
add fast-float feature
2021-02-02 00:12:02 +01:00
mulimoen
4c2daf5933
minor thingys
2021-02-02 00:12:02 +01:00
mulimoen
db552af4ff
add blockend with weird caveat
2021-02-02 00:12:02 +01:00
mulimoen
bcda26a512
15% reductions in instr count
2021-02-02 00:12:02 +01:00
mulimoen
36293e75e6
10% instr reduction with fast_ intr
2021-02-02 00:12:02 +01:00
mulimoen
30c563c19d
working d1 SBP4
2021-02-02 00:12:02 +01:00
mulimoen
94e8fb5b7c
checkpoint
2021-02-02 00:12:02 +01:00
mulimoen
c104082ac0
add matrix type
2021-02-02 00:12:02 +01:00
mulimoen
3cc7c31ee5
increase bench size
2021-02-01 23:22:35 +01:00
mulimoen
ddfddbd33f
fix bench+sparse builds
2021-01-25 23:58:50 +01:00
mulimoen
53acd300ce
readd sparseness approach to bench
2021-01-25 21:02:04 +01:00
mulimoen
1069bad145
bugfix sparse algo visibility
2021-01-25 20:53:56 +01:00
mulimoen
0f261ef507
replace criterion with iai
2021-01-25 20:51:59 +01:00