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 |
---|---|
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. |
|
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. |
|
Zawiera typy i funkcje, które są przeznaczone do programowania grafiki. |
|
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 |
---|---|
Reprezentuje abstrakcję fizycznego węzła obliczeniowego zoptymalizowanego pod kątem DP. |
|
Reprezentuje abstrakcję urządzenia wirtualnego na akceleratorze danych równoległych C++ AMP. |
|
Wyjątek, który jest generowany, kiedy wywołanie DirectX nie powiedzie się z powodu wykrycia przekroczenia czasu przez system Windows i mechanizm odzyskiwania. |
|
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++. |
|
Reprezentuje widok danych w tablicy <T,N>. |
|
Reprezentuje przyszłą operację asynchroniczną, która jest zgodna z 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. |
|
Definiuje N-wymiarowy punkt indeksu. |
|
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. |
|
Wyjątek, który jest zgłaszany, gdy metoda nie powiedzie się z powodu braku pamięci systemowej lub urządzenia. |
|
Typ podstawowy dla wyjątków w bibliotece C++ AMP. |
|
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). |
|
Obiekt tiled_extent to obiekt extent od jednego do trzech wymiarów, dzielący przestrzeń na jedno-, dwu- lub trójwymiarowe fragmenty. |
|
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. |
|
Wyjątek ten jest zgłaszany, gdy używany jest obiekt niezainicjowany. |
|
Wyjątek ten jest zgłaszany, gdy używana jest nieobsługiwana funkcja. |
Wyliczenia
Nazwa |
Opis |
---|---|
Określa typ dostępu do danych. |
|
Określa tryby kolejkowania, które są obsługiwane w akceleratorze. |
Operatory
Operator |
Opis |
---|---|
Określa, czy określone struktury danych są równe. |
|
Określa, czy określone struktury danych są nierówne. |
|
Oblicza sumę dotyczącą składnika dla określonych argumentów. |
|
Oblicza różnicę dotyczącą składnika między określonymi argumentami. |
|
Oblicza iloczyn dotyczący składnika dla określonych argumentów. |
|
Oblicza iloraz dotyczący składnika dla określonych argumentów. |
|
Oblicza moduł pierwszego określonego argumentu przez drugi określony argument. |
Funkcje
Nazwa |
Opis |
---|---|
Blokuje wykonanie wszystkich wątków we fragmencie do momentu zakończenia wszystkich operacji dostępu do pamięci. |
|
Cofa zainicjowanie środowiska wykonawczego języka C++ AMP. |
|
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. |
|
Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji dla określonej wartości jako operację niepodzielną. |
|
Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji dla sumy tej wartości i określoną wartość jako operację niepodzielną. |
|
Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji do bitowej and tej wartości i określoną wartość jako operację niepodzielną. |
|
Przeciążone.Zmniejsza wartość przechowywaną w określonej lokalizacji i zapisuje wynik w tej samej lokalizacji co operacja niepodzielna. |
|
Przeciążone.Zwiększa wartość przechowywaną w określonej lokalizacji i zapisuje wynik w tej samej lokalizacji co operacja niepodzielna. |
|
Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji dla większej tej wartości i określoną wartość jako operację niepodzielną. |
|
Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji dla mniejszej tej wartości i określoną wartość jako operację niepodzielną. |
|
Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji do bitowej or tej wartości i określoną wartość jako operację niepodzielną. |
|
Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji na różnicę tej wartości i określoną wartość jako operację niepodzielną. |
|
Przeciążone.Ustawia wartość przechowywaną w określonej lokalizacji do bitowej xor tej wartości i określoną wartość jako operację niepodzielną. |
|
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). |
|
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). |
|
Przerywa wykonywanie funkcji z klauzulą ograniczenia restrict(amp). |
|
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. |
|
Drukuje sformatowany ciąg w oknie Danych wyjściowych programu Visual Studio.Jest wywoływane z funkcji, z klauzulą ograniczenia restrict(amp). |
|
Blokuje wykonanie wszystkich wątków we fragmencie do momentu zakończenia wszystkich operacji dostępu do pamięci. |
|
Uruchamia funkcję w całej domenie obliczeń. |
|
Blokuje wykonanie wszystkich wątków we fragmencie, aż dostępy do pamięci tile_static zostaną zakończone. |
Stałe
Nazwa |
Opis |
---|---|
Maksymalna liczba buforów dozwolona przez DirectX. |
|
Przechowuje maksymalną długość nazwy modułu.Ta wartość musi być taka sama w kompilatorze i środowisku uruchomieniowym. |
Wymagania
Nagłówek: amp.h