Udostępnij za pośrednictwem


Przestrzeń nazw współbieżności (C++ AMP)

Dostarcza klasy i funkcje, które przyspieszają wykonywanie kodu C++ na urządzeniach równoległych danych.Aby uzyskać więcej informacji, zobacz Przegląd C++ AMP.

namespace Concurrency;

Elementy członkowskie

Przestrzenie nazw

Nazwa

Opis

Concurrency::direct3d — Przestrzeń nazw

Dostarcza funkcje, które obsługują współdziałanie D3DUmożliwia bezproblemowe korzystanie z zasobów D3D dla obliczeń w kodzie AMP, jak również umożliwia wykorzystanie zasobów utworzonych w AMP, w kodzie D3D, bez tworzenia nadmiarowych kopii pośrednich.Można użyć języka C++ AMP, aby stopniowo przyspieszyć sekcje intensywnych obliczeń aplikacji DirectX i użyć interfejsu API D3D na danych wyprodukowanych z obliczeń AMP.

Concurrency::fast_math — Przestrzeń nazw

Funkcje znajdujące się w przestrzeni nazw fast_math są niezgodne z C99.Dostępne są tylko wersje poszczególnych funkcji o pojedynczej precyzji.Te funkcje używają wewnętrznych funkcji DirectX, które są szybsze od odpowiednich funkcji w przestrzeni nazw precise_math i nie wymagają rozszerzonego wsparcia podwójnej precyzji dla akceleratora, ale są mniej dokładne.Dostępne są dwie wersje każdej funkcji dla zgodności poziomu źródła z kodem C99; obie wersje pobierają i zwracają wartości pojedynczej precyzji.

Concurrency::graphics — Przestrzeń nazw

Zawiera typy i funkcje, które są przeznaczone do programowania grafiki.

Concurrency::precise_math — Przestrzeń nazw

Funkcje znajdujące się w przestrzeni nazw precise_math są zgodne z C99.Zawarte są wersje funkcji zarówno z pojedynczą, jak i podwójną precyzją.Funkcje te — włączając funkcje pojedynczej precyzji — wymagają rozszerzonej obsługi podwójnej precyzji na akceleratorze.

Klasy

Nazwa

Opis

accelerator — Klasa

Reprezentuje abstrakcję fizycznego węzła obliczeniowego zoptymalizowanego pod kątem DP.

accelerator_view — Klasa

Reprezentuje abstrakcję urządzenia wirtualnego na akceleratorze danych równoległych C++ AMP.

accelerator_view_removed — klasa

Wyjątek, który jest generowany, kiedy wywołanie DirectX nie powiedzie się z powodu wykrycia przekroczenia czasu przez system Windows i mechanizm odzyskiwania.

array — Klasa

Dane agregowane na accelerator_view w domenie siatki.Jest to zbiór zmiennych, jedna dla każdego elementu w domenie siatki.Każda zmienna przechowuje wartość odpowiadającą pewnemu typowi C++.

array_view — Klasa

Reprezentuje widok danych w tablicy <T,N>.

completion_future — Klasa

Reprezentuje przyszłą operację asynchroniczną, która jest zgodna z C++ AMP.

extent — Klasa (C++ AMP)

Reprezentuje wektor N wartości całkowitych, które określają granice przestrzeni N-wymiarowej, która pochodzi od 0.Wartości w wektorze współrzędnych są uporządkowane w kolejności od najbardziej znaczących do najmniej znaczących.Na przykład w kartezjańskiej, trójwymiarowej przestrzeni wektor zakresu (7,5,3) reprezentuje przestrzeń, w której współrzędna z jest z zakresu od 0 do 7, współrzędna y z zakresu od 0 do 5, a współrzędna x jest z zakresu od 0 do 3.

index — Klasa

Definiuje N-wymiarowy punkt indeksu.

invalid_compute_domain — Klasa

Zgłaszany wyjątek, gdy środowisko uruchomieniowe nie może uruchomić jądra używając domeny obliczeniowej określonej w wywołaniu witryny parallel_for_each.

out_of_memory — Klasa

Wyjątek, który jest zgłaszany, gdy metoda nie powiedzie się z powodu braku pamięci systemowej lub urządzenia.

runtime_exception — Klasa

Typ podstawowy dla wyjątków w bibliotece C++ AMP.

tile_barrier — Klasa

Klasa możliwości, która może być utworzona tylko przez system i jest przekazywana do sąsiadującej lambda parallel_for_each jako część parametru tiled_index.Udostępnia pojedynczą metodę, wait(), której celem jest synchronizowanie wykonywania wątków działających w grupie wątku (fragmencie).

tiled_extent — Klasa

Obiekt tiled_extent to obiekt extent od jednego do trzech wymiarów, dzielący przestrzeń na jedno-, dwu- lub trójwymiarowe fragmenty.

tiled_index — Klasa

Dostarcza indeks dla obiektu tiled_grid.Ta klasa posiada właściwości, które umożliwiają dostęp do elementu pozycjonowanego względnie w stosunku do pozycji lokalnego fragmentu i pozycjonowanego względnie w stosunku do pozycji globalnej.

uninitialized_object — Klasa

Wyjątek ten jest zgłaszany, gdy używany jest obiekt niezainicjowany.

unsupported_feature — Klasa

Wyjątek ten jest zgłaszany, gdy używana jest nieobsługiwana funkcja.

Wyliczenia

Nazwa

Opis

access_type — Wyliczenie

Określa typ dostępu do danych.

queuing_mode — Wyliczenie

Określa tryby kolejkowania, które są obsługiwane w akceleratorze.

Operatory

Operator

Opis

operator== — Operator (C++ AMP)

Określa, czy określone struktury danych są równe.

operator!= — Operator (C++ AMP)

Określa, czy określone struktury danych są nierówne.

operator+ — Operator (C++ AMP)

Oblicza sumę dotyczącą składnika dla określonych argumentów.

operator- — Operator (C++ AMP)

Oblicza różnicę dotyczącą składnika między określonymi argumentami.

operator* — Operator (C++ AMP)

Oblicza iloczyn dotyczący składnika dla określonych argumentów.

operator/ — Operator (C++ AMP)

Oblicza iloraz dotyczący składnika dla określonych argumentów.

operator% — Operator (C++ AMP)

Oblicza moduł pierwszego określonego argumentu przez drugi określony argument.

Funkcje

Nazwa

Opis

all_memory_fence — Funkcja

Blokuje wykonanie wszystkich wątków we fragmencie do momentu zakończenia wszystkich operacji dostępu do pamięci.

amp_uninitialize — Funkcja

Cofa zainicjowanie środowiska wykonawczego języka C++ AMP.

atomic_compare_exchange — Funkcja

Przeciążone.Jeśli wartość przechowywana w określonej lokalizacji jest w porównaniu równa pierwszej określonej wartości, druga określona wartość jest przechowywana w tej samej lokalizacji co operacja niepodzielna.

atomic_exchange — Funkcja (C++ AMP)

Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji dla określonej wartości jako operację niepodzielną.

atomic_fetch_add — Funkcja (C++ AMP)

Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji dla sumy tej wartości i określoną wartość jako operację niepodzielną.

atomic_fetch_and — Funkcja (C++ AMP)

Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji do bitowej and tej wartości i określoną wartość jako operację niepodzielną.

atomic_fetch_dec — Funkcja

Przeciążone.Zmniejsza wartość przechowywaną w określonej lokalizacji i zapisuje wynik w tej samej lokalizacji co operacja niepodzielna.

atomic_fetch_inc — Funkcja

Przeciążone.Zwiększa wartość przechowywaną w określonej lokalizacji i zapisuje wynik w tej samej lokalizacji co operacja niepodzielna.

atomic_fetch_max — Funkcja

Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji dla większej tej wartości i określoną wartość jako operację niepodzielną.

atomic_fetch_min — Funkcja

Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji dla mniejszej tej wartości i określoną wartość jako operację niepodzielną.

atomic_fetch_or — Funkcja (C++ AMP)

Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji do bitowej or tej wartości i określoną wartość jako operację niepodzielną.

atomic_fetch_sub — Funkcja (C++ AMP)

Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji na różnicę tej wartości i określoną wartość jako operację niepodzielną.

atomic_fetch_xor — Funkcja (C++ AMP)

Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji do bitowej xor tej wartości i określoną wartość jako operację niepodzielną.

copy — Funkcja

Kopiuje obiekt C++ AMP.Spełnione są wszystkie wymagania synchronicznego transferu danych.Nie można skopiować danych, gdy kod jest kodem wykonywanym na akceleratorze.Ogólna postać tej funkcji to copy(src, dest).

copy_async — Funkcja

Kopiuje obiekt C++ AMP i zwraca completion_future, który może być oczekiwany.Nie można skopiować danych, gdy kod jest wykonywany na akceleratorze.Ogólna postać tej funkcji to copy(src, dest).

direct3d_abort — Funkcja

Przerywa wykonywanie funkcji z klauzulą ograniczenia restrict(amp).

direct3d_errorf — Funkcja

Drukuje sformatowany ciąg do okna programu Visual Studio Dane wyjściowe i generuje wyjątek runtime_exception, który ma ten sam ciąg formatowania.

direct3d_printf — Funkcja

Drukuje sformatowany ciąg w oknie Danych wyjściowych programu Visual Studio.Jest wywoływane z funkcji, z klauzulą ograniczenia restrict(amp).

global_memory_fence — Funkcja

Blokuje wykonanie wszystkich wątków we fragmencie do momentu zakończenia wszystkich operacji dostępu do pamięci.

parallel_for_each — Funkcja (C++ AMP)

Uruchamia funkcję w całej domenie obliczeń.

tile_static_memory_fence — Funkcja

Blokuje wykonanie wszystkich wątków we fragmencie, aż dostępy do pamięci tile_static zostaną zakończone.

Stałe

Nazwa

Opis

HLSL_MAX_NUM_BUFFERS — Stała

Maksymalna liczba buforów dozwolona przez DirectX.

MODULENAME_MAX_LENGTH — Stała

Przechowuje maksymalną długość nazwy modułu.Ta wartość musi być taka sama w kompilatorze i środowisku uruchomieniowym.

Wymagania

Nagłówek: amp.h

Zobacz też

Inne zasoby

Odwołanie (C++ AMP)