Bagikan melalui


Namespace Concurrency (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::direct3d 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 tidak sesuai dengan standar 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 namespace precise_math dan tidak memerlukan dukungan presisi ganda-tinggi 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.
Konkruensi::precise_math Namespace Fungsi di precise_math namespace mematuhi 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 suatu abstraksi dari simpul komputasi fisik yang dioptimalkan untuk DP.
Kelas accelerator_view Mewakili abstraksi perangkat virtual pada akselerator paralel data C++ AMP.
Kelas accelerator_view_removed Pengecualian yang dilempar ketika panggilan DirectX yang mendasar gagal karena adanya mekanisme deteksi waktu habis dan pemulihan Windows.
Kelas array Agregat data pada accelerator_view di domain grid. Ini adalah kumpulan variabel, satu untuk setiap elemen dalam domain grid. Setiap variabel menyimpan nilai yang sesuai dengan beberapa jenis C++.
Kelas array_view Mewakili tampilan ke dalam data dalam array<T,N>.
completion_future Class 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 dihasilkan ketika runtime gagal memulai kernel dengan menggunakan domain komputasi yang ditentukan pada lokasi panggilan parallel_for_each.
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 dibuat oleh sistem dan diteruskan ke lambda tiled parallel_for_each sebagai bagian dari parameter tiled_index itu. Ini menyediakan satu metode, wait(), yang tujuannya adalah untuk menyinkronkan eksekusi utas yang berjalan dalam grup utas (tile).
Kelas tiled_extent Objek tiled_extent adalah extent objek dari satu hingga tiga dimensi yang membagi ruang jangkauan menjadi petak satu dimensi, dua dimensi, atau tiga dimensi.
Kelas tiled_index Menyediakan indeks pada objek tiled_grid. Kelas ini memiliki properti untuk mengakses elemen relatif terhadap asal petak peta lokal dan relatif terhadap asal global.
Kelas uninitialized_object Pengecualian yang terjadi ketika objek yang belum diinisialisasi digunakan.
Kelas unsupported_feature Pengecualian yang dilemparkan ketika fitur yang tidak didukung digunakan.

Enumerasi

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

Operator

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 penjumlahan per komponen dari argumen yang ditentukan.
operator- Operator (C++ AMP) Menghitung perbedaan per komponen antara argumen yang ditentukan.
operator* Operator (C++ AMP) Menghitung hasil perkalian per komponen dari argumen yang ditentukan.
operator/Operator (C++ AMP) Menghitung hasil bagi per komponen dari argumen yang ditentukan.
Operator% Operator (C++ AMP) Menghitung modulus argumen pertama yang ditentukan oleh argumen kedua yang ditentukan.

Functions

Nama Deskripsi
all_memory_fence Menghentikan eksekusi semua utas dalam tile 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 menjadi jumlah dari nilai tersebut dan nilai yang telah ditentukan sebagai operasi atomik.
atomic_fetch_and Kelebihan beban. Mengatur nilai yang disimpan di lokasi yang ditentukan menjadi hasil operasi bitwise and antara nilai tersebut dengan nilai lain yang ditentukan, secara atomik.
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 antara nilai yang ada 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 antara nilai tersebut dan nilai yang ditentukan secara atomik.
atomic_fetch_or Kelebihan beban. Menetapkan nilai yang disimpan di lokasi yang ditentukan menjadi hasil operasi bitwise or antara nilai tersebut dan nilai yang ditentukan melalui operasi atomik.
atomic_fetch_sub Kelebihan beban. Menetapkan nilai yang disimpan di lokasi yang ditentukan menjadi hasil selisih antara nilai tersebut dan nilai lain yang ditetapkan, sebagai bagian dari 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 sebuah objek C++ AMP 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 terformat ke jendela Output Visual Studio dan menghasilkan pengecualian runtime_exception yang memiliki string format 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

Lihat juga

Referensi (C++ AMP)