Bagikan melalui


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 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;

Lihat juga

Namespace Konkurensi (C++ AMP)