Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Fornece classes e funções que aceleram a execução de código C++ em hardware paralelo de dados. Para mais informações, consulte Visão Geral do AMP C++
Sintaxe
namespace Concurrency;
Membros
Namespaces
| Nome | Description |
|---|---|
| Concurrency::direct3d Namespace | Fornece funções que suportam a interoperabilidade D3D. Permite o uso contínuo de recursos D3D para computação em código AMP e a utilização de recursos criados em AMP em código D3D, sem criar cópias intermédias redundantes. Pode usar C++ AMP para acelerar incrementalmente as secções intensivas em computação das suas aplicações DirectX e usar a API D3D em dados produzidos a partir de computações AMP. |
| Concurrency::fast_math Namespace | As funções no fast_math espaço de nomes não são compatíveis com o C99. São fornecidas apenas versões de precisão simples de cada função. Estas funções usam as funções intrínsecas DirectX, que são mais rápidas do que as funções correspondentes no precise_math namespace e não requerem suporte prolongado de dupla precisão no acelerador, mas são menos precisas. Existem duas versões de cada função para compatibilidade a nível de código fonte com o código C99; ambas as versões tomam e retornam valores de precisão simples. |
| Namespace Concurrency::graphics | Fornece tipos e funções concebidos para programação gráfica. |
| Concorrência::precise_math Namespace | As funções no precise_math namespace são compatíveis com o C99. Estão incluídas versões de precisão simples e dupla de cada função. Estas funções — incluindo as funções de precisão simples — requerem suporte alargado de dupla precisão no acelerador. |
Aulas
| Nome | Description |
|---|---|
| Classe aceleradora | Representa uma abstração de um nó de computação físico otimizado para DP. |
| accelerator_view Classe | Representa uma abstração virtual de dispositivo num acelerador paralelo de dados AMP em C++. |
| accelerator_view_removed Classe | A exceção que é lançada quando uma chamada DirectX subjacente falha devido ao mecanismo de deteção e recuperação de timeout do Windows. |
| Classe de array | Um agregado de dados num accelerator_view no domínio da grelha. É uma coleção de variáveis, uma para cada elemento num domínio de grelha. Cada variável contém um valor que corresponde a algum tipo C++. |
| array_view Classe | Representa uma vista dos dados num array<T,N>. |
| completion_future Classe | Representa um futuro que corresponde a uma operação assíncrona em C++ AMP. |
| Classe de extensão | Representa um vetor de N valores inteiros que especificam os limites de um espaço de dimensão N cuja origem é 0. Os valores no vetor de coordenadas estão ordenados do mais significativo para o menos significativo. Por exemplo, no espaço cartesiano tridimensional, o vetor de extensão (7,5,3) representa um espaço em que a coordenada z varia de 0 a 7, a coordenada y varia de 0 a 5, e a coordenada x varia de 0 a 3. |
| Classe índice | Define um ponto índice de dimensão n. |
| invalid_compute_domain Classe | A exceção que é lançada quando o runtime não consegue iniciar um kernel usando o domínio de computação especificado no site da chamada parallel_for_each. |
| out_of_memory Classe | A exceção que é lançada quando um método falha devido à falta de memória do sistema ou do dispositivo. |
| runtime_exception Classe | O tipo base para exceções na biblioteca C++ AMP. |
| tile_barrier Classe | Uma classe de capacidades que só pode ser criada pelo sistema e que é passada para um lambda mosaico parallel_for_each como parte do parâmetro tiled_index. Fornece um método, wait(), cujo propósito é sincronizar a execução dos threads que estão a correr no grupo de threads (tile). |
| tiled_extent Classe | Um tiled_extent objeto é um extent objeto de uma a três dimensões que subdivide o espaço de extensão em azulejos unidimensionais, bidimensionais ou tridimensionais. |
| tiled_index Classe | Fornece um índice para um tiled_grid objeto. Esta classe tem propriedades para aceder ao elemento relativo à origem local do mosaico e relativamente à origem global. |
| uninitialized_object Classe | A exceção que é lançada quando um objeto não inicializado é utilizado. |
| unsupported_feature Classe | A exceção que é lançada quando uma funcionalidade não suportada é utilizada. |
Enumerações
| Nome | Description |
|---|---|
| acesso_tipo Enumeração | Especifica o tipo de acesso aos dados. |
| modo_de_fila Enumeração | Especifica os modos de fila suportados no acelerador. |
Operadores
| Operador | Description |
|---|---|
| operator== operator (C++ AMP) | Determina se as estruturas de dados especificadas são iguais. |
| operator!= operator (C++ AMP) | Determina se as estruturas de dados especificadas são desiguais. |
| operator+ Operator (C++ AMP) | Calcula a soma por componente dos argumentos especificados. |
| operator - Operador (C++ AMP) | Calcula a diferença componente a componente entre os argumentos especificados. |
| operator* Operator (C++ AMP) | Calcula o produto por componentes dos argumentos especificados. |
| operador/ operador (C++ AMP) | Calcula o quociente componente a componente dos argumentos especificados. |
| operador% Operador (C++ AMP) | Calcula o módulo do primeiro argumento especificado pelo segundo argumento especificado. |
Funções
| Nome | Description |
|---|---|
| all_memory_fence | Bloqueia a execução de todas as threads num tile até que todos os acessos à memória sejam concluídos. |
| amp_uninitialize | Desinicializa o ambiente de execução do AMP em C++. |
| atomic_compare_exchange | Sobrecarregado. Se o valor armazenado no local especificado for igual ao primeiro valor especificado, então o segundo valor especificado é armazenado no mesmo local que uma operação atómica. |
| atomic_exchange | Sobrecarregado. Define o valor armazenado na localização especificada para o valor especificado como uma operação atómica. |
| atomic_fetch_add | Sobrecarregado. Define o valor armazenado no local especificado para a soma desse valor e um valor especificado como operação atómica. |
| atomic_fetch_and | Sobrecarregado. Define o valor armazenado na localização especificada para o resultado da operação bit a bit (AND) entre esse valor e um valor especificado, como uma operação atómica. |
| atomic_fetch_dec | Sobrecarregado. Diminui o valor armazenado no local especificado e armazena o resultado na mesma localização que uma operação atómica. |
| atomic_fetch_inc | Sobrecarregado. Incrementa o valor armazenado na localização especificada e armazena o resultado na mesma localização de uma operação atómica. |
| atomic_fetch_max | Sobrecarregado. Define, como operação atómica, o valor armazenado no local especificado para o maior entre esse valor e um valor especificado. |
| atomic_fetch_min | Sobrecarregado. Define o valor armazenado na localização especificada para o menor desse valor e um valor especificado como operação atómica. |
| atomic_fetch_or | Sobrecarregado. Define o valor armazenado na localização especificada como o resultado bit a bit desse valor e de um valor especificado, efetuado como uma operação atómica. |
| atomic_fetch_sub | Sobrecarregado. Define o valor armazenado na localização especificada como a diferença entre esse valor e um valor especificado, como uma operação atómica. |
| atomic_fetch_xor | Sobrecarregado. Define o valor armazenado na localização especificada como o resultado bit a bit desse valor e de um valor especificado, efetuado como uma operação atómica. |
| copy | Copia um objeto AMP em C++. Todos os requisitos de transferência de dados síncronos são cumpridos. Os dados não podem ser copiados quando o código está a correr num acelerador. A forma geral desta função é copy(src, dest). |
| copy_async | Copia um objeto AMP em C++ e devolve completion_future que pode ser esperado. Os dados não podem ser copiados quando o código está a correr num acelerador. A forma geral desta função é copy(src, dest). |
| direct3d_abort | Aborta a execução de uma função que tem a restrict(amp) cláusula de restrição. |
| direct3d_errorf | Imprime uma string formatada na janela Output do Visual Studio e gera uma exceção de tempo de execução com a mesma string de formatação. |
| direct3d_printf | Imprime uma cadeia formatada na janela de Saída do Visual Studio. É chamada a partir de uma função que tem a restrict(amp) cláusula de restrição. |
| global_memory_fence | Bloqueia a execução de todas as threads num tile até que todos os acessos globais à memória estejam concluídos. |
| Função parallel_for_each (C++ AMP) | Executa uma função através do domínio de computação. |
| tile_static_memory_fence | Bloqueia a execução de todos os threads em um tile até que os acessos à memória sejam concluídos. |
Constantes
| Nome | Description |
|---|---|
| HLSL_MAX_NUM_BUFFERS Constante | O número máximo de buffers permitidos pelo DirectX. |
| MODULENAME_MAX_LENGTH Constante | Armazena o comprimento máximo do nome do módulo. Este valor deve ser o mesmo no compilador e no runtime. |
Requerimentos
Cabeçalho: amp.h