From f194bdc948b21de93c2e14ed73d71d41987f89f5 Mon Sep 17 00:00:00 2001 From: Davis King Date: Mon, 22 Aug 2016 10:20:41 -0400 Subject: [PATCH] Added cuda bindings: get_device_name(), set_current_device_blocking_sync(). --- dlib/dnn/cuda_dlib.cu | 15 +++++++++++++++ dlib/dnn/cuda_dlib.h | 19 +++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/dlib/dnn/cuda_dlib.cu b/dlib/dnn/cuda_dlib.cu index 34e232204..c937e1872 100644 --- a/dlib/dnn/cuda_dlib.cu +++ b/dlib/dnn/cuda_dlib.cu @@ -27,6 +27,21 @@ namespace dlib return dev; } + std::string get_device_name ( + int device + ) + { + cudaDeviceProp props; + CHECK_CUDA(cudaGetDeviceProperties(&props, device)); + return props.name; + } + + void set_current_device_blocking_sync( + ) + { + CHECK_CUDA(cudaSetDeviceFlags(cudaDeviceScheduleBlockingSync)); + } + int get_num_devices ( ) { diff --git a/dlib/dnn/cuda_dlib.h b/dlib/dnn/cuda_dlib.h index 5c1dc02e9..a18bf6887 100644 --- a/dlib/dnn/cuda_dlib.h +++ b/dlib/dnn/cuda_dlib.h @@ -23,6 +23,13 @@ namespace dlib int get_num_devices ( ); + std::string get_device_name ( + int device + ); + + void set_current_device_blocking_sync( + ); + bool can_access_peer (int device_id, int peer_device_id); bool can_access_peer (const tensor& device, const tensor& peer_device); @@ -285,6 +292,18 @@ namespace dlib inline int get_num_devices ( ) { return 1; } + inline std::string get_device_name ( + int device + ) + { + DLIB_CASSERT(id == 0, "dlib::cuda::set_device(id) called with an invalid device id."); + return "CUDA_DISABLED"; + } + + inline void set_current_device_blocking_sync( + ) {} + + inline bool can_access_peer (int , int ) { return false; } inline bool can_access_peer (const tensor& , const tensor& )