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.

test_vulkan_device.py 1.6 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # Tencent is pleased to support the open source community by making ncnn available.
  2. #
  3. # Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
  4. #
  5. # Licensed under the BSD 3-Clause License (the "License"); you may not use this file except
  6. # in compliance with the License. You may obtain a copy of the License at
  7. #
  8. # https://opensource.org/licenses/BSD-3-Clause
  9. #
  10. # Unless required by applicable law or agreed to in writing, software distributed
  11. # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
  12. # CONDITIONS OF ANY KIND, either express or implied. See the License for the
  13. # specific language governing permissions and limitations under the License.
  14. import pytest
  15. import ncnn
  16. def check_gpuinfo(gpuinfo):
  17. assert gpuinfo.api_version() > 0
  18. assert gpuinfo.driver_version() > 0
  19. assert gpuinfo.vendor_id() > 0
  20. assert gpuinfo.device_id() > 0
  21. assert gpuinfo.pipeline_cache_uuid() is not None
  22. assert gpuinfo.type() >= 0
  23. def test_gpu_api():
  24. if not hasattr(ncnn, "get_gpu_count"):
  25. return
  26. assert ncnn.create_gpu_instance() == 0
  27. assert ncnn.get_gpu_count() > 0
  28. assert ncnn.get_default_gpu_index() >= 0
  29. gpuinfo = ncnn.get_gpu_info(0)
  30. check_gpuinfo(gpuinfo)
  31. vkdev = ncnn.get_gpu_device(0)
  32. assert vkdev is not None
  33. gpuinfo = vkdev.info()
  34. check_gpuinfo(gpuinfo)
  35. ncnn.destroy_gpu_instance()
  36. def test_vulkan_device():
  37. if not hasattr(ncnn, "get_gpu_count"):
  38. return
  39. vkdev = ncnn.VulkanDevice(0)
  40. assert vkdev is not None
  41. gpuinfo = vkdev.info()
  42. check_gpuinfo(gpuinfo)