Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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;