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 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_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 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 acceleratorDirect3D .
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

trueaccelerator 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

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

Lihat juga

Namespace Konkurensi (C++ AMP)