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_view döndürür. |
get_dedicated_memory | için accelerator ayrı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 accelerator 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 | 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ü accelerator dö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 accelerator yapı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 accelerator için bir dize sabiti alır. |
dedicated_memory | için accelerator ayrılmış belleği kilobayt cinsinden alır. |
default_accelerator | Varsayılan accelerator iç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 accelerator iliş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 accelerator iç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ü accelerator 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 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 accelerator
ayrılmış belleği kilobayt cinsinden alır.
__declspec(property(get= get_dedicated_memory)) size_t dedicated_memory;
default_accelerator
Varsayılan accelerator
için bir dize sabiti alır.
static const wchar_t default_accelerator[];
default_cpu_access_type
Bu üzerinde accelerator
yapı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 accelerator
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
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 accelerator
ayrılmış belleği kilobayt cinsinden döndürür.
size_t get_dedicated_memory() const;
Dönüş Değeri
için ayrılmış bellek accelerator
kilobayt 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 accelerator
ilişkili varsayılan accelerator_view
nesneyi döndürür.
accelerator_view get_default_view() const;
Dönüş Değeri
ile accelerator
iliş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
true
accelerator
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
true
accelerator
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ü accelerator
dö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ü accelerator
alır.
__declspec(property(get= get_version)) unsigned int version;