You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

relayout.h 1.1 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #pragma once
  2. #include "megdnn/basic_types.h"
  3. #include "megdnn/handle.h"
  4. #include "megdnn/opr_param_defs.h"
  5. #include <gtest/gtest.h>
  6. namespace megdnn {
  7. namespace test {
  8. namespace relayout {
  9. // clang-format off
  10. #define FIRST_RELAYOUT_CASE cv
  11. #define FOREACH_RELAYOUT_NONFIRST_CASE(cb) \
  12. cb(cv_ch3) \
  13. cb(cv_ch5) \
  14. cb(broadcast) \
  15. cb(negative) \
  16. cb(transpose) \
  17. #define FOREACH_RELAYOUT_CASE(cb) \
  18. cb(FIRST_RELAYOUT_CASE) \
  19. FOREACH_RELAYOUT_NONFIRST_CASE(cb)
  20. #define def_tags(name) struct name{};
  21. FOREACH_RELAYOUT_CASE(def_tags);
  22. #undef def_tags
  23. template<typename tag>
  24. void run_test(Handle *handle);
  25. #define t(n) ,n
  26. typedef ::testing::Types<FIRST_RELAYOUT_CASE
  27. FOREACH_RELAYOUT_NONFIRST_CASE(t)> test_types;
  28. #undef t
  29. // clang-format on
  30. struct TestArg {
  31. TensorLayout src;
  32. TensorLayout dst;
  33. TestArg() = default;
  34. TestArg(TensorLayout src_, TensorLayout dst_) : src(src_), dst(dst_) {}
  35. };
  36. void run_cv_benchmark(Handle* handle);
  37. } // namespace relayout
  38. } // namespace test
  39. } // namespace megdnn
  40. // vim: syntax=cpp.doxygen