Get gpu count and name
Add two new methods to get informations about graphic device
| | |
| | | return 1; |
| | | } |
| | | |
| | | int get_device_count() { |
| | | #ifdef GPU |
| | | int count = 0; |
| | | cudaGetDeviceCount(&count); |
| | | return count; |
| | | #else |
| | | return -1; |
| | | #endif // GPU |
| | | } |
| | | |
| | | int get_device_name(int gpu, char* deviceName) { |
| | | #ifdef GPU |
| | | cudaDeviceProp prop; |
| | | cudaGetDeviceProperties(&prop, gpu); |
| | | std::string result = prop.name; |
| | | std::copy(result.begin(), result.end(), deviceName); |
| | | return 1; |
| | | #else |
| | | return -1; |
| | | #endif // GPU |
| | | } |
| | | |
| | | #ifdef GPU |
| | | void check_cuda(cudaError_t status) { |
| | | if (status != cudaSuccess) { |
| | |
| | | extern "C" YOLODLL_API int detect_image(const char *filename, bbox_t_container &container); |
| | | extern "C" YOLODLL_API int detect_mat(const uint8_t* data, const size_t data_length, bbox_t_container &container); |
| | | extern "C" YOLODLL_API int dispose(); |
| | | extern "C" YOLODLL_API int get_device_count(); |
| | | extern "C" YOLODLL_API int get_device_name(int gpu, char* deviceName); |
| | | |
| | | class Detector { |
| | | std::shared_ptr<void> detector_gpu_ptr; |