Commit 2f8af633 authored by Alexey Spizhevoy's avatar Alexey Spizhevoy

renamed GpuFeature into FeatureSet and updated docs

parent 04709a27
...@@ -22,11 +22,11 @@ Returns the current device index, which was set by {gpu::getDevice} or initializ ...@@ -22,11 +22,11 @@ Returns the current device index, which was set by {gpu::getDevice} or initializ
\cvdefCpp{int getDevice();} \cvdefCpp{int getDevice();}
\cvclass{gpu::GpuFeature}\label{cpp.gpu.GpuFeature} \cvclass{gpu::FeatureSet}\label{cpp.gpu.FeatureSet}
GPU compute features. GPU compute features.
\begin{lstlisting} \begin{lstlisting}
enum GpuFeature enum FeatureSet
{ {
FEATURE_SET_COMPUTE_10, FEATURE_SET_COMPUTE_11, FEATURE_SET_COMPUTE_10, FEATURE_SET_COMPUTE_11,
FEATURE_SET_COMPUTE_12, FEATURE_SET_COMPUTE_13, FEATURE_SET_COMPUTE_12, FEATURE_SET_COMPUTE_13,
...@@ -56,7 +56,7 @@ public: ...@@ -56,7 +56,7 @@ public:
size_t freeMemory() const; size_t freeMemory() const;
size_t totalMemory() const; size_t totalMemory() const;
bool supports(GpuFeature feature) const; bool supports(FeatureSet feature_set) const;
bool isCompatible() const; bool isCompatible() const;
}; };
\end{lstlisting} \end{lstlisting}
...@@ -111,9 +111,9 @@ Returns the amount of total memory in bytes. ...@@ -111,9 +111,9 @@ Returns the amount of total memory in bytes.
\cvCppFunc{gpu::DeviceInfo::supports} \cvCppFunc{gpu::DeviceInfo::supports}
Returns true if the device has the given GPU feature, otherwise false. Returns true if the device has the given GPU feature, otherwise false.
\cvdefCpp{bool DeviceInfo::supports(GpuFeature feature);} \cvdefCpp{bool DeviceInfo::supports(FeatureSet feature\_set);}
\begin{description} \begin{description}
\cvarg{feature}{Feature to be checked. See \hyperref[cpp.gpu.GpuFeature]{cv::gpu::GpuFeature}.} \cvarg{feature}{Feature to be checked. See \hyperref[cpp.gpu.FeatureSet]{cv::gpu::FeatureSet}.}
\end{description} \end{description}
...@@ -129,9 +129,9 @@ This class provides functionality (as set of static methods) for checking which ...@@ -129,9 +129,9 @@ This class provides functionality (as set of static methods) for checking which
\bigskip \bigskip
The following method checks whether the module was built with the support of the given feature: The following method checks whether the module was built with the support of the given feature:
\cvdefCpp{static bool builtWith(GpuFeature feature);} \cvdefCpp{static bool builtWith(FeatureSet feature\_set);}
\begin{description} \begin{description}
\cvarg{feature}{Feature to be checked. See \hyperref[cpp.gpu.GpuFeature]{cv::gpu::GpuFeature}.} \cvarg{feature}{Feature to be checked. See \hyperref[cpp.gpu.FeatureSet]{cv::gpu::FeatureSet}.}
\end{description} \end{description}
There are a set of methods for checking whether the module contains intermediate (PTX) or binary GPU code for the given architecture(s): There are a set of methods for checking whether the module contains intermediate (PTX) or binary GPU code for the given architecture(s):
......
No preview for this file type
...@@ -64,7 +64,7 @@ namespace cv ...@@ -64,7 +64,7 @@ namespace cv
CV_EXPORTS void setDevice(int device); CV_EXPORTS void setDevice(int device);
CV_EXPORTS int getDevice(); CV_EXPORTS int getDevice();
enum GpuFeature enum FeatureSet
{ {
FEATURE_SET_COMPUTE_10 = 10, FEATURE_SET_COMPUTE_10 = 10,
FEATURE_SET_COMPUTE_11 = 11, FEATURE_SET_COMPUTE_11 = 11,
...@@ -81,7 +81,7 @@ namespace cv ...@@ -81,7 +81,7 @@ namespace cv
class CV_EXPORTS TargetArchs class CV_EXPORTS TargetArchs
{ {
public: public:
static bool builtWith(GpuFeature feature); static bool builtWith(FeatureSet feature_set);
static bool has(int major, int minor); static bool has(int major, int minor);
static bool hasPtx(int major, int minor); static bool hasPtx(int major, int minor);
static bool hasBin(int major, int minor); static bool hasBin(int major, int minor);
...@@ -115,7 +115,7 @@ namespace cv ...@@ -115,7 +115,7 @@ namespace cv
size_t totalMemory() const; size_t totalMemory() const;
// Checks whether device supports the given feature // Checks whether device supports the given feature
bool supports(GpuFeature feature) const; bool supports(FeatureSet feature_set) const;
// Checks whether the GPU module can be run on the given device // Checks whether the GPU module can be run on the given device
bool isCompatible() const; bool isCompatible() const;
......
...@@ -48,6 +48,9 @@ using namespace cv::gpu; ...@@ -48,6 +48,9 @@ using namespace cv::gpu;
namespace namespace
{ {
// Compares value to set using the given comparator. Returns true if
// there is at least one element x in the set satisfying to: x cmp value
// predicate.
template <typename Comparer> template <typename Comparer>
bool compareToSet(const std::string& set_as_str, int value, Comparer cmp) bool compareToSet(const std::string& set_as_str, int value, Comparer cmp)
{ {
...@@ -69,9 +72,9 @@ namespace ...@@ -69,9 +72,9 @@ namespace
} }
CV_EXPORTS bool cv::gpu::TargetArchs::builtWith(cv::gpu::GpuFeature feature) CV_EXPORTS bool cv::gpu::TargetArchs::builtWith(cv::gpu::FeatureSet feature_set)
{ {
return ::compareToSet(CUDA_ARCH_FEATURES, feature, std::greater_equal<int>()); return ::compareToSet(CUDA_ARCH_FEATURES, feature_set, std::greater_equal<int>());
} }
...@@ -128,7 +131,7 @@ CV_EXPORTS void cv::gpu::setDevice(int) { throw_nogpu(); } ...@@ -128,7 +131,7 @@ CV_EXPORTS void cv::gpu::setDevice(int) { throw_nogpu(); }
CV_EXPORTS int cv::gpu::getDevice() { throw_nogpu(); return 0; } CV_EXPORTS int cv::gpu::getDevice() { throw_nogpu(); return 0; }
size_t cv::gpu::DeviceInfo::freeMemory() const { throw_nogpu(); return 0; } size_t cv::gpu::DeviceInfo::freeMemory() const { throw_nogpu(); return 0; }
size_t cv::gpu::DeviceInfo::totalMemory() const { throw_nogpu(); return 0; } size_t cv::gpu::DeviceInfo::totalMemory() const { throw_nogpu(); return 0; }
bool cv::gpu::DeviceInfo::supports(cv::gpu::GpuFeature) const { throw_nogpu(); return false; } bool cv::gpu::DeviceInfo::supports(cv::gpu::FeatureSet) const { throw_nogpu(); return false; }
bool cv::gpu::DeviceInfo::isCompatible() const { throw_nogpu(); return false; } bool cv::gpu::DeviceInfo::isCompatible() const { throw_nogpu(); return false; }
void cv::gpu::DeviceInfo::query() { throw_nogpu(); } void cv::gpu::DeviceInfo::query() { throw_nogpu(); }
void cv::gpu::DeviceInfo::queryMemory(size_t&, size_t&) const { throw_nogpu(); } void cv::gpu::DeviceInfo::queryMemory(size_t&, size_t&) const { throw_nogpu(); }
...@@ -173,10 +176,10 @@ size_t cv::gpu::DeviceInfo::totalMemory() const ...@@ -173,10 +176,10 @@ size_t cv::gpu::DeviceInfo::totalMemory() const
} }
bool cv::gpu::DeviceInfo::supports(cv::gpu::GpuFeature feature) const bool cv::gpu::DeviceInfo::supports(cv::gpu::FeatureSet feature_set) const
{ {
int version = majorVersion() * 10 + minorVersion(); int version = majorVersion() * 10 + minorVersion();
return version >= feature; return version >= feature_set;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment