Tags: Renlor/aff3ct
Tags
Changes listed below. - add `operator=` method to the `module::Socket` class to simplify the binding - add an automated `create_reset_task` method in the `module::Module` class - add `get_n_input_sockets` and `get_n_output_sockets` methods in `module::Task` - add `tools::Interface_is_done` to `tools::Sequence`: enable auto-stop in `tools::Pipeline` - add `exec_step` method to `tools::Sequence`: enable task by task execution - improve `tools::Sequence`: new task is added to graph if all input sockets are fed - implement `get_info_bits_pos` method in `module::Extractor_RSC` class - improve `module::Switcher`: enable different type and number of elements in `commute` and `select` tasks - plug CWD socket to the RS decoder (to know if the decoder found a codeword) - replace reference members by copy in modules (to simplify the binding with `py_aff3ct`) - add documentation of some tasks - fix doc requirements - fix the LDPC BP flooding/layered decoder (inter-frame SIMD) - fix the `puncture` method prototype of the `module::Puncturer` class - fix AZCW simulations - unbind adaptors when a `tools::Pipeline` is destroyed (avoid bugs) - disable backtrace on Android NDK.
Changes listed below. - add `tools::Sequence` and `tools::Pipeline` - add 0-copy `module::Adaptor` for efficient tools::Pipeline implementation - add `module::Binaryop`, `module::Unaryop`, `module::Reducer` - add `module::Switcher`, `module::Controller` and `module::Iterator` to support loops and conditional structures (if, switch, ...) - add the `hwloc` dependency for thread pinning in `tools::Sequence` and `tools::Pipeline` - implement clonable modules (required for automated duplication in `tools::Sequence`) - add a `status` `module::Socket` for each task automatically - add a priority during the binding of a `module::Socket` - add an `unbind` method to `module::Socket` - add BCH and LDPC decoding status - add FRA, BE, FE, BER and FER as output sockets for monitor BFER - add Multi-kernel Polar encoders and decoders - add `module::Extractor` to extract information bits in a codeword - add `module::Initializer`, `module::Incrementer`, `module::Sleeper` and `module::Finalizer` - add `module::Probe` for very precise feedback - add `module::Sink` (write end of a communication system into a file) - add `module::Subsequence` to regroup multiple tasks in a single one - add `tools::Interface` (clone, reset, set_n_frames, is_done, set_seed, ...) - add the C++ API doc in Sphinx (Doxygen + Breathe + Sphinx) - add an inter-SIMD implementation of the BCH encoder - add new code rates to DVB-RCS2 - add a `set_n_frames` method in the `module::Module`, `tools::Sequence` and `tools::Pipeline` - add native support of inter-frames (in the `module::Task`) - add a new socket CWD (codeword) to get the decoding status per frame - add the `operator[]` method for `string` in `module::Module` - add scripts (based on Clang AST) to simplify the automation of AFF3CT wrappers (Python, MATLAB) - add auto-stop feature in `tools::Sequence` and `tools::Pipeline` (based on the `is_done` interface) - add `tools::Digraph` (directed graph) - add a new `operator=` to `module::Socket`: sockets can be bound in both directions (SIN = SOUT or SOUT = SIN) - replace `tools::Noise` by a channel parameter (CP) socket in `module::Channel` and `module::Modem` - command Line Interface (CLI) has been externalized - split source code (`src/`) in public `include/` and private `src/` folders - simplify `tools::Interleaver`: no need to call the `init` method anymore - dockerize the CI/CD - fix a bug in the LDPC Gallager A decoder for irregular matrices - fix the bug on the majority vote of the LDPC Gallager B decoder - fix bug en the DVB-S2 constants (thx Ben Mathews) - fix Galois field segmentation fault - speedup the LDPC Gallager E (~x2) - remove SystemC/TLM interfaces - remove EXIT chart simulations - remove legacy simulation (without `tools::Sequence`) - remove SIN_SOUT socket type
Changes listed below. - Rename PPA packages: * 'aff3ct' becomes 'aff3ct-bin'. * 'aff3ct-dev' has been split in 'libaff3ct' and 'libaff3ct-dev'. * 'aff3ct-doc' stays 'aff3ct-doc'. - Remove the automatic swap of M, N and K in the alist G and H matrices. - Add an exception when the path to the polar best channels is wrong. - Move versioning functions from 'aff3ct' to 'aff3ct::tools' namespace. - Remove all the code from the '.h' and '.hpp' header files. - Replace includes relative paths by absolute paths. - Clean includes, remove useless ones and add others: * speedup re-compilation time in many cases. * allow to easily include specific headers from external project.
Changes listed below. - Extend constructors of 'Galois' and 'BCH_polynomial_generator' to support generic primitive polynomials. - Add the possibility to dump the best channels of the polar codes. - Add missing ML decoder for BCH codes. - Thread safe '--enc-g-save-path' option. - Improve the CMake scripts and bug fixes. - Fix warnings on MSVC compiler (Visual Studio 2019). - Fix noise management in Polar codec when working on 64-bit floats. - Remove link dependencies with GSL and MKL libraries. - CI: merge 'documentation' and 'parser' stages in 'check'. - CI: upload the builds as artifacts in the deploy script.
Changes listed below. - Rewrite the 'CMakeLists.txt' file following the CMake 3.x philosophy with targets. - Generate automatically the 'aff3ct-config.cmake' file to link easily with AFF3CT. - Add CPack support in the 'CMakeLists.txt' to generate Windows/macOS installers, DEB, RPM, etc. - Split the LDPC 'WBF' algorithm in 'WBF' and 'MWBF' algorithms. - Rename '--dec-mwbf' in '--dec-mwbf-factor'. - Fix an uninitialized attribute in the polar SCF naive decoder. - CI: compile the shared library for Windows (DLL). - CI: simplify the build and deploy scripts relying on the CMake install feature.
Changes listed below. - Add BEC frozen bits generator for polar codes. - Add 5G frozen bits generator for polar codes. - Add 5G CRCs. - Add a naive implementation of the SC Flip (SCF) decoder for polar codes. - Add a new parameter '--ter-sigma' to display the standard deviation of the Gaussian distribution. - Enable FAST SC and FAST SCL polar decoding on BEC channels. - Fix a possible SCMA bug in the user to resource loop. - Fix compilation of incompatibles LDPC files in the library when the compiler does not support C++17 'aligned new' feature. - Fix wrong load in the BCJR decoder (RSC DB codes) when using non-buffered encoding. - CI: integrate the debug parser script. - CI: add RSC, RSC_DB, REP and RA regression tests.
Changes listed below. - Speedup the monitor reduction process. - Fix the MPI version of the code and rename the '--sim-mpi-comm' argument in '--mnt-mpi-comm-freq'. - Add a lazy monitor reduction process and add two arugments to enable and configure it ('--mnt-red-lazy' and '--mnt-red-lazy-freq').
PreviousNext