Commit Graph
100 Commits
Author SHA1 Message Date
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
mulimoen d5b1daa413 Add back tsection 2020-09-04 17:19:36 +02:00
mulimoen aa40eb7339 Update examples to new format 2020-09-04 16:51:18 +02:00
mulimoen f1cb01d47c Add improved default bc 2020-09-04 16:23:49 +02:00
mulimoen cb2423ecb3 Add more funcs on Direction 2020-09-04 00:12:47 +02:00
mulimoen c954484503 translate some of the examples 2020-09-04 00:05:25 +02:00
mulimoen 1648c72904 use new parser 2020-09-03 23:49:45 +02:00