Christopher Berner
|
0644794488
|
Add Encoder and Decoder that can span multiple blocks
|
2019-02-20 20:52:44 -08:00 |
|
Christopher Berner
|
7c361d698e
|
Add Object Transmission Information struct
|
2019-02-18 23:25:56 -08:00 |
|
Christopher Berner
|
ca552aaa55
|
Move PI solver to separate file
|
2019-02-18 17:02:54 -08:00 |
|
Christopher Berner
|
5e2c7a9077
|
Optimize mul_row() implementation
|
2019-02-18 10:48:06 -08:00 |
|
Christopher Berner
|
a20f894c52
|
Support extra repair symbols when decoding
|
2019-02-18 10:34:43 -08:00 |
|
Christopher Berner
|
fc0ae5d162
|
Keep histrogram to accelerate computation of "r"
Improves performance by 5%
|
2019-02-16 10:56:24 -08:00 |
|
Christopher Berner
|
35145f43c8
|
Reduce memory allocation for graph
|
2019-02-15 23:45:34 -08:00 |
|
Christopher Berner
|
0ccc423bfd
|
Add specialized UsizeArrayMap
|
2019-02-15 23:25:40 -08:00 |
|
Christopher Berner
|
b5360175ee
|
Fix initial end column in row selection stats
|
2019-02-15 22:48:23 -08:00 |
|
Christopher Berner
|
27d1e75ab9
|
Fix bug in row selection
|
2019-02-15 22:33:40 -08:00 |
|
Christopher Berner
|
ae26fbfe0d
|
Refactor row selection code
|
2019-02-15 22:23:16 -08:00 |
|
Christopher Berner
|
123d5ab2c1
|
Optimize row selection stats tracking
|
2019-02-15 21:56:48 -08:00 |
|
Christopher Berner
|
dc5c4c9cce
|
Replace panic!() with unreachable!()
|
2019-02-15 21:25:41 -08:00 |
|
Christopher Berner
|
c93140968e
|
Document where HDPC rows are defined
|
2019-02-15 20:58:13 -08:00 |
|
Christopher Berner
|
34f6ba3a46
|
Reduce memory allocation
Improves perf by 10%
|
2019-02-14 21:32:09 -08:00 |
|
Christopher Berner
|
f61c13ec6f
|
Replace Vec with array
|
2019-02-13 22:56:04 -08:00 |
|
Christopher Berner
|
36eca029a4
|
Use with_capacity when possible to create vectors
Improves perf ~3%
|
2019-02-13 22:41:42 -08:00 |
|
Christopher Berner
|
1f0a6639b4
|
Remove unneeded OctetMatrix methods
|
2019-02-13 21:35:26 -08:00 |
|
Christopher Berner
|
f85d6c5075
|
Remove excess clone()'ing
Improves performance by 15%
|
2019-02-12 23:04:30 -08:00 |
|
Christopher Berner
|
966ed6d666
|
Refactor first phase decoding
|
2019-02-12 21:18:19 -08:00 |
|
Christopher Berner
|
42fab82742
|
Prevent inlining some functions to make profiling easier
|
2019-02-12 21:07:05 -08:00 |
|
Christopher Berner
|
a7966934dd
|
Add per phase tracking of symbol XOR and MUL ops
|
2019-02-12 18:08:24 -08:00 |
|
Christopher Berner
|
14ede8e96e
|
Incrementally compute row selection stats for first phase
Improve performance by ~5%
|
2019-02-11 23:34:10 -08:00 |
|
Christopher Berner
|
195843fe66
|
Fix compiler warnings
|
2019-02-11 21:59:54 -08:00 |
|
Christopher Berner
|
5dd3a0bc18
|
Implement sorting by original degree
|
2019-02-11 18:21:52 -08:00 |
|
Christopher Berner
|
e84bdfbd41
|
Resolve ambiguity about graph construction
|
2019-02-11 17:59:10 -08:00 |
|
Christopher Berner
|
f8d8d53c52
|
Fix compiler warnings and add a test
|
2019-02-10 23:41:41 -08:00 |
|
Christopher Berner
|
2ebe217f52
|
Replace HashMap with ArrayMap
Improve performance 1-2%
|
2019-02-10 16:03:44 -08:00 |
|
Christopher Berner
|
4c8f607f3b
|
Refactor first_phase to make profiling even easier
|
2019-02-10 14:15:49 -08:00 |
|
Christopher Berner
|
88f898d7df
|
Refactor first_phase to make profiling easier
|
2019-02-10 14:03:43 -08:00 |
|
Christopher Berner
|
051e3c231f
|
Replace HashMap usage in graph calculation
Improves performance by 7%
|
2019-02-10 13:49:57 -08:00 |
|
Christopher Berner
|
1e8ac28bfe
|
Add ArrayMap class
Makes offset code easier to understand, and is more reusable as a
HashMap replacement
|
2019-02-10 13:44:51 -08:00 |
|
Christopher Berner
|
e95315dc78
|
Optimize submatrix multiplication
Improves performance by ~15%
|
2019-02-10 10:27:09 -08:00 |
|
Christopher Berner
|
d7b0e0bf37
|
Fix unused code warnings
|
2019-02-09 15:32:56 -08:00 |
|
Christopher Berner
|
c0a83d7853
|
Optimize first_phase_selection()
Improves performance by ~15%
|
2019-02-09 15:23:34 -08:00 |
|
Christopher Berner
|
ef4d87ba6d
|
Refactor first decoding phase
Improves performance a couple percent
|
2019-02-09 14:58:32 -08:00 |
|
Christopher Berner
|
5b75f4c5cf
|
Optimize submatrix multiplication
Improves performance by ~4%
|
2019-02-09 13:10:06 -08:00 |
|
Christopher Berner
|
3798090453
|
Optimize matrix row FMA operation
Improves performance by ~13%
|
2019-02-09 11:21:31 -08:00 |
|
Christopher Berner
|
93467a9d6e
|
Disable decode verification steps in release build
Improves performance by ~10%
|
2019-02-07 22:23:50 -08:00 |
|
Christopher Berner
|
06002938ed
|
Refactor decoder to use OctetMatrix
|
2019-02-07 21:33:48 -08:00 |
|
Christopher Berner
|
fa8e6cae70
|
Refactor decoder to use OctetMatrix for X
|
2019-02-07 19:19:14 -08:00 |
|
Christopher Berner
|
5fe8ac022d
|
Simplify OctetMatrix::set()
|
2019-02-07 19:01:22 -08:00 |
|
Christopher Berner
|
4d8405aa2a
|
Precompute Octet multiplication table
|
2019-02-04 22:44:38 -08:00 |
|
Christopher Berner
|
2b97474588
|
Optimize Symbol * scalar multiplication
|
2019-02-03 22:58:37 -08:00 |
|
Christopher Berner
|
aea5933a31
|
Prevent inlining of decoding phases
This makes profiling easier, since it retains the callstack, and has
essentially no performance impact
|
2019-02-03 21:56:44 -08:00 |
|
Christopher Berner
|
27d07a2d26
|
Avoid multiplication by zero in decoder
Also add assertion, to catch inefficient code
|
2019-02-03 19:52:33 -08:00 |
|
Christopher Berner
|
f0f68e64a1
|
Add tracking of Symbol add ops when decoding
|
2019-02-03 19:35:20 -08:00 |
|
Christopher Berner
|
4cb675c618
|
Optimize multiplication by X and fix mul op tracking
|
2019-02-03 19:31:20 -08:00 |
|
Christopher Berner
|
ece0c54244
|
Optimize fma_rows() to avoid multiplying by 1
|
2019-02-03 19:28:32 -08:00 |
|
Christopher Berner
|
414aacea77
|
Check optimized decoder efficiency in sparsity computation
|
2019-02-03 16:13:43 -08:00 |
|