Bagikan melalui


Namespace Konkurensi (C++ AMP)

Menyediakan kelas dan fungsi yang mempercepat eksekusi kode C++ pada perangkat keras paralel data. Untuk informasi selengkapnya, lihat Gambaran Umum C++ AMP

Sintaks

namespace Concurrency;

Anggota

Namespace

Nama Deskripsi
Concurrency::d irect3d Namespace Menyediakan fungsi yang mendukung interoperabilitas D3D. Memungkinkan penggunaan sumber daya D3D yang mulus untuk komputasi dalam kode AMP dan penggunaan sumber daya yang dibuat dalam AMP dalam kode D3D, tanpa membuat salinan perantara yang berlebihan. Anda dapat menggunakan C++ AMP untuk secara bertahap mempercepat bagian intensif komputasi aplikasi DirectX Anda dan menggunakan API D3D pada data yang dihasilkan dari komputasi AMP.
Konkurensi::fast_math Namespace Fungsi di fast_math namespace layanan tidak sesuai dengan C99. Hanya versi presisi tunggal dari setiap fungsi yang disediakan. Fungsi-fungsi ini menggunakan fungsi intrinsik DirectX, yang lebih cepat daripada fungsi yang sesuai di precise_math namespace layanan dan tidak memerlukan dukungan presisi ganda yang diperluas pada akselerator, tetapi kurang akurat. Ada dua versi setiap fungsi untuk kompatibilitas tingkat sumber dengan kode C99; kedua versi mengambil dan mengembalikan nilai presisi tunggal.
Konkurensi::graphics Namespace Menyediakan jenis dan fungsi yang dirancang untuk pemrograman grafis.
Konkurensi::p recise_math Namespace Fungsi di precise_math namespace layanan sesuai dengan C99. Versi presisi tunggal dan presisi ganda dari setiap fungsi disertakan. Fungsi-fungsi ini—ini termasuk fungsi presisi tunggal—memerlukan dukungan presisi ganda yang diperluas pada akselerator.

Kelas

Nama Deskripsi
Kelas akselerator Mewakili abstraksi simpul komputasi fisik yang dioptimalkan DP.
Kelas accelerator_view Mewakili abstraksi perangkat virtual pada akselerator paralel data C++ AMP.
Kelas accelerator_view_removed Pengecualian yang dilemparkan ketika panggilan DirectX yang mendasar gagal karena mekanisme deteksi dan pemulihan batas waktu Windows.
Kelas array Agregat data pada accelerator_view domain kisi. Ini adalah kumpulan variabel, satu untuk setiap elemen dalam domain kisi. Setiap variabel menyimpan nilai yang sesuai dengan beberapa jenis C++.
Kelas array_view Mewakili tampilan ke dalam data dalam array<T,N>.
Kelas completion_future Mewakili masa depan yang sesuai dengan operasi asinkron C++ AMP.
Kelas tingkat Mewakili vektor nilai bilangan bulat N yang menentukan batas ruang N-dimensi yang memiliki asal 0. Nilai dalam vektor koordinat diurutkan dari yang paling signifikan hingga paling tidak signifikan. Misalnya, di ruang 3 dimensi Kartesius, vektor tingkat (7,5,3) mewakili ruang di mana koordinat z berkisar dari 0 hingga 7, koordinat y berkisar dari 0 hingga 5, dan koordinat x berkisar dari 0 hingga 3.
kelas indeks Menentukan titik indeks N-dimensi.
Kelas invalid_compute_domain Pengecualian yang dilemparkan ketika runtime tidak dapat memulai kernel dengan menggunakan domain komputasi yang ditentukan di parallel_for_each situs panggilan.
Kelas out_of_memory Pengecualian yang dilemparkan ketika metode gagal karena kurangnya memori sistem atau perangkat.
Kelas runtime_exception Jenis dasar untuk pengecualian di pustaka C++ AMP.
Kelas tile_barrier Kelas kemampuan yang hanya dapat dikremasi oleh sistem dan diteruskan ke lambda ubin parallel_for_each sebagai bagian tiled_index dari parameter. Ini menyediakan satu metode, wait(), yang tujuannya adalah untuk menyinkronkan eksekusi utas yang berjalan dalam grup utas (ubin).
Kelas tiled_extent Objek tiled_extent adalah extent objek dari satu hingga tiga dimensi yang membavisikan ruang luas menjadi petak peta satu dimensi, dua dimensi, atau tiga dimensi.
Kelas tiled_index Menyediakan indeks ke dalam tiled_grid objek. Kelas ini memiliki properti untuk mengakses elemen relatif terhadap asal petak peta lokal dan relatif terhadap asal global.
Kelas uninitialized_object Pengecualian yang dilemparkan ketika objek yang tidak diinisialisasi digunakan.
Kelas unsupported_feature Pengecualian yang dilemparkan ketika fitur yang tidak didukung digunakan.

Enumerasi

Nama Deskripsi
Enumerasi access_type Menentukan jenis akses data.
Enumerasi queuing_mode Menentukan mode antrean yang didukung pada akselerator.

Operators

Operator Deskripsi
operator== Operator (C++ AMP) Menentukan apakah struktur data yang ditentukan sama.
operator!= Operator (C++ AMP) Menentukan apakah struktur data yang ditentukan tidak sama.
operator+ Operator (C++ AMP) Menghitung jumlah komponen yang bijaksana dari argumen yang ditentukan.
operator- Operator (C++ AMP) Menghitung perbedaan komponen-bijaksana antara argumen yang ditentukan.
operator* Operator (C++ AMP) Menghitung produk yang bijaksana komponen dari argumen yang ditentukan.
operator/Operator (C++ AMP) Menghitung kuota komponen yang bijaksana dari argumen yang ditentukan.
operator% Operator (C++ AMP) Menghitung modulus argumen pertama yang ditentukan oleh argumen kedua yang ditentukan.

Fungsi

Nama Deskripsi
all_memory_fence Memblokir eksekusi semua utas dalam petak hingga semua akses memori selesai.
amp_uninitialize Membatalkan inisialisasi runtime C++ AMP.
atomic_compare_exchange Kelebihan beban. Jika nilai yang disimpan di lokasi yang ditentukan dibandingkan dengan nilai pertama yang ditentukan, maka nilai kedua yang ditentukan disimpan di lokasi yang sama dengan operasi atomik.
atomic_exchange Kelebihan beban. Mengatur nilai yang disimpan di lokasi yang ditentukan ke nilai yang ditentukan sebagai operasi atomik.
atomic_fetch_add Kelebihan beban. Mengatur nilai yang disimpan di lokasi yang ditentukan ke jumlah nilai tersebut dan nilai yang ditentukan sebagai operasi atomik.
atomic_fetch_and Kelebihan beban. Mengatur nilai yang disimpan di lokasi yang ditentukan ke bitwise and nilai tersebut dan nilai yang ditentukan sebagai operasi atom.
atomic_fetch_dec Kelebihan beban. Mengurangi nilai yang disimpan di lokasi yang ditentukan dan menyimpan hasilnya di lokasi yang sama dengan operasi atom.
atomic_fetch_inc Kelebihan beban. Menaikkan nilai yang disimpan di lokasi yang ditentukan dan menyimpan hasilnya di lokasi yang sama dengan operasi atom.
atomic_fetch_max Kelebihan beban. Mengatur nilai yang disimpan di lokasi yang ditentukan ke nilai yang lebih besar dan nilai yang ditentukan sebagai operasi atomik.
atomic_fetch_min Kelebihan beban. Mengatur nilai yang disimpan di lokasi yang ditentukan ke nilai yang lebih kecil dan nilai yang ditentukan sebagai operasi atomik.
atomic_fetch_or Kelebihan beban. Mengatur nilai yang disimpan di lokasi yang ditentukan ke bitwise or nilai tersebut dan nilai yang ditentukan sebagai operasi atom.
atomic_fetch_sub Kelebihan beban. Mengatur nilai yang disimpan di lokasi yang ditentukan ke perbedaan nilai tersebut dan nilai yang ditentukan sebagai operasi atomik.
atomic_fetch_xor Kelebihan beban. Mengatur nilai yang disimpan di lokasi yang ditentukan ke bitwise xor nilai tersebut dan nilai yang ditentukan sebagai operasi atom.
salin Menyalin objek AMP C++. Semua persyaratan transfer data sinkron terpenuhi. Data tidak dapat disalin saat kode berjalan pada akselerator. Bentuk umum dari fungsi ini adalah copy(src, dest).
copy_async Menyalin objek AMP C++ dan mengembalikan completion_future yang dapat ditunggu. Data tidak dapat disalin saat kode berjalan pada akselerator. Bentuk umum dari fungsi ini adalah copy(src, dest).
direct3d_abort Membatalkan eksekusi fungsi yang memiliki restrict(amp) klausa pembatasan.
direct3d_errorf Mencetak string yang diformat ke jendela Output Visual Studio dan menaikkan pengecualian runtime_exception yang memiliki string pemformatan yang sama.
direct3d_printf Mencetak string yang diformat ke jendela Output Visual Studio. Ini dipanggil dari fungsi yang memiliki restrict(amp) klausul pembatasan.
global_memory_fence Memblokir eksekusi semua utas dalam petak hingga semua akses memori global selesai.
Fungsi parallel_for_each (C++ AMP) Menjalankan fungsi di seluruh domain komputasi.
tile_static_memory_fence Memblokir eksekusi semua utas dalam petak hingga tile_static akses memori selesai.

Konstanta

Nama Deskripsi
Konstanta HLSL_MAX_NUM_BUFFERS Jumlah maksimum buffer yang diizinkan oleh DirectX.
Konstanta MODULENAME_MAX_LENGTH Menyimpan panjang maksimum nama modul. Nilai ini harus sama pada pengkompilasi dan runtime.

Persyaratan

Header: amp.h

Baca juga

Referensi (C++ AMP)