DeviceInfo class method that were implemented in header moved to cpp file.
This commit is contained in:
parent
88a883e68e
commit
be530bd085
@ -112,13 +112,13 @@ namespace cv { namespace gpu
|
||||
// Creates DeviceInfo object for the given GPU
|
||||
DeviceInfo(int device_id) : device_id_(device_id) { query(); }
|
||||
|
||||
std::string name() const { return name_; }
|
||||
std::string name() const;
|
||||
|
||||
// Return compute capability versions
|
||||
int majorVersion() const { return majorVersion_; }
|
||||
int minorVersion() const { return minorVersion_; }
|
||||
int majorVersion() const;
|
||||
int minorVersion() const;
|
||||
|
||||
int multiProcessorCount() const { return multi_processor_count_; }
|
||||
int multiProcessorCount() const;
|
||||
|
||||
size_t sharedMemPerBlock() const;
|
||||
|
||||
@ -132,7 +132,7 @@ namespace cv { namespace gpu
|
||||
// Checks whether the GPU module can be run on the given device
|
||||
bool isCompatible() const;
|
||||
|
||||
int deviceID() const { return device_id_; }
|
||||
int deviceID() const;
|
||||
|
||||
private:
|
||||
// Private section is fictive to preserve bin compatibility.
|
||||
|
@ -170,6 +170,11 @@ size_t cv::gpu::DeviceInfo::freeMemory() const { return deviceInfoFuncTable()->f
|
||||
size_t cv::gpu::DeviceInfo::totalMemory() const { return deviceInfoFuncTable()->totalMemory(); }
|
||||
bool cv::gpu::DeviceInfo::supports(FeatureSet feature_set) const { return deviceInfoFuncTable()->supports(feature_set); }
|
||||
bool cv::gpu::DeviceInfo::isCompatible() const { return deviceInfoFuncTable()->isCompatible(); }
|
||||
int cv::gpu::DeviceInfo::deviceID() const { return deviceInfoFuncTable()->deviceID(); };
|
||||
int cv::gpu::DeviceInfo::majorVersion() const { return deviceInfoFuncTable()->majorVersion(); }
|
||||
int cv::gpu::DeviceInfo::minorVersion() const { return deviceInfoFuncTable()->minorVersion(); }
|
||||
std::string cv::gpu::DeviceInfo::name() const { return deviceInfoFuncTable()->name(); }
|
||||
int cv::gpu::DeviceInfo::multiProcessorCount() const { return deviceInfoFuncTable()->multiProcessorCount(); }
|
||||
void cv::gpu::DeviceInfo::query() { deviceInfoFuncTable()->query(); }
|
||||
|
||||
void cv::gpu::printCudaDeviceInfo(int device) { gpuFuncTable()->printCudaDeviceInfo(device); }
|
||||
|
@ -11,6 +11,11 @@
|
||||
virtual bool supports(FeatureSet) const = 0;
|
||||
virtual bool isCompatible() const = 0;
|
||||
virtual void query() = 0;
|
||||
virtual int deviceID() const = 0;
|
||||
virtual std::string name() const = 0;
|
||||
virtual int majorVersion() const = 0;
|
||||
virtual int minorVersion() const = 0;
|
||||
virtual int multiProcessorCount() const = 0;
|
||||
virtual ~DeviceInfoFuncTable() {};
|
||||
};
|
||||
|
||||
@ -70,6 +75,11 @@
|
||||
bool supports(FeatureSet) const { throw_nogpu; return false; }
|
||||
bool isCompatible() const { throw_nogpu; return false; }
|
||||
void query() { throw_nogpu; }
|
||||
int deviceID() const { throw_nogpu; return -1; };
|
||||
std::string name() const { throw_nogpu; return std::string(); }
|
||||
int majorVersion() const { throw_nogpu; return -1; }
|
||||
int minorVersion() const { throw_nogpu; return -1; }
|
||||
int multiProcessorCount() const { throw_nogpu; return -1; }
|
||||
};
|
||||
|
||||
class EmptyFuncTable : public GpuFuncTable
|
||||
@ -579,6 +589,31 @@ namespace cv { namespace gpu { namespace device
|
||||
minorVersion_ = prop->minor;
|
||||
}
|
||||
|
||||
int deviceID() const
|
||||
{
|
||||
return device_id_;
|
||||
}
|
||||
|
||||
std::string name() const
|
||||
{
|
||||
return name_;
|
||||
}
|
||||
|
||||
int majorVersion() const
|
||||
{
|
||||
return majorVersion_;
|
||||
}
|
||||
|
||||
int minorVersion() const
|
||||
{
|
||||
return minorVersion_;
|
||||
}
|
||||
|
||||
int multiProcessorCount() const
|
||||
{
|
||||
return multi_processor_count_;
|
||||
}
|
||||
|
||||
private:
|
||||
int device_id_;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user