Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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 dari kelas accelerator. |
| ~accelerator Destructor |
accelerator Menghancurkan objek. |
Metode Publik
| Nama | Deskripsi |
|---|---|
| create_view | Membuat dan mengembalikan objek accelerator_view pada akselerator ini. |
| get_all | Mengembalikan vektor accelerator objek yang mewakili semua akselerator yang tersedia. |
| get_auto_selection_view | Mengembalikan pilihan accelerator_viewotomatis . |
| 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 singkat perangkat accelerator. |
| get_device_path | Mengembalikan jalur perangkat. |
| get_has_display | Menentukan apakah accelerator terhubung ke tampilan. |
| get_is_debug | Menentukan apakah accelerator lapisan DEBUG diaktifkan untuk pelaporan kesalahan yang luas. |
| get_is_emulated | Menentukan apakah accelerator diemulasi. |
| get_supports_cpu_shared_memory | Menentukan apakah accelerator mendukung memori bersama |
| dapatkan_mendukung_presisi_ganda | Menentukan apakah accelerator terpasang pada tampilan. |
| get_supports_limited_double_precision | Menentukan apakah accelerator memiliki dukungan terbatas untuk matematika presisi ganda. |
| get_version | Mengembalikan versi dari accelerator. |
| set_default | Mengembalikan jalur akselerator default. |
| set_default_cpu_access_type (atur_tipe_akses_cpu_default) | Mengatur access_type CPU default untuk array dan alokasi memori implisit yang dibuat pada konteks 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 | Memperoleh memori khusus untuk accelerator, dalam kilobyte. |
| default_accelerator | Mendapatkan konstanta string untuk default accelerator. |
| tipe_akses_cpu_default | Mengambil atau mengatur access_type CPU default untuk array dan alokasi memori implisit yang dilakukan pada accelerator ini. |
| default_view | Mendapatkan objek default accelerator_view yang terkait dengan accelerator. |
| deskripsi | Mendapatkan deskripsi singkat perangkat accelerator. |
| device_path | Mendapatkan jalur perangkat. |
| direct3d_ref | Mendapatkan konstanta string untuk referensi Direct3D accelerator. |
| 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 pada layar. |
| is_debug | Menunjukkan apakah accelerator lapisan DEBUG diaktifkan untuk pelaporan kesalahan yang luas. |
| is_emulated | Menunjukkan apakah accelerator diemulasikan. |
| mendukung_memori_bersama_cpu | Menunjukkan apakah accelerator mendukung memori bersama. |
| mendukung presisi ganda | Menunjukkan apakah akselerator mendukung matematika presisi ganda. |
| mendukung presisi ganda terbatas | Menunjukkan apakah akselerator memiliki dukungan terbatas untuk matematika presisi ganda. |
| versi | Mendapatkan versi dari accelerator. |
Hierarki Pewarisan
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
~Akselerator
accelerator Menghancurkan objek.
~accelerator();
Tampilkan Nilai
akselerator
Menginisialisasi instans baru dari kelas akselerator.
accelerator();
explicit accelerator(const std::wstring& _Device_path);
accelerator(const accelerator& _Other);
Parameter
_Device_path
Jalur perangkat fisik.
_Lain
Akselerator untuk menyalin.
cpu_accelerator
Mendapatkan konstanta string untuk akselerator CPU.
static const wchar_t cpu_accelerator[];
buat_tampilan
Membuat dan mengembalikan objek accelerator_view pada akselerator ini, dengan menggunakan mode antrean yang ditentukan. Saat modus antrean tidak ditentukan, accelerator_view yang baru menggunakan modus 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 telah ditentukan.
dedicated_memory
Memperoleh 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[];
tipe_akses_cpu_default
default CPU access_type untuk array dan alokasi memori implisit yang dibuat di sini 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;
deskripsi
Mendapatkan deskripsi singkat perangkat accelerator.
__declspec(property(get= get_description)) std::wstring description;
jalur_perangkat
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
dapatkan_tampilan_seleksi_otomatis
Mengembalikan pengaturan otomatis accelerator_view, ketika ditetapkan sebagai target parallel_for_each, menentukan accelerator_view target 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 dari akselerator default
static accelerator_view __cdecl get_auto_selection_view();
Tampilkan Nilai
Pemilihan otomatis tampilan akselerator.
ambil_memori_didedikasikan
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 tipe_akses CPU default untuk buffer yang dibuat pada akselerator ini
access_type get_default_cpu_access_type() const;
Tampilkan Nilai
Jenis akses CPU default 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 singkat perangkat accelerator.
std::wstring get_description() const;
Tampilkan Nilai
Deskripsi singkat tentang accelerator perangkat.
dapatkan_jalur_perangkat
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 menampilkan ke tampilan.
bool get_has_display() const;
Tampilkan Nilai
true jika accelerator dapat mengeluarkan output 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 accelerator diemulasi.
bool get_is_emulated() const;
Tampilkan Nilai
true jika accelerator diemulasikan. Sebaliknya, false.
dapatkan_dukungan_memori_bersama_cpu
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 penjumlahan perkalian gabung (FMA), pembagian, resiprokal, dan penetapan tipe 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 (memeriksa dukungan presisi ganda terbatas)
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.
dapatkan_versi
Mengembalikan versi dari accelerator.
unsigned int get_version() const;
Tampilkan Nilai
Versi dari accelerator.
memiliki_tampilan
Mendapatkan nilai Boolean yang menunjukkan apakah accelerator dapat menampilkan ke layar.
__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;
di_emulasikan
Mendapatkan nilai Boolean yang menunjukkan apakah accelerator diemulasikan.
__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
_Lain
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
_Lain
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
_Lain
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
_Path
Jalur ke akselerator.
Tampilkan Nilai
true jika panggilan berhasil mengatur akselerator default. Sebaliknya, false.
set_default_cpu_access_type
Atur jenis_akses CPU default untuk array yang dibuat pada akselerator ini atau untuk alokasi memori implisit sebagai bagian dari array_views yang diakses pada akselerator ini. Metode ini hanya akan berhasil jika default_cpu_access_type untuk akselerator belum diubah oleh panggilan sebelumnya ke metode ini, dan default_cpu_access_type yang telah dipilih oleh runtime untuk akselerator ini belum digunakan untuk mengalokasikan array atau untuk alokasi memori implisit yang mendukung array_view yang diakses pada akselerator ini.
bool set_default_cpu_access_type(access_type _Default_cpu_access_type);
Parameter
_Default_cpu_access_type
Akses_tipe cpu bawaan untuk alokasi memori array/array_view pada akselerator ini.
Tampilkan Nilai
Nilai boolean yang menunjukkan apakah access_type CPU default untuk akselerator berhasil diatur.
mendukung_berbagi_memori_cpu
Mendapatkan nilai Boolean yang menunjukkan apakah accelerator mendukung memori bersama.
__declspec(property(get= get_supports_cpu_shared_memory)) bool supports_cpu_shared_memory;
mendukung_double_precision
Mendapatkan nilai Boolean yang menunjukkan apakah akselerator mendukung matematika presisi ganda.
__declspec(property(get= get_supports_double_precision)) bool supports_double_precision;
mendukung presisi ganda terbatas
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 dari accelerator.
__declspec(property(get= get_version)) unsigned int version;