FullyConnectedBench.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include "Test.h"
  2. #include "Pattern.h"
  3. class FullyConnectedBench:public Client::Suite
  4. {
  5. public:
  6. FullyConnectedBench(Testing::testID_t id);
  7. virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
  8. virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
  9. private:
  10. #include "FullyConnectedBench_decl.h"
  11. int repeatNb;
  12. Client::Pattern<q7_t> input;
  13. Client::Pattern<q31_t> bias;
  14. Client::Pattern<q7_t> weight;
  15. Client::LocalPattern<q7_t> output;
  16. Client::LocalPattern<q15_t> temp;
  17. // Reference patterns are not loaded when we are in dump mode
  18. Client::RefPattern<q7_t> ref;
  19. q7_t *inp;
  20. q31_t *biasp;
  21. q7_t *weightp;
  22. q7_t *outp;
  23. q7_t *refp;
  24. q15_t *tempp;
  25. int32_t output_mult = 1073741824;
  26. int16_t output_shift = -1;
  27. int32_t filter_offset = 1;
  28. int32_t input_offset = 1;
  29. int32_t output_offset = -1;
  30. int32_t act_min =-128;
  31. int32_t act_max= 127;
  32. int32_t nb_batches=1;
  33. int32_t rowDim;
  34. int32_t colDim;
  35. };