Skip to content

test_export fails for ReduceMean

What commit version of aidge do you use

  • aidge_core: a9671b82b0150fbd8803327744f4f2b176b7c3b0
  • aidge_export_cpp: 520348e5

Problem description

AIDGE/aidge/aidge/aidge_export_cpp/aidge_export_cpp/unit_tests/test_export.py test fails to comple ReduceMean operator. ( after !51 (merged) merged to dev )

Make shows errors in reducemean.hpp :

./dnn/include/kernels/reducemean.hpp:10:19: error: conditional_t in namespace std does not name a template type
   10 |     typename std::conditional_t<std::is_floating_point<T>::value, T, double>;
      |                   ^~~~~~~~~~~~~
./dnn/include/kernels/reducemean.hpp:14:15: error: enable_if in namespace std does not name a template type
   14 | typename std::enable_if<std::is_floating_point<T>::value, T>::type
      |               ^~~~~~~~~
./dnn/include/kernels/reducemean.hpp:14:24: error: expected unqualified-id before < token
   14 | typename std::enable_if<std::is_floating_point<T>::value, T>::type
      |                        ^
./dnn/include/kernels/reducemean.hpp:27:15: error: enable_if_t in namespace std does not name a template type
   27 | typename std::enable_if_t<!std::is_floating_point<T>::value, double>
      |               ^~~~~~~~~~~
./dnn/include/kernels/reducemean.hpp:27:26: error: expected unqualified-id before < token
   27 | typename std::enable_if_t<!std::is_floating_point<T>::value, double>
      |                          ^
./dnn/include/kernels/reducemean.hpp:39:15: error: enable_if_t in namespace std does not name a template type
   39 | typename std::enable_if_t<std::is_floating_point<T>::value, T>
      |               ^~~~~~~~~~~
./dnn/include/kernels/reducemean.hpp:39:26: error: expected unqualified-id before < token
   39 | typename std::enable_if_t<std::is_floating_point<T>::value, T>
      |                          ^
./dnn/include/kernels/reducemean.hpp:45:15: error: enable_if_t in namespace std does not name a template type
   45 | typename std::enable_if_t<!std::is_floating_point<T>::value, T>
      |               ^~~~~~~~~~~
./dnn/include/kernels/reducemean.hpp:45:26: error: expected unqualified-id before < token
   45 | typename std::enable_if_t<!std::is_floating_point<T>::value, T>
      |                          ^
./dnn/include/kernels/reducemean.hpp: In function Output_T* computeMeanOverAxis(unsigned int, unsigned int, unsigned int, unsigned int, const Input_T*, Output_T*):
./dnn/include/kernels/reducemean.hpp:81:53: error: castFromFloat was not declared in this scope
   81 |             currAcc[oPreAxisOffset + postAxisIdx] = castFromFloat<Output_T>(
      |                                                     ^~~~~~~~~~~~~
./dnn/include/kernels/reducemean.hpp:81:75: error: expected primary-expression before > token
   81 |             currAcc[oPreAxisOffset + postAxisIdx] = castFromFloat<Output_T>(
      |                                                                           ^
./dnn/include/kernels/reducemean.hpp: In function void reducemean_forward(const unsigned int*, const unsigned int*, const unsigned int*, const unsigned int*, const Input_T*, Output_T*):
./dnn/include/kernels/reducemean.hpp:124:9: error: Acc_T was not declared in this scope
  124 |         Acc_T<Output_T> *currAcc = new Acc_T<Input_T>[outputElements];
      |         ^~~~~
./dnn/include/kernels/reducemean.hpp:124:23: error: expected primary-expression before > token
  124 |         Acc_T<Output_T> *currAcc = new Acc_T<Input_T>[outputElements];
      |                       ^
./dnn/include/kernels/reducemean.hpp:124:26: error: currAcc was not declared in this scope
  124 |         Acc_T<Output_T> *currAcc = new Acc_T<Input_T>[outputElements];
      |                          ^~~~~~~
./dnn/include/kernels/reducemean.hpp:124:40: error: Acc_T does not name a type
  124 |         Acc_T<Output_T> *currAcc = new Acc_T<Input_T>[outputElements];
      |                                        ^~~~~
./dnn/include/kernels/reducemean.hpp:124:53: error: expected primary-expression before > token
  124 |         Acc_T<Output_T> *currAcc = new Acc_T<Input_T>[outputElements];
      |                                                     ^
./dnn/include/kernels/reducemean.hpp: In lambda function:
./dnn/include/kernels/reducemean.hpp:124:70: error: expected { before ; token
  124 |         Acc_T<Output_T> *currAcc = new Acc_T<Input_T>[outputElements];
      |                                                                      ^
./dnn/include/kernels/reducemean.hpp: In function void reducemean_forward(const unsigned int*, const unsigned int*, const unsigned int*, const unsigned int*, const Input_T*, Output_T*):
./dnn/include/kernels/reducemean.hpp:125:22: error: expected primary-expression before > token
  125 |         Acc_T<Input_T> *prevAcc = nullptr;
      |                      ^
./dnn/include/kernels/reducemean.hpp:125:25: error: prevAcc was not declared in this scope
  125 |         Acc_T<Input_T> *prevAcc = nullptr;
      |                         ^~~~~~~
./dnn/include/kernels/reducemean.hpp:146:27: error: Acc_T does not name a type
  146 |             currAcc = new Acc_T<Input_T>[outputElements];
      |                           ^~~~~
./dnn/include/kernels/reducemean.hpp:146:40: error: expected primary-expression before > token
  146 |             currAcc = new Acc_T<Input_T>[outputElements];
      |                                        ^
./dnn/include/kernels/reducemean.hpp: In lambda function:
./dnn/include/kernels/reducemean.hpp:146:57: error: expected { before ; token
  146 |             currAcc = new Acc_T<Input_T>[outputElements];
      |                                                         ^
./dnn/include/kernels/reducemean.hpp: In function void reducemean_forward(const unsigned int*, const unsigned int*, const unsigned int*, const unsigned int*, const Input_T*, Output_T*):
./dnn/include/kernels/reducemean.hpp:147:23: error: parse error in template argument list
  147 |             currAcc = computeMeanOverAxis<Acc_T<Input_T>, Acc_T<Output_T>>(
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./dnn/include/kernels/reducemean.hpp:147:73: error: expected primary-expression before >> token
  147 |             currAcc = computeMeanOverAxis<Acc_T<Input_T>, Acc_T<Output_T>>(
      |                                                                         ^~
./dnn/include/kernels/reducemean.hpp:163:25: error: castFromFloat was not declared in this scope
  163 |             output[i] = castFromFloat<Output_T>(currAcc[i]);
      |                         ^~~~~~~~~~~~~
./dnn/include/kernels/reducemean.hpp:163:47: error: expected primary-expression before > token
  163 |             output[i] = castFromFloat<Output_T>(currAcc[i]);
      |                                               ^
./dnn/include/kernels/reducemean.hpp: In instantiation of void reducemean_forward(const unsigned int*, const unsigned int*, const unsigned int*, const unsigned int*, const Input_T*, Output_T*) [with unsigned int IN_NB_DIMS = 3; unsigned int IN_NB_ELTS = 6; unsigned int OUT_NB_ELTS = 1; unsigned int NB_AXES_TO_REDUCE = 2; Input_T = float; Output_T = float]:
dnn/src/forward.cpp:36:49:   required from here
./dnn/include/kernels/reducemean.hpp:148:35: warning: left operand of comma operator has no effect [-Wunused-value]
  148 |                 preAxisStrides_mut[axis],
      |                 ~~~~~~~~~~~~~~~~~~^
./dnn/include/kernels/reducemean.hpp:148:41: warning: value computed is not used [-Wunused-value]
  148 |                 preAxisStrides_mut[axis],
./dnn/include/kernels/reducemean.hpp:148:41: warning: right operand of comma operator has no effect [-Wunused-value]
./dnn/include/kernels/reducemean.hpp:150:29: warning: right operand of comma operator has no effect [-Wunused-value]
  150 |                 iDims[axis] * postAxisStrides[axis],
./dnn/include/kernels/reducemean.hpp: In instantiation of Output_T* computeMeanOverAxis(unsigned int, unsigned int, unsigned int, unsigned int, const Input_T*, Output_T*) [with Input_T = float; Output_T = float]:
./dnn/include/kernels/reducemean.hpp:110:56:   required from void reducemean_forward(const unsigned int*, const unsigned int*, const unsigned int*, const unsigned int*, const Input_T*, Output_T*) [with unsigned int IN_NB_DIMS = 3; unsigned int IN_NB_ELTS = 6; unsigned int OUT_NB_ELTS = 1; unsigned int NB_AXES_TO_REDUCE = 2; Input_T = float; Output_T = float]
dnn/src/forward.cpp:36:49:   required from here
./dnn/include/kernels/reducemean.hpp:82:27: error: stableMean was not declared in this scope
   81 |             currAcc[oPreAxisOffset + postAxisIdx] = castFromFloat<Output_T>(
      |                                                                            ~
   82 |                 stableMean(prevAcc + iPreAxisOffset + postAxisIdx,
      |                 ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   83 |                            iDim,
      |                            ~~~~~
   84 |                            postAxisNbElts));
      |                            ~~~~~~~~~~~~~~~~
make: *** [Makefile:49: build/./dnn/src/forward.o] Error 1
Edited by Louis Lerbourg