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 977 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # Copyright 2021 Tencent
  2. # SPDX-License-Identifier: BSD-3-Clause
  3. import pytest
  4. import ncnn
  5. def check_gpuinfo(gpuinfo):
  6. assert gpuinfo.api_version() > 0
  7. assert gpuinfo.driver_version() > 0
  8. assert gpuinfo.vendor_id() > 0
  9. assert gpuinfo.device_id() > 0
  10. assert gpuinfo.pipeline_cache_uuid() is not None
  11. assert gpuinfo.type() >= 0
  12. def test_gpu_api():
  13. if not hasattr(ncnn, "get_gpu_count"):
  14. return
  15. assert ncnn.create_gpu_instance() == 0
  16. assert ncnn.get_gpu_count() > 0
  17. assert ncnn.get_default_gpu_index() >= 0
  18. gpuinfo = ncnn.get_gpu_info(0)
  19. check_gpuinfo(gpuinfo)
  20. vkdev = ncnn.get_gpu_device(0)
  21. assert vkdev is not None
  22. gpuinfo = vkdev.info()
  23. check_gpuinfo(gpuinfo)
  24. ncnn.destroy_gpu_instance()
  25. def test_vulkan_device():
  26. if not hasattr(ncnn, "get_gpu_count"):
  27. return
  28. vkdev = ncnn.VulkanDevice(0)
  29. assert vkdev is not None
  30. gpuinfo = vkdev.info()
  31. check_gpuinfo(gpuinfo)