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.

utils.cpp 1.2 kB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /**
  2. * \file dnn/test/cuda/utils.cpp
  3. * MegEngine is Licensed under the Apache License, Version 2.0 (the "License")
  4. *
  5. * Copyright (c) 2014-2021 Megvii Inc. All rights reserved.
  6. *
  7. * Unless required by applicable law or agreed to in writing,
  8. * software distributed under the License is distributed on an
  9. * "AS IS" BASIS, WITHOUT ARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. */
  11. #include "./utils.h"
  12. namespace megdnn {
  13. namespace test {
  14. bool check_compute_capability(int major, int minor) {
  15. int dev;
  16. cuda_check(cudaGetDevice(&dev));
  17. cudaDeviceProp prop;
  18. cuda_check(cudaGetDeviceProperties(&prop, dev));
  19. return prop.major > major || (prop.major == major && prop.minor >= minor);
  20. }
  21. bool check_compute_capability_eq(int major, int minor) {
  22. int dev;
  23. cuda_check(cudaGetDevice(&dev));
  24. cudaDeviceProp prop;
  25. cuda_check(cudaGetDeviceProperties(&prop, dev));
  26. return (prop.major == major && prop.minor == minor);
  27. }
  28. const cudaDeviceProp current_cuda_device_prop() {
  29. int dev;
  30. cuda_check(cudaGetDevice(&dev));
  31. cudaDeviceProp prop;
  32. cuda_check(cudaGetDeviceProperties(&prop, dev));
  33. return prop;
  34. }
  35. } // namespace test
  36. } // namespace megdnn
  37. // vim: syntax=cpp.doxygen