Aracılığıyla paylaş


hızlandırıcı 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 yoluna bağlı bir cihaz (örneğin bir GPU) veya ana CPU'da genişletilmiş bir komut seti 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ı accelerator nesnesini yok eder.

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 accelerator_view Otomatik seçimi döndürür.
get_dedicated_memory accelerator için ayrılmış belleği kilobayt cinsinden döndürür.
varsayılan_cpu_erişim_tipi_al Varsayılan access_type'i bu hızlandırıcıda oluşturulan arabellekler için döndürür.
get_default_view accelerator ile iliş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 DEBUG katmanının kapsamlı hata raporlaması için etkin olup olmadığını 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.
destekleri_sınırlı_çift_hassasiyet_al accelerator'ün çift duyarlıklı matematik için sınırlı desteğe sahip olup olmadığını belirler.
get_version accelerator sürümünü döndürür.
set_default Varsayılan hızlandırıcının yolunu döndürür.
varsayılan_cpu_erisim_tipi_ayarla Diziler ve bu accelerator üzerinde yapılan örtük bellek ayırmaları için varsayılan CPU erişim_türü ayarlanır.

Ortak İşleçler

Veri Akışı Adı Açıklama
operatör!= 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 accelerator için bir dize sabiti alır.
dedicated_memory accelerator için ayrılmış belleği kilobayt cinsinden alır.
default_accelerator Varsayılan accelerator için bir dize sabiti alır.
default_cpu_erişim_türü Diziler ve bu accelerator üzerinde yapılan örtük bellek ayırmalar için varsayılan CPU erişim_türü'nü alır veya ayarlar.
default_view accelerator_view ile ilişkilendirilen varsayılan accelerator nesnesini alır.
Açıklama accelerator cihazının kısa bir açıklamasını 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 accelerator öğesinin bir ekrana bağlı olup olmadığını 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 accelerator'ün taklit edilip edilmediğini gösterir.
işlemci ortak bellek destekler öğesinin accelerator paylaşılan belleği destekleyip desteklemediğini gösterir.
çift hassaslığı destekler (supports_double_precision) Hızlandırıcının çift duyarlıklı matematiği destekleyip desteklemediğini gösterir.
sınırlı çift hassasiyeti destekler Hızlandırıcının çift duyarlıklı matematik için sınırlı desteğe sahip olup olmadığını gösterir.
versiyon accelerator sürümünü alı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 talimatları yoluyla hızlandırılan CPU tarafında yer alan cihaz) veya CPU'nun kendisi gibi sanallaştırılmış bir sunucu tarafı birim de 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ı

accelerator nesnesini yok eder.

~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 dizini.

_Diğer
Kopyalama için hızlandırıcı.

CPU hızlandırıcı

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

static const wchar_t cpu_accelerator[];

oluştur_görünüm

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_viewqueuing_mode::immediate kuyruğa alma modunu kullanır.

accelerator_view create_view(queuing_mode qmode = queuing_mode_automatic);

Parametreler

qmode
Kuyruğa alma modu.

Dönüş Değeri

Belirtilen kuyruk modu kullanılarak bu hızlandırıcıda yeni bir accelerator_view nesnesi.

ayrılmış bellek

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

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

varsayılan hızlandırıcı

Varsayılan accelerator için bir dize sabiti alır.

static const wchar_t default_accelerator[];

default_cpu_erişim_türü

Bu accelerator üzerinde yapılan diziler ve örtük bellek ayırmaları için varsayılan cpu erişim türü .

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

varsayılan_görünüm

accelerator ile iliş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

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

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

aygıt_yolu

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 referans hızlandırıcısı için bir 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_oto_seçim_görünümü

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

static accelerator_view __cdecl get_auto_selection_view();

Dönüş Değeri

Otomatik seçim: hızlandırıcı görünümü.

ayırılmış_belleği_al

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

size_t get_dedicated_memory() const;

Dönüş Değeri

accelerator için ayrılmış bellek, kilobayt cinsindendir.

get_default_cpu_access_type

Bu hızlandırıcıda oluşturulan arabellekler için varsayılan CPU erişim türü elde edilir.

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 erişim türü.

get_default_view

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

accelerator_view get_default_view() const;

Dönüş Değeri

accelerator_view ile ilişkili varsayılan accelerator nesne.

get_description

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

std::wstring get_description() const;

Dönüş Değeri

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

cihaz_yolu_al

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

true accelerator bir ekrana çıkış yapabilirse, aksi takdirde false.

get_is_debug

accelerator için geniş kapsamlı hata raporlaması amacıyla DEBUG katmanının etkin olup olmadığını belirler.

bool get_is_debug() const;

Dönüş Değeri

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

emüle_edilir_mi_al

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

bool get_is_emulated() const;

Dönüş Değeri

true emüle edilmişse 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_çift_hassasiyeti_destekler

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

bool get_supports_double_precision() const;

Dönüş Değeri

true hızlandırıcı çift hassasiyetli hesaplamayı 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 intdouble 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.

sürüm_al

accelerator sürümünü geri döndürür.

unsigned int get_version() const;

Dönüş Değeri

sürümü accelerator.

ekrana_sahip

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

accelerator bileşeninin öykünülüp öykünülmediğini gösteren bir Boolean değeri alır.

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

işleç!=

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
Bu accelerator ile karşılaştırılacak 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 nesnesine bir referans.

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
Bu nesneyle karşılaştırılacak accelerator nesnesi.

Dönüş Değeri

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

varsayılanı_ayarla

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

_Dizin
Hızlandırıcıya giden yol.

Dönüş Değeri

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

varsayılan_cpu_erişim_tipini_ayarla

Bu hızlandırıcıda oluşturulan diziler veya bu hızlandırıcı üzerinde erişilen dizi görünümlerinin bir parçası olarak örtük bellek tahsisleri için varsayılan CPU erişim türünü ayarlayın. Bu yöntem, ancak hızlandırıcının default_cpu_access_type ayarı, 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 çalışma zamanı tarafından seçilen default_cpu_access_type henüz bir dizi ayırmak veya bu hızlandırıcıda erişilen bir array_view'in yedeklemesi için örtük bellek tahsisi yapmak üzere 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ıdaki dizi veya array_view bellek ayırmaları için varsayılan CPU erişim türü olarak kullanılacak.

Dönüş Değeri

Varsayılan CPU erişim_türü'nün hızlandırıcı için başarıyla ayarlandığını gösteren bir boole değeri.

cpu_paylaşımlı_belleği_destekler

Bir Boole değeri alır, bu da accelerator'nin paylaşılan belleği destekleyip desteklemediğini belirtir.

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

çift hassasiyeti destekler

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;

sınırlı çift hassasiyeti destekler

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 intdouble atama desteklenmez.

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

sürüm

accelerator sürümünü alır.

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

Ayrıca bkz.

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