Kelas akselerator
Akselerator adalah kemampuan perangkat keras yang dioptimalkan untuk komputasi paralel data. Akselerator mungkin merupakan perangkat yang terpasang pada bus PCIe (seperti GPU), atau mungkin merupakan instruksi yang diperluas yang ditetapkan pada CPU utama.
Sintaks
class accelerator;
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
Konstruktor akselerator | Menginisialisasi instans baru kelas accelerator . |
~Destructor akselerator | accelerator Menghancurkan objek. |
Metode Publik
Nama | Deskripsi |
---|---|
create_view | Membuat dan mengembalikan accelerator_view objek pada akselerator ini. |
get_all | Mengembalikan vektor accelerator objek yang mewakili semua akselerator yang tersedia. |
get_auto_selection_view | Mengembalikan pilihan accelerator_view otomatis . |
get_dedicated_memory | Mengembalikan memori khusus untuk accelerator , dalam kilobyte. |
get_default_cpu_access_type | Mengembalikan access_type default untuk buffer yang dibuat pada akselerator ini. |
get_default_view | Mengembalikan objek default accelerator_view yang terkait dengan accelerator . |
get_description | Mengembalikan deskripsi accelerator singkat perangkat. |
get_device_path | Mengembalikan jalur perangkat. |
get_has_display | Menentukan apakah accelerator dilampirkan ke tampilan. |
get_is_debug | Menentukan apakah accelerator lapisan DEBUG diaktifkan untuk pelaporan kesalahan yang luas. |
get_is_emulated | Menentukan apakah ditimulasikan accelerator . |
get_supports_cpu_shared_memory | Menentukan apakah accelerator mendukung memori bersama |
get_supports_double_precision | Menentukan apakah accelerator dilampirkan ke tampilan. |
get_supports_limited_double_precision | Menentukan apakah accelerator memiliki dukungan terbatas untuk matematika presisi ganda. |
get_version | Mengembalikan versi accelerator . |
set_default | Mengembalikan jalur akselerator default. |
set_default_cpu_access_type | Mengatur access_type CPU default untuk array dan alokasi memori implisit yang dibuat pada ini accelerator . |
Operator Publik
Nama | Deskripsi |
---|---|
operator!= | Membandingkan objek ini accelerator dengan objek lain dan mengembalikan false jika sama; jika tidak, mengembalikan true . |
operator= | Menyalin isi objek yang ditentukan accelerator ke objek ini. |
operator== | Membandingkan objek ini accelerator dengan objek lain dan mengembalikan true jika sama; jika tidak, mengembalikan false . |
Anggota Data Publik
Nama | Deskripsi |
---|---|
cpu_accelerator | Mendapatkan konstanta string untuk CPU accelerator . |
dedicated_memory | Mendapatkan memori khusus untuk accelerator , dalam kilobyte. |
default_accelerator | Mendapatkan konstanta string untuk default accelerator . |
default_cpu_access_type | Mendapatkan atau mengatur access_type CPU default untuk array dan alokasi memori implisit yang dibuat pada ini accelerator . |
default_view | Mendapatkan objek default accelerator_view yang terkait dengan accelerator . |
description | Mendapatkan deskripsi singkat tentang accelerator perangkat. |
device_path | Mendapatkan jalur perangkat. |
direct3d_ref | Mendapatkan konstanta string untuk referensi accelerator Direct3D . |
direct3d_warp | Mendapatkan konstanta string untuk accelerator objek yang dapat Anda gunakan untuk mengeksekusi kode C++ AMP pada CPU multi-core yang menggunakan Ekstensi SIMD Streaming (SSE). |
has_display | Mendapatkan nilai Boolean yang menunjukkan apakah accelerator dilampirkan ke tampilan. |
is_debug | Menunjukkan apakah accelerator lapisan DEBUG diaktifkan untuk pelaporan kesalahan yang luas. |
is_emulated | Menunjukkan apakah ditimulasikan accelerator . |
supports_cpu_shared_memory | Menunjukkan apakah accelerator mendukung memori bersama. |
supports_double_precision | Menunjukkan apakah akselerator mendukung matematika presisi ganda. |
supports_limited_double_precision | Menunjukkan apakah akselerator memiliki dukungan terbatas untuk matematika presisi ganda. |
versi | Mendapatkan versi accelerator . |
Hierarki Warisan
accelerator
Keterangan
Akselerator adalah kemampuan perangkat keras yang dioptimalkan untuk komputasi paralel data. Akselerator sering kali merupakan GPU diskrit, tetapi juga dapat menjadi entitas sisi host virtual seperti perangkat DirectX REF, WARP (perangkat sisi CPU yang dipercepat dengan cara instruksi SSE), atau CPU itu sendiri.
Anda dapat membuat objek dengan menghitung perangkat yang accelerator
tersedia, atau dengan mendapatkan perangkat default, perangkat referensi, atau perangkat WARP.
Persyaratan
Header: amprt.h
Namespace: Konkurensi
~Accelerator
accelerator
Menghancurkan objek.
~accelerator();
Tampilkan Nilai
akselerator
Menginisialisasi instans baru kelas akselerator.
accelerator();
explicit accelerator(const std::wstring& _Device_path);
accelerator(const accelerator& _Other);
Parameter
_Device_path
Jalur perangkat fisik.
_Other
Akselerator yang akan disalin.
cpu_accelerator
Mendapatkan konstanta string untuk akselerator CPU.
static const wchar_t cpu_accelerator[];
create_view
Membuat dan mengembalikan accelerator_view
objek pada akselerator ini, menggunakan mode antrean yang ditentukan. Saat mode antrean tidak ditentukan, yang baru accelerator_view
menggunakan mode antrean queuing_mode::immediate .
accelerator_view create_view(queuing_mode qmode = queuing_mode_automatic);
Parameter
qmode
Mode antrean.
Tampilkan Nilai
Objek baru accelerator_view
pada akselerator ini, menggunakan mode antrean yang ditentukan.
dedicated_memory
Mendapatkan memori khusus untuk accelerator
, dalam kilobyte.
__declspec(property(get= get_dedicated_memory)) size_t dedicated_memory;
default_accelerator
Mendapatkan konstanta string untuk default accelerator
.
static const wchar_t default_accelerator[];
default_cpu_access_type
CPU default access_typeuntuk array dan alokasi memori implisit yang dibuat pada ini accelerator
.
__declspec(property(get= get_default_cpu_access_type)) access_type default_cpu_access_type;
default_view
Mendapatkan tampilan akselerator default yang terkait dengan accelerator
.
__declspec(property(get= get_default_view)) accelerator_view default_view;
description
Mendapatkan deskripsi singkat tentang accelerator
perangkat.
__declspec(property(get= get_description)) std::wstring description;
device_path
Mendapatkan jalur akselerator. Jalur ini unik pada sistem.
__declspec(property(get= get_device_path)) std::wstring device_path;
direct3d_ref
Mendapatkan konstanta string untuk akselerator referensi Direct3D.
static const wchar_t direct3d_ref[];
direct3d_warp
Mendapatkan konstanta string untuk accelerator
objek yang dapat Anda gunakan untuk mengeksekusi kode AMP C++ Anda pada CPU multi-core menggunakan Ekstensi SIMD Streaming (SSE).
static const wchar_t direct3d_warp[];
get_all
Mengembalikan vektor accelerator
objek yang mewakili semua akselerator yang tersedia.
static inline std::vector<accelerator> get_all();
Tampilkan Nilai
Vektor akselerator yang tersedia
get_auto_selection_view
Mengembalikan accelerator_view pemilihan otomatis, yang jika ditentukan sebagai target parallel_for_each menghasilkan target accelerator_view untuk menjalankan kernel parallel_for_each agar dipilih secara otomatis oleh runtime. Untuk semua tujuan lain, accelerator_view yang dikembalikan oleh metode ini sama dengan accelerator_view default akselerator default
static accelerator_view __cdecl get_auto_selection_view();
Tampilkan Nilai
Pilihan otomatis accelerator_view.
get_dedicated_memory
Mengembalikan memori khusus untuk accelerator
, dalam kilobyte.
size_t get_dedicated_memory() const;
Tampilkan Nilai
Memori khusus untuk accelerator
, dalam kilobyte.
get_default_cpu_access_type
Mendapatkan access_type cpu default untuk buffer yang dibuat pada akselerator ini
access_type get_default_cpu_access_type() const;
Tampilkan Nilai
Cpu default access_type untuk buffer yang dibuat pada akselerator ini.
get_default_view
Mengembalikan objek default accelerator_view
yang terkait dengan accelerator
.
accelerator_view get_default_view() const;
Tampilkan Nilai
Objek default accelerator_view
yang terkait dengan accelerator
.
get_description
Mengembalikan deskripsi accelerator
singkat perangkat.
std::wstring get_description() const;
Tampilkan Nilai
Deskripsi singkat tentang accelerator
perangkat.
get_device_path
Mengembalikan jalur akselerator. Jalur ini unik pada sistem.
std::wstring get_device_path() const;
Tampilkan Nilai
Jalur instans perangkat unik di seluruh sistem.
get_has_display
Mengembalikan nilai Boolean yang menunjukkan apakah accelerator
dapat menghasilkan ke tampilan.
bool get_has_display() const;
Tampilkan Nilai
true
accelerator
jika dapat menghasilkan ke tampilan; jika tidak, false
.
get_is_debug
Menentukan apakah accelerator
lapisan DEBUG diaktifkan untuk pelaporan kesalahan yang luas.
bool get_is_debug() const;
Tampilkan Nilai
true
accelerator
jika lapisan DEBUG diaktifkan untuk pelaporan kesalahan yang luas. Sebaliknya, false
.
get_is_emulated
Menentukan apakah ditimulasikan accelerator
.
bool get_is_emulated() const;
Tampilkan Nilai
true
jika ditimulasikan accelerator
. Sebaliknya, false
.
get_supports_cpu_shared_memory
Mengembalikan nilai boolean yang menunjukkan apakah akselerator mendukung memori yang dapat diakses baik oleh akselerator maupun CPU.
bool get_supports_cpu_shared_memory() const;
Tampilkan Nilai
true
jika akselerator mendukung memori bersama CPU; jika tidak, false
.
get_supports_double_precision
Mengembalikan nilai Boolean yang menunjukkan apakah akselerator mendukung matematika presisi ganda, termasuk penambahan multiply fused (FMA), pembagian, timbal balik, dan transmisi antara int
dan double
bool get_supports_double_precision() const;
Tampilkan Nilai
true
jika akselerator mendukung matematika presisi ganda; jika tidak, false
.
get_supports_limited_double_precision
Mengembalikan nilai Boolean yang menunjukkan apakah akselerator memiliki dukungan terbatas untuk matematika presisi ganda. Jika akselerator hanya memiliki dukungan terbatas, maka fused multiply add (FMA), division, reciprocal, dan casting antara int
dan double
tidak didukung.
bool get_supports_limited_double_precision() const;
Tampilkan Nilai
true
jika akselerator memiliki dukungan terbatas untuk matematika presisi ganda; jika tidak, false
.
get_version
Mengembalikan versi accelerator
.
unsigned int get_version() const;
Tampilkan Nilai
Versi accelerator
.
has_display
Mendapatkan nilai Boolean yang menunjukkan apakah accelerator
dapat menghasilkan ke tampilan.
__declspec(property(get= get_has_display)) bool has_display;
is_debug
Mendapatkan nilai Boolean yang menunjukkan apakah accelerator
lapisan DEBUG diaktifkan untuk pelaporan kesalahan yang luas.
__declspec(property(get= get_is_debug)) bool is_debug;
is_emulated
Mendapatkan nilai Boolean yang menunjukkan apakah ditimulasikan accelerator
.
__declspec(property(get= get_is_emulated)) bool is_emulated;
operator!=
Membandingkan objek ini accelerator
dengan objek lain dan mengembalikan false
jika sama; jika tidak, mengembalikan true
.
bool operator!= (const accelerator& _Other) const;
Parameter
_Other
Objek accelerator
untuk dibandingkan dengan yang satu ini.
Tampilkan Nilai
false
jika kedua accelerator
objek sama; jika tidak, true
.
operator=
Menyalin isi objek yang ditentukan accelerator
ke objek ini.
accelerator& operator= (const accelerator& _Other);
Parameter
_Other
Objek accelerator
yang akan disalin.
Tampilkan Nilai
Referensi ke objek ini accelerator
.
operator==
Membandingkan objek ini accelerator
dengan objek lain dan mengembalikan true
jika sama; jika tidak, mengembalikan false
.
bool operator== (const accelerator& _Other) const;
Parameter
_Other
Objek accelerator
untuk dibandingkan dengan yang satu ini.
Tampilkan Nilai
true
jika objek lain accelerator
sama dengan objek ini accelerator
; jika tidak, false
.
set_default
Mengatur akselerator default yang akan digunakan untuk operasi apa pun yang secara implisit menggunakan akselerator default. Metode ini hanya berhasil jika akselerator default yang dipilih runtime belum digunakan dalam operasi yang secara implisit menggunakan akselerator default
static inline bool set_default(std::wstring _Path);
Parameter
_Jalan
Jalur ke akselerator.
Tampilkan Nilai
true
jika panggilan berhasil mengatur akselerator default. Sebaliknya, false
.
set_default_cpu_access_type
Atur access_type cpu default untuk array yang dibuat pada akselerator ini atau untuk alokasi memori implisit sebagai bagian dari array_views diakses pada akselerator ini. Metode ini hanya berhasil jika default_cpu_access_type untuk akselerator belum ditimpa oleh panggilan sebelumnya ke metode ini dan runtime yang dipilih default_cpu_access_type untuk akselerator ini belum digunakan untuk mengalokasikan array atau untuk alokasi memori implisit yang mendukung array_view diakses pada akselerator ini.
bool set_default_cpu_access_type(access_type _Default_cpu_access_type);
Parameter
_Default_cpu_access_type
Access_type cpu default yang akan digunakan untuk alokasi memori array/array_view pada akselerator ini.
Tampilkan Nilai
Nilai boolean yang menunjukkan apakah access_type cpu default untuk akselerator berhasil diatur.
supports_cpu_shared_memory
Mendapatkan nilai Boolean yang menunjukkan apakah accelerator
mendukung memori bersama.
__declspec(property(get= get_supports_cpu_shared_memory)) bool supports_cpu_shared_memory;
supports_double_precision
Mendapatkan nilai Boolean yang menunjukkan apakah akselerator mendukung matematika presisi ganda.
__declspec(property(get= get_supports_double_precision)) bool supports_double_precision;
supports_limited_double_precision
Mendapatkan nilai Boolean yang menunjukkan apakah akselerator memiliki dukungan terbatas untuk matematika presisi ganda. Jika akselerator hanya memiliki dukungan terbatas, maka fused multiply add (FMA), division, reciprocal, dan casting antara int
dan double
tidak didukung.
__declspec(property(get= get_supports_limited_double_precision)) bool supports_limited_double_precision;
versi
Mendapatkan versi accelerator
.
__declspec(property(get= get_version)) unsigned int version;