Commit Graph

32 Commits

Author SHA1 Message Date
Christopher Berner
63208df2b5 Improve dense row handling in sparse matrix
* support resize()
* use logical col indices
2020-01-06 18:27:02 -08:00
Christopher Berner
55d42fdee2 Reuse scratch memory for graph 2020-01-06 18:27:02 -08:00
Christopher Berner
2bad8466fa Optimize HDPC row storage in sparse matrix 2020-01-06 18:27:02 -08:00
Christopher Berner
7eb6542865 Fix many Clippy warnings and errors 2019-12-23 12:04:05 -08:00
Christopher Berner
c8fd9bcbff Format code with rustfmt and add format check 2019-12-23 12:04:05 -08:00
Christopher Berner
a87f009979 Add additional assertions to codec 2019-04-14 16:51:38 -07:00
Christopher Berner
b2399469b2 Fix decoding crash
Fixes an issue in column swapping logic, where non-zeros might be
swapped into the V matrix instead of zeros
2019-04-13 16:30:25 -07:00
Christopher Berner
8286361f24 Optimize get_col_iter() 2019-04-11 17:51:18 -07:00
Christopher Berner
5eb972c21f Extract constant from loop 2019-04-09 21:30:25 -07:00
Christopher Berner
44f529214c Optimize row selection when r=1 2019-04-08 19:08:09 -07:00
Christopher Berner
6e18062b03 Rename freeze_columns() 2019-04-07 21:02:53 -07:00
Christopher Berner
fbd59bf982 Add fast path to column swapping for sparse 2019-04-07 20:09:51 -07:00
Christopher Berner
58550e3dd3 Ensure that optimize introduce previously is safe
Commit that introduce this: 59e88ad7581c2f7352e1054b40629e8cb7a9c572
2019-04-07 19:59:17 -07:00
Christopher Berner
6e4f8ecf32 Make stats resizing more sparse friendly 2019-04-07 18:53:59 -07:00
Christopher Berner
59e88ad758 Optimize to fifth PI phase for sparse 2019-04-07 17:55:51 -07:00
Christopher Berner
0d531de69e Further optimize PI solver for sparse matrices 2019-04-07 17:33:58 -07:00
Christopher Berner
f063d3114d Optimize sparse matrix density storage with more hinting 2019-04-07 16:18:29 -07:00
Christopher Berner
21e2133f7f Optimize PI decoder to be more sparse friendly 2019-04-06 23:15:32 -07:00
Christopher Berner
b3b6ab0fe9 Add TODOs noting places that may need to be optimized for sparse 2019-04-06 21:02:30 -07:00
Christopher Berner
7906ec47fb Optimize first phase selection helper resize()
Because we always zero out all following rows in the leading column,
the work it was doing was unnecessary
2019-04-06 20:51:33 -07:00
Christopher Berner
d12a2485bf Optimize column swapping in SparseOctetMatrix 2019-04-06 19:56:32 -07:00
Christopher Berner
5817ec9765 Refactor OctetMatrix into a trait 2019-04-05 21:18:25 -07:00
Christopher Berner
1cb16e4636 Refactor OctetMatrix interface to make it easier to sparsify 2019-04-05 20:13:00 -07:00
Luca Bruno
9fe45d6d76 decoder: avoid zero-symbols casts
This replaces zero-symbols casts with statically checked "Into" type
conversions.
2019-03-30 15:57:56 -07:00
Luca Bruno
38df97cce1 raptorq: rustfmt whole project 2019-03-28 21:57:30 -07:00
Christopher Berner
919b4a0f5b Reduce row swaps
Improves performance by ~1%
2019-03-23 13:29:00 -07:00
Christopher Berner
1431ace8bf Make test more robust and resolve TODO 2019-03-23 13:12:08 -07:00
Christopher Berner
dad38875a8 Replace petgraph with custom connected components code
Improves performance by ~20%
2019-03-23 12:22:27 -07:00
Christopher Berner
f288654525 Update to 2018 edition 2019-03-22 18:25:07 -07:00
Christopher Berner
2d92876aa4 Remove Octet::static_init() and use const fn instead 2019-03-21 23:24:53 -07:00
Christopher Berner
a8347df59d Switch to runtime SIMD detection 2019-03-21 21:50:21 -07:00
Christopher Berner
ca552aaa55 Move PI solver to separate file 2019-02-18 17:02:54 -08:00