Skip to content

Releases: aff3ct/aff3ct

AFF3CT - Release 3.0.2

21 Apr 13:18
8fa65a3
Compare
Choose a tag to compare

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

AFF3CT - Release 3.0.1

17 Jun 08:43
61509eb
Compare
Choose a tag to compare

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

AFF3CT - Release 3.0.0

14 Jun 12:39
c68f71c
Compare
Choose a tag to compare

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

AFF3CT - Release 2.3.5

24 Sep 09:30
1ceddfc
Compare
Choose a tag to compare

Changes listed below:

  • Fix link issues due to missing 'inline' keywords.
  • Add a custom name to the abstract 'Module' class.
  • Fix SystemC compilation error.
  • Remove the outdated completion script.

AFF3CT - Release 2.3.4

20 Sep 09:18
6cc383f
Compare
Choose a tag to compare

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.

AFF3CT - Release 2.3.3

04 Aug 09:50
dd10e11
Compare
Choose a tag to compare

Changes listed below:

  • Add AFF3CT PPA repositories for Debian/Ubuntu OSes:
    • ppa:aff3ct/aff3ct-stable
    • ppa:aff3ct/aff3ct-dev
  • Doc: explain how to use AFF3CT as a library.

AFF3CT - Release 2.3.2

03 Jul 06:57
c7decf7
Compare
Choose a tag to compare

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.

AFF3CT - Release 2.3.1

27 Feb 16:48
748907d
Compare
Choose a tag to compare

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.

AFF3CT - Release 2.3.0

15 Feb 10:23
8e78123
Compare
Choose a tag to compare

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.

AFF3CT - Release 2.2.2

19 Jan 09:09
fcd41ff
Compare
Choose a tag to compare

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).