renamed GpuFeature into FeatureSet and updated docs

pull/13383/head
Alexey Spizhevoy 14 years ago
parent 04709a2793
commit 2f8af6335e
  1. 14
      doc/gpu_initialization.tex
  2. 57384
      doc/opencv.pdf
  3. 6
      modules/gpu/include/opencv2/gpu/gpu.hpp
  4. 13
      modules/gpu/src/initialization.cpp

@ -22,11 +22,11 @@ Returns the current device index, which was set by {gpu::getDevice} or initializ
\cvdefCpp{int getDevice();}
\cvclass{gpu::GpuFeature}\label{cpp.gpu.GpuFeature}
\cvclass{gpu::FeatureSet}\label{cpp.gpu.FeatureSet}
GPU compute features.
\begin{lstlisting}
enum GpuFeature
enum FeatureSet
{
FEATURE_SET_COMPUTE_10, FEATURE_SET_COMPUTE_11,
FEATURE_SET_COMPUTE_12, FEATURE_SET_COMPUTE_13,
@ -56,7 +56,7 @@ public:
size_t freeMemory() const;
size_t totalMemory() const;
bool supports(GpuFeature feature) const;
bool supports(FeatureSet feature_set) const;
bool isCompatible() const;
};
\end{lstlisting}
@ -111,9 +111,9 @@ Returns the amount of total memory in bytes.
\cvCppFunc{gpu::DeviceInfo::supports}
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}
\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}
@ -129,9 +129,9 @@ This class provides functionality (as set of static methods) for checking which
\bigskip
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}
\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}
There are a set of methods for checking whether the module contains intermediate (PTX) or binary GPU code for the given architecture(s):

File diff suppressed because it is too large Load Diff

@ -64,7 +64,7 @@ namespace cv
CV_EXPORTS void setDevice(int device);
CV_EXPORTS int getDevice();
enum GpuFeature
enum FeatureSet
{
FEATURE_SET_COMPUTE_10 = 10,
FEATURE_SET_COMPUTE_11 = 11,
@ -81,7 +81,7 @@ namespace cv
class CV_EXPORTS TargetArchs
{
public:
static bool builtWith(GpuFeature feature);
static bool builtWith(FeatureSet feature_set);
static bool has(int major, int minor);
static bool hasPtx(int major, int minor);
static bool hasBin(int major, int minor);
@ -115,7 +115,7 @@ namespace cv
size_t totalMemory() const;
// 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
bool isCompatible() const;

@ -48,6 +48,9 @@ using namespace cv::gpu;
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>
bool compareToSet(const std::string& set_as_str, int value, Comparer cmp)
{
@ -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(); }
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::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; }
void cv::gpu::DeviceInfo::query() { 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
}
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();
return version >= feature;
return version >= feature_set;
}

Loading…
Cancel
Save