accelerator Sınıfı

Hızlandırıcı, veri paralel bilgi işlem için iyileştirilmiş bir donanım özelliğidir. Hızlandırıcı, PCIe veri yolu (GPU gibi) bağlı bir cihaz veya ana CPU'da ayarlanan genişletilmiş bir yönerge olabilir.

Sözdizimi

class accelerator;

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
hızlandırıcı oluşturucu accelerator sınıfının yeni bir örneğini başlatır.
~accelerator Yıkıcısı Nesneyi yok eder accelerator .

Genel Yöntemler

Veri Akışı Adı Açıklama
create_view Bu hızlandırıcıda bir accelerator_view nesne oluşturur ve döndürür.
get_all Kullanılabilir tüm hızlandırıcıları temsil eden nesne vektörünü accelerator döndürür.
get_auto_selection_view Otomatik seçimi accelerator_viewdöndürür.
get_dedicated_memory için acceleratorayrılmış belleği kilobayt cinsinden döndürür.
get_default_cpu_access_type Bu hızlandırıcıda oluşturulan arabellekler için varsayılan access_type döndürür.
get_default_view ile acceleratorilişkili varsayılan accelerator_view nesneyi döndürür.
get_description Cihazın kısa bir açıklamasını accelerator döndürür.
get_device_path Cihazın yolunu döndürür.
get_has_display öğesinin accelerator bir ekrana bağlı olup olmadığını belirler.
get_is_debug hata raporlama için DEBUG katmanının etkinleştirilip etkinleştirilmediğini accelerator belirler.
get_is_emulated öykünülmüş accelerator olup olmadığını belirler.
get_supports_cpu_shared_memory Paylaşılan belleği destekleyip desteklemediğini accelerator belirler
get_supports_double_precision öğesinin accelerator bir ekrana bağlı olup olmadığını belirler.
get_supports_limited_double_precision çift duyarlıklı matematik için sınırlı desteğe accelerator sahip olup olmadığını belirler.
get_version sürümünü acceleratordöndürür.
set_default Varsayılan hızlandırıcının yolunu döndürür.
set_default_cpu_access_type Diziler ve üzerinde acceleratoryapılan örtük bellek ayırmaları için varsayılan CPU access_typeayarlar.

Ortak İşleçler

Veri Akışı Adı Açıklama
operator!= Bu accelerator nesneyi başka bir nesneyle karşılaştırır ve aynıysa döndürür false ; aksi takdirde döndürür true.
operator= Belirtilen accelerator nesnenin içeriğini bu nesneye kopyalar.
operator== Bu accelerator nesneyi başka bir nesneyle karşılaştırır ve aynıysa döndürür true ; aksi takdirde döndürür false.

Ortak Veri Üyeleri

Veri Akışı Adı Açıklama
cpu_accelerator CPU acceleratoriçin bir dize sabiti alır.
dedicated_memory için acceleratorayrılmış belleği kilobayt cinsinden alır.
default_accelerator Varsayılan acceleratoriçin bir dize sabiti alır.
default_cpu_access_type Bu acceleratorüzerinde yapılan diziler ve örtük bellek ayırmaları için varsayılan CPU access_typealır veya ayarlar.
default_view ile acceleratorilişkili varsayılan accelerator_view nesneyi alır.
Açıklama Cihazın kısa bir açıklamasını accelerator alır.
device_path Cihazın yolunu alır.
direct3d_ref Direct3D başvurusu acceleratoriçin dize sabiti alır.
direct3d_warp Akış SIMD Uzantıları (SSE) kullanan çok çekirdekli CPU'larda C++ AMP kodunu yürütmek için kullanabileceğiniz bir accelerator nesnenin dize sabitini alır.
has_display öğesinin bir ekrana eklenip eklenmediğini accelerator gösteren bir Boole değeri alır.
is_debug Hata ayıklama katmanının accelerator kapsamlı hata raporlama için etkinleştirilip etkinleştirilmediğini gösterir.
is_emulated öykünülmüş accelerator olup olmadığını gösterir.
supports_cpu_shared_memory öğesinin accelerator paylaşılan belleği destekleyip desteklemediğini gösterir.
supports_double_precision Hızlandırıcının çift duyarlıklı matematiği destekleyip desteklemediğini gösterir.
supports_limited_double_precision Hızlandırıcının çift duyarlıklı matematik için sınırlı desteğe sahip olup olmadığını gösterir.
version sürümünü acceleratoralır.

Devralma Hiyerarşisi

accelerator

Açıklamalar

Hızlandırıcı, veri paralel bilgi işlem için iyileştirilmiş bir donanım özelliğidir. Hızlandırıcı genellikle ayrık bir GPU'dur, ancak DirectX REF cihazı, WARP (SSE yönergeleri yoluyla hızlandırılan CPU tarafı cihaz) veya CPU'nun kendisi gibi sanal bir konak tarafı varlığı da olabilir.

Kullanılabilir cihazları numaralandırarak veya varsayılan cihazı, başvuru cihazını veya WARP cihazını alarak bir accelerator nesne oluşturabilirsiniz.

Gereksinimler

Üst bilgi: amprt.h

Ad Alanı: Eşzamanlılık

~hızlandırıcı

Nesneyi yok eder accelerator .

~accelerator();

Dönüş Değeri

hızlandırıcı

Hızlandırıcı sınıfının yeni bir örneğini başlatır.

accelerator();

explicit accelerator(const std::wstring& _Device_path);

accelerator(const accelerator& _Other);

Parametreler

_Device_path
Fiziksel cihazın yolu.

_Diğer
Kopyalanacak hızlandırıcı.

cpu_accelerator

CPU hızlandırıcısı için bir dize sabiti alır.

static const wchar_t cpu_accelerator[];

create_view

Belirtilen kuyruğa alma modunu kullanarak bu hızlandırıcıda bir accelerator_view nesne oluşturur ve döndürür. Kuyruğa alma modu belirtilmediğinde, yeni accelerator_view queuing_mode::immediate queuing modunu kullanır.

accelerator_view create_view(queuing_mode qmode = queuing_mode_automatic);

Parametreler

qmode
Kuyruğa alma modu.

Dönüş Değeri

Belirtilen kuyruğa alma modunu kullanan bu hızlandırıcıda yeni accelerator_view bir nesne.

dedicated_memory

için acceleratorayrılmış belleği kilobayt cinsinden alır.

__declspec(property(get= get_dedicated_memory)) size_t dedicated_memory;

default_accelerator

Varsayılan acceleratoriçin bir dize sabiti alır.

static const wchar_t default_accelerator[];

default_cpu_access_type

Bu üzerinde acceleratoryapılan diziler ve örtük bellek ayırmaları için varsayılan cpu access_type.

__declspec(property(get= get_default_cpu_access_type)) access_type default_cpu_access_type;

default_view

ile acceleratorilişkili varsayılan hızlandırıcı görünümünü alır.

__declspec(property(get= get_default_view)) accelerator_view default_view;

açıklama

Cihazın kısa bir açıklamasını accelerator alır.

__declspec(property(get= get_description)) std::wstring description;

device_path

Hızlandırıcının yolunu alır. Yol sistemde benzersizdir.

__declspec(property(get= get_device_path)) std::wstring device_path;

direct3d_ref

Direct3D başvuru hızlandırıcısı için dize sabiti alır.

static const wchar_t direct3d_ref[];

direct3d_warp

Akış SIMD Uzantıları (SSE) kullanarak çok çekirdekli CPU'larda C++ AMP kodunuzu yürütmek için kullanabileceğiniz bir accelerator nesnenin dize sabitini alır.

static const wchar_t direct3d_warp[];

get_all

Kullanılabilir tüm hızlandırıcıları temsil eden nesne vektörünü accelerator döndürür.

static inline std::vector<accelerator> get_all();

Dönüş Değeri

Kullanılabilir hızlandırıcıların vektöru

get_auto_selection_view

parallel_for_each hedef olarak belirtildiğinde çalışma zamanı tarafından otomatik olarak seçilecek parallel_for_each çekirdeğini yürütmek için hedef accelerator_view sonuçlanan otomatik seçim accelerator_view döndürür. Diğer tüm amaçlar için, bu yöntem tarafından döndürülen accelerator_view varsayılan hızlandırıcının varsayılan accelerator_view aynıdır

static accelerator_view __cdecl get_auto_selection_view();

Dönüş Değeri

Otomatik seçim accelerator_view.

get_dedicated_memory

için acceleratorayrılmış belleği kilobayt cinsinden döndürür.

size_t get_dedicated_memory() const;

Dönüş Değeri

için ayrılmış bellek acceleratorkilobayt cinsinden.

get_default_cpu_access_type

Bu hızlandırıcıda oluşturulan arabellekler için varsayılan cpu access_type alır

access_type get_default_cpu_access_type() const;

Dönüş Değeri

Bu hızlandırıcıda oluşturulan arabellekler için varsayılan cpu access_type.

get_default_view

ile acceleratorilişkili varsayılan accelerator_view nesneyi döndürür.

accelerator_view get_default_view() const;

Dönüş Değeri

ile acceleratorilişkili varsayılan accelerator_view nesne.

get_description

Cihazın kısa bir açıklamasını accelerator döndürür.

std::wstring get_description() const;

Dönüş Değeri

Cihazın kısa bir accelerator açıklaması.

get_device_path

Hızlandırıcının yolunu döndürür. Yol sistemde benzersizdir.

std::wstring get_device_path() const;

Dönüş Değeri

Sistem genelinde benzersiz cihaz örneği yolu.

get_has_display

Bir ekrana çıkış yapıp yapmadığını gösteren accelerator bir Boole değeri döndürür.

bool get_has_display() const;

Dönüş Değeri

trueaccelerator bir görüntüye çıkış yapabilirse; aksi takdirde , false.

get_is_debug

hata raporlama için DEBUG katmanının etkinleştirilip etkinleştirilmediğini accelerator belirler.

bool get_is_debug() const;

Dönüş Değeri

trueaccelerator kapsamlı hata raporlaması için DEBUG katmanı etkinleştirildiyse. Tersi durumda false.

get_is_emulated

öykünülmüş accelerator olup olmadığını belirler.

bool get_is_emulated() const;

Dönüş Değeri

true öykünüldüyse accelerator . Tersi durumda false.

get_supports_cpu_shared_memory

Hızlandırıcının hem hızlandırıcı hem de CPU tarafından erişilebilen belleği destekleyip desteklemediğini belirten bir boole değeri döndürür.

bool get_supports_cpu_shared_memory() const;

Dönüş Değeri

true hızlandırıcı CPU paylaşılan belleği destekliyorsa; aksi takdirde , false.

get_supports_double_precision

Hızlandırıcının birleşik çarpma ekleme (FMA), bölme, karşılıklı ve ile arasında int atama dahil olmak üzere çift duyarlıklı matematiği destekleyip desteklemediğini gösteren bir Boole değeri döndürür double

bool get_supports_double_precision() const;

Dönüş Değeri

true hızlandırıcı çift duyarlıklı matematiği destekliyorsa; aksi takdirde , false.

get_supports_limited_double_precision

Hızlandırıcının çift duyarlıklı matematik için sınırlı desteğe sahip olup olmadığını gösteren bir Boole değeri döndürür. Hızlandırıcının yalnızca sınırlı desteği varsa, birleşik çarpma ekleme (FMA), bölme, karşılıklı ve ile arasında int double atama desteklenmez.

bool get_supports_limited_double_precision() const;

Dönüş Değeri

true hızlandırıcı çift duyarlıklı matematik için sınırlı desteğe sahipse; aksi takdirde , false.

get_version

sürümünü acceleratordöndürür.

unsigned int get_version() const;

Dönüş Değeri

sürümü accelerator.

has_display

Bir ekrana çıkış yapıp yapmadığını gösteren accelerator bir Boole değeri alır.

__declspec(property(get= get_has_display)) bool has_display;

is_debug

Hata ayıklama katmanının kapsamlı hata raporlaması için etkinleştirilip etkinleştirilmediğini accelerator gösteren bir Boole değeri alır.

__declspec(property(get= get_is_debug)) bool is_debug;

is_emulated

öykünülmüş accelerator olup olmadığını gösteren bir Boole değeri alır.

__declspec(property(get= get_is_emulated)) bool is_emulated;

operator!=

Bu accelerator nesneyi başka bir nesneyle karşılaştırır ve aynıysa döndürür false ; aksi takdirde döndürür true.

bool operator!= (const accelerator& _Other) const;

Parametreler

_Diğer
Bununla accelerator karşılaştıracak nesne.

Dönüş Değeri

false iki accelerator nesne aynıysa; değilse, true.

operator=

Belirtilen accelerator nesnenin içeriğini bu nesneye kopyalar.

accelerator& operator= (const accelerator& _Other);

Parametreler

_Diğer
Kopyalanacak accelerator nesne.

Dönüş Değeri

Bu accelerator nesneye bir başvuru.

operator==

Bu accelerator nesneyi başka bir nesneyle karşılaştırır ve aynıysa döndürür true ; aksi takdirde döndürür false.

bool operator== (const accelerator& _Other) const;

Parametreler

_Diğer
Bununla accelerator karşılaştıracak nesne.

Dönüş Değeri

true diğer accelerator nesne bu accelerator nesneyle aynıysa; değilse, false.

set_default

Varsayılan hızlandırıcıyı örtük olarak kullanan herhangi bir işlem için kullanılacak varsayılan hızlandırıcıyı ayarlar. Bu yöntem yalnızca çalışma zamanı seçilen varsayılan hızlandırıcının varsayılan hızlandırıcıyı örtük olarak kullanan bir işlemde kullanılmamış olması durumunda başarılı olur

static inline bool set_default(std::wstring _Path);

Parametreler

_Yol
Hızlandırıcının yolu.

Dönüş Değeri

true varsayılan hızlandırıcıyı ayarlamada çağrı başarılı olursa. Tersi durumda false.

set_default_cpu_access_type

Bu hızlandırıcıda oluşturulan diziler veya bu hızlandırıcıda erişilen array_views parçası olarak örtük bellek ayırmaları için varsayılan cpu access_type ayarlayın. Bu yöntem yalnızca hızlandırıcının default_cpu_access_type bu yönteme yapılan önceki bir çağrı tarafından geçersiz kılınmadıysa ve bu hızlandırıcı için seçilen çalışma zamanı default_cpu_access_type henüz bir dizi ayırma veya bu hızlandırıcıda erişilen bir array_view yedeklemesi için örtük bellek ayırma için kullanılmadıysa başarılı olur.

bool set_default_cpu_access_type(access_type _Default_cpu_access_type);

Parametreler

_Default_cpu_access_type
Bu hızlandırıcıda dizi/array_view bellek ayırmaları için kullanılacak varsayılan cpu access_type.

Dönüş Değeri

Hızlandırıcı için varsayılan cpu access_type başarıyla ayarlandığını gösteren boole değeri.

supports_cpu_shared_memory

paylaşılan belleği destekleyip desteklemediğini accelerator belirten bir Boole değeri alır.

__declspec(property(get= get_supports_cpu_shared_memory)) bool supports_cpu_shared_memory;

supports_double_precision

Hızlandırıcının çift duyarlıklı matematik işlemini destekleyip desteklemediğini gösteren bir Boole değeri alır.

__declspec(property(get= get_supports_double_precision)) bool supports_double_precision;

supports_limited_double_precision

Hızlandırıcının çift duyarlıklı matematik için sınırlı desteğe sahip olup olmadığını gösteren bir Boole değeri alır. Hızlandırıcının yalnızca sınırlı desteği varsa, birleşik çarpma ekleme (FMA), bölme, karşılıklı ve ile arasında int double atama desteklenmez.

__declspec(property(get= get_supports_limited_double_precision)) bool supports_limited_double_precision;

sürüm

sürümünü acceleratoralır.

__declspec(property(get= get_version)) unsigned int version;

Ayrıca bkz.

Eşzamanlılık Ad Alanı (C++ AMP)