Skip to content

Release v0.3.0

Grégoire Kubler requested to merge dev into main

Contributors

Thanks to all of you !

🥡 About the operators

Abs

Forward kernel !74 (merged) solved by Olivier BICHLER

And

Forward kernel !75 (merged) solved by Houssem Rouis

ArgMax

Forward kernel !75 (merged) solved by Houssem Rouis

Bitshift

Forward kernel !88 (merged) solved by Noam Zerah

Constant Of Shape

Forward kernel !84 (merged) solved by Grégoire Kubler

Conv1D

Backward kernel !70 (merged) solved by Olivier Bichler

ConvDepthWise1D

Backward kernel !70 (merged) solved by Olivier Bichler

ConvDepthWise1D

Backward kernel !70 (merged) solved by Olivier Bichler

FC

Removed NoBias attribute aidge_core!143 (merged) solved by Olivier Bichler

All conv operators

Removed NoBias Arguments aidge_core!143 (merged) solved by Olivier Bichler

Gridsample

Forward kernel !77 (merged) solved by Maxence Naud

Log / Ln

Forward & Backward kernel (for BCE loss support) !68 (merged)) solved by Olivier Antony

This operator is named Ln because Log exists already in aidge core in form of logging. This will be fixed in future release

Mul

Backward kernel !85 (merged) solved by Jerome Hue

PAD 1D

Forward kernel !70 (diffs) solved by Olivier Bichler

Relu

Backward kernel

Sigmoid

Backward and Forward kernels in !67 (merged) and !69 (merged)) solved by Olivier Antoni

Slice

Moved implementation to cpu backend (which was moved to core in aidge_core!104 (merged)) & added support for step attribute !65 (diffs) solved by Houssem Rouis

Tanh

Backward kernel !67 (merged) solved by Olivier Antoni

ReduceMean

Handle case where axes input is a "scalar tensor" Learning backend cuda solved by Unassigned

ReduceSum

Forward kernel !75 (merged) solved by Houssem Rouis

SoftMax

Enhanced numerical stability !76 (merged) solved by Olivier BICHLER

Fold

Forward kernel !72 (merged) solved by Olivier BICHLER

Moved implementations to core

Several Operator got moved to aidge core as their implementation are backend agnostic

🧰 Features

🦖 MAJOR

Rework of Registrar led to refactor of OperatorImpl

Refactor OperatorImpl for backend/export](!79 (merged)) solved by Olivier BICHLER

Propagating this mr changes, now :

  1. The operators kernel source files are merged in : OPImpl_kernels.hpp
  2. OPImpl.cpp is mostly unchanged.
  3. The OPImpl.hpp which was mostly boilerplate code is factorised in the REGISTRAR macro. Example with Add operator :
namespace Aidge {
// Operator implementation entry point for the backend
using AddImpl_cpu = OperatorImpl_cpu<Add_Op,
    void(const std::vector<const void*>, const std::vector<std::vector<std::size_t>>&, const std::size_t, const std::vector<std::size_t>&, void*)>;

// Implementation entry point registration to Operator
REGISTRAR(Add_Op, "cpu", Aidge::AddImpl_cpu::create);
}  // namespace Aidge
Build process

NO API CHANGES

  • !64 (merged) solved by Grégoire Kubler
    • CI support for automatic packaging and deploy
    • CI files are now common to every project to ease integration of more static analysis tools
    • Support for new pip compilations options (detailed in new README.md)
  • Support for editable installs aidge_onnx!64 (merged) solved by Christophe Guillon
  • aidge_backend_cpu do not rely on its own pybind library anymore but on aidge_core's one instead : !89 (merged) solved by Christophe Guillon

🦎 MINOR

Attribute accessors

API CHANGES The new way to access attributes introduced in aidge_core!145 (diffs) has been propagated in aidge_backend_cpu effectively changing the signature of forward kernels functions.

Updated information for C++ compilation in readme

!86 (diffs) solved by Jerome Hue

🔥 Fixes

  • Clearer error message for when one of the gradients of inputs / outputs of FC is missing !60 (merged) solved by Cyril Moineau
  • Mising link to fmt library led to python import failure : !55 (diffs)

Operator

Pow

Fixed : backaward kernel was looking for a forward function !90 (merged) solved by Houssem Rouis

Pad

X and Y dimensions were inverted in forward kernel !87 (merged) solved by Olivier BICHLER

Edited by Grégoire Kubler

Merge request reports

Loading