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.

sleep.cpp 907 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include "hcc_detail/hcc_defs_prologue.h"
  2. #include "megdnn/oprs.h"
  3. #include "test/rocm/fixture.h"
  4. #include "test/rocm/utils.h"
  5. #include <chrono>
  6. #include <cstdio>
  7. using namespace megdnn;
  8. using namespace test;
  9. #if !(MEGDNN_AARCH64)
  10. TEST_F(ROCM, SLEEP) {
  11. auto opr = this->handle_rocm()->create_operator<Sleep>();
  12. auto run = [&](float time) -> double {
  13. opr->param() = {time};
  14. hip_check(hipDeviceSynchronize());
  15. auto t0 = std::chrono::high_resolution_clock::now();
  16. opr->exec();
  17. hip_check(hipDeviceSynchronize());
  18. auto t1 = std::chrono::high_resolution_clock::now();
  19. std::chrono::duration<double> diff = t1 - t0;
  20. return diff.count();
  21. };
  22. // warmv7up
  23. run(0.01);
  24. for (auto i : {0.1, 0.3}) {
  25. auto get = run(i);
  26. ASSERT_GE(get, i);
  27. ASSERT_LE(get, i * 2);
  28. }
  29. }
  30. #endif
  31. // vim: syntax=cpp.doxygen