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
mulimoen
5de82f393b
move algos to separate file
2021-01-18 22:37:24 +01:00
mulimoen
dc126938bb
re-add specialization of diss-ops
2021-01-17 16:15:15 +01:00
mulimoen
1f15bcc056
revisit SBP Traits
2021-01-17 15:37:45 +01:00
mulimoen
6f3a810cd3
add upwind/d2 to SbpOperators1d trait
2021-01-14 22:53:36 +01:00
mulimoen
56bba27a4b
check largest eigenvalues using arpack
2020-11-10 17:49:53 +01:00
mulimoen
2f7fc510b6
packed_simd updated at other location
2020-09-30 20:43:22 +02:00
mulimoen
668b575d1c
bump sprs in heat-equation
2020-09-30 00:36:04 +02:00
mulimoen
3c2cfe27cd
update sprs
2020-09-30 00:29:20 +02:00
mulimoen
c241603e44
use packed_simd from github
2020-09-30 00:18:53 +02:00
mulimoen
7782f72612
update indicatif
2020-09-21 17:06:53 +02:00
mulimoen
3593ee2f52
update sparse maxwell benches
2020-09-21 16:38:52 +02:00
mulimoen
939eae9af1
apply -d1.rev() on right boundary
2020-09-21 16:30:12 +02:00
mulimoen
3d66e48413
silence clippy
2020-09-19 15:49:55 +02:00
mulimoen
4eb653da23
Documentation in SBP
2020-09-19 15:46:02 +02:00
mulimoen
e3a15b3844
Update READMEs
2020-09-19 14:41:02 +02:00
mulimoen
67f097cf31
Add matrix approach to heat equation
2020-09-19 14:00:18 +02:00
mulimoen
0cfd41845b
Example of Neumann boundary
2020-09-18 18:40:10 +02:00
mulimoen
b80ca3f5e8
Add D2 operator and heat equation
2020-09-18 17:58:37 +02:00
mulimoen
0fc9ec64ec
Make integrate generic over D
2020-09-17 20:30:58 +02:00
mulimoen
5bbc13158a
Add interpolation grid generators
2020-09-16 22:10:22 +02:00
mulimoen
5b7f407af9
Add serde deserialize to Grid
2020-09-16 21:44:11 +02:00
mulimoen
ac83a2cbca
use symmetrisation from [0]
...
[0]: Two-Dimensional Inlet Simulation Using a
Diagonal Implicit Algorithm, Chausee & Pulliam, AIAA Journal
2020-09-15 18:12:27 +02:00
mulimoen
5161dd8ab6
Add euler symbolic algebra helpers
2020-09-15 17:53:09 +02:00
mulimoen
52ca29a51c
Add matrix form to maxwell
2020-09-15 17:42:12 +02:00
mulimoen
d2c6d6af6c
clippy lints
2020-09-04 17:44:06 +02:00
mulimoen
d1151bbe3f
Fix fallback bug
2020-09-04 17:35:30 +02:00
mulimoen
5ce9a84872
Add single example
2020-09-04 17:35:20 +02:00