初期化と情報

cv::gpu::getCudaEnabledDeviceCount

Comments from the Wiki

int getCudaEnabledDeviceCount()

CUDAを利用可能なデバイスの個数を返します.最初のGPU関数呼び出しよりも前に利用しなければいけません.OpenCVがGPUサポートなしでコンパイルされていれば,この関数は0を返します.

cv::gpu::setDevice

Comments from the Wiki

void setDevice(int device)

現在のスレッドでデバイスを設定し,それを初期化します.この関数呼び出しを省略することもできますが,その場合,最初に GPU が利用される際にデフォルトデバイスが初期化されます.

パラメタ:
  • device – 0からはじまる,GPUデバイスのインデックス.

cv::gpu::getDevice

Comments from the Wiki

int getDevice()

現在のデバイスインデックスを返します.これは,{gpu::getDevice} によって設定された,またはデフォルトで初期化されたデバイスです.

gpu::GpuFeature

Comments from the Wiki

gpu::GpuFeature

GPU の計算機能.

enum GpuFeature
{
    COMPUTE_10, COMPUTE_11,
    COMPUTE_12, COMPUTE_13,
    COMPUTE_20, COMPUTE_21,
    ATOMICS, NATIVE_DOUBLE
};

gpu::DeviceInfo

Comments from the Wiki

gpu::DeviceInfo

このクラスは,指定の GPU プロパティを問い合わせる機能を提供します.

class CV_EXPORTS DeviceInfo
{
public:
    DeviceInfo();
    DeviceInfo(int device_id);

    string name() const;

    int majorVersion() const;
    int minorVersion() const;

    int multiProcessorCount() const;

    size_t freeMemory() const;
    size_t totalMemory() const;

    bool supports(GpuFeature feature) const;
    bool isCompatible() const;
};

cv::gpu::DeviceInfo::DeviceInfo

Comments from the Wiki

_

DeviceInfo::DeviceInfo()
DeviceInfo::DeviceInfo(int device_id)

指定されたデバイスに対する DeviceInfo オブジェクトを作成します. deviceidパラメータが指定されない場合は,現在のデバイスに対するオブジェクトが作成されます.

パラメタ:
  • device_id – 0から始まる,システムGPUデバイスのインデックス.

cv::gpu::DeviceInfo::name

Comments from the Wiki

string DeviceInfo::name()

デバイス名を返します.

cv::gpu::DeviceInfo::majorVersion

Comments from the Wiki

int DeviceInfo::majorVersion()

メジャー compute cpapability バージョンを返します.

cv::gpu::DeviceInfo::minorVersion

Comments from the Wiki

int DeviceInfo::minorVersion()

マイナー compute cpapability バージョンを返します.

cv::gpu::DeviceInfo::multiProcessorCount

Comments from the Wiki

int DeviceInfo::multiProcessorCount()

ストリーミングマルチプロセッサの数を返します.

cv::gpu::DeviceInfo::freeMemory

Comments from the Wiki

size_t DeviceInfo::freeMemory()

空きメモリ量をバイト単位で返します.

cv::gpu::DeviceInfo::totalMemory

Comments from the Wiki

size_t DeviceInfo::totalMemory()

総メモリ量をバイト単位で返します.

cv::gpu::DeviceInfo::supports

Comments from the Wiki

bool DeviceInfo::supports(GpuFeature feature)

指定されたGPU機能がデバイスに備わっていれば true を,そうでなければ false を返します.

パラメタ:
  • feature – チェックされる機能. gpu::GpuFeature を参照してください.

cv::gpu::DeviceInfo::isCompatible

Comments from the Wiki

bool DeviceInfo::isCompatible()

指定されたデバイス上でこのGPUモジュールを実行できる場合は true ,そうでなければ false を返します.

gpu::TargetArchs

Comments from the Wiki

gpu::TargetArchs

このクラスは,GPU モジュールが,どの NVIDIA カードアーキテクチャ用にビルドされているかを調べる機能を提供します.

bigskip 以下は,GPUモジュールが,指定された機能をサポートする様にビルドされているかを調べるメソッドです:

static bool builtWith(GpuFeature feature)
パラメタ:
  • feature – チェックされる機能. gpu::GpuFeature を参照してください.

以下のメソッド群は,指定されたアーキテクチャ用の中間コード(PTX)またはバイナリGPUコードが,GPUモジュールに含まれているかを調べるためのものです:

static bool has(int major, int minor)
static bool hasPtx(int major, int minor)
static bool hasBin(int major, int minor)
static bool hasEqualOrLessPtx(int major, int minor)
static bool hasEqualOrGreater(int major, int minor)
static bool hasEqualOrGreaterPtx(int major, int minor)
static bool hasEqualOrGreaterBin(int major, int minor)
  • major メジャー compute capability バージョン.
  • minor マイナー compute capability バージョン.

CUDA C プログラミングガイド Version 3.2 からの引用:「ある compute capability に対して作られたPTX コードは常に,同じか,それ以降の compute capability のバイナリにコンパイルすることができます」