Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Fornece classes e funções que aceleram a execução do código C++ no hardware paralelo de dados. Para mais informações, confira Visão geral de C++ AMP
Sintaxe
namespace Concurrency;
Membros
Namespaces
| Nome | Descrição |
|---|---|
| Namespace Concurrency::direct3d | Fornece funções que dão suporte à interoperabilidade D3D. Habilita o uso contínuo de recursos D3D para computação no código AMP e o uso de recursos criados em AMP no código D3D, sem criar cópias intermediárias redundantes. Você pode usar o C++ AMP para acelerar incrementalmente as seções com uso intensivo de computação de seus aplicativos DirectX e usar a API D3D em dados produzidos a partir de cálculos AMP. |
| Namespace Concurrency::fast_math | As funções no namespace fast_math não estão em conformidade com C99. Somente versões de precisão simples de cada função são fornecidas. Essas funções usam as funções intrínsecas do DirectX, que são mais rápidas do que as funções correspondentes no namespace precise_math e não exigem suporte estendido de precisão dupla no acelerador, mas são menos precisas. Há duas versões de cada função para compatibilidade no nível do código-fonte com código C99; ambas as versões recebem e retornam valores de precisão simples. |
| Namespace Concurrency::graphics | Fornece tipos e funções projetados para programação gráfica. |
| Namespace Concurrency::precise_math | As funções no namespace precise_math estão em conformidade com C99. As versões de precisão simples e de precisão dupla de cada função estão inclusas. Essas funções, incluindo as funções de precisão simples, exigem suporte estendido de precisão dupla no acelerador. |
Classes
| Nome | Descrição |
|---|---|
| Classe Acelerador | Representa uma abstração de um nó de computação físico otimizado para DP. |
| Classe accelerator_view | Representa uma abstração de dispositivo virtual em um acelerador paralelo de dados C++ AMP. |
| Classe accelerator_view_removed | A exceção gerada quando uma chamada para o DirectX subjacente falha devido ao mecanismo de detecção de tempo limite e recuperação do Windows. |
| Classe array | Uma agregação de dados em um accelerator_view no domínio de rede. É uma coleção de variáveis, uma para cada elemento em um domínio de grade. Cada variável contém um valor que corresponde a algum tipo C++. |
| Classe array_view | Representa uma exibição dos dados em uma matriz<T,N>. |
| Classe completion_future | Representa um futuro que corresponde a uma operação assíncrona do C++ AMP. |
| Classe Extent | Representa um vetor de valores inteiros N que especificam os limites de um espaço de dimensão N que tem uma origem de zero. Os valores no vetor de coordenadas são ordenados do mais significativo para o menos significativo. Por exemplo, no espaço tridimensional cartesiano, o vetor de extensão (7,5,3) representa um espaço no qual a coordenada z varia de 0 a 7, a coordenada y varia de 0 a 5 e as coordenadas x variam de 0 a 3. |
| Classe Índice | Define um ponto de índice de dimensão N. |
| Classe domínio_de_cálculo_inválido | A exceção gerada quando o runtime não pode iniciar um kernel usando o domínio de computação especificado no site de chamada parallel_for_each. |
| Classe out_of_memory | A exceção gerada quando um método falha devido à falta de memória do sistema ou do dispositivo. |
| Classe runtime_exception | O tipo base para exceções na biblioteca C++ AMP. |
| Classe tile_barrier | Uma classe de capacidade que só pode ser criada pelo sistema e é passada para um lambda em blocos parallel_for_each como parte do parâmetro tiled_index. Ele fornece um método wait(), cuja finalidade é sincronizar a execução de threads que estão em execução no grupo de threads (tile). |
| Classe tiled_extent | Um objeto tiled_extent é um objeto extent de uma a três dimensões que subdivide o espaço de extensão em blocos unidimensionais, bidimensionais ou tridimensionais. |
| Classe tiled_index | Fornece um índice em um objeto tiled_grid. Essa classe tem propriedades para acessar elementos referentes à origem do tile local e referentes à origem global. |
| Classe Uninitialized_Object | A exceção que é lançada quando um objeto não inicializado é usado. |
| Classe unsupported_feature | A exceção que é lançada quando um recurso sem suporte é usado. |
Enumerações
| Nome | Descrição |
|---|---|
| access_type Enumeração | Especifica o tipo de acesso a dados. |
| queuing_mode Enumeração | Especifica os modos de enfileiramento com suporte no acelerador. |
Operadores
| Operador | Descrição |
|---|---|
| Operador == (C++ AMP) | Determina se as estruturas de dados especificadas são iguais. |
| Operador != (C++ AMP) | Determina se as estruturas de dados especificadas são desiguais. |
| Operador operator+ (C++ AMP) | Calcula a soma elemento por elemento dos argumentos especificados. |
| operador - Operador (C++ AMP) | Calcula a diferença entre os componentes dos argumentos especificados. |
| Operador operator* (C++ AMP) | Calcula o produto elemento a elemento dos argumentos especificados. |
| operador/Operador (C++ AMP) | Calcula o quociente de componentes dos argumentos especificados. |
| operador% Operator (C++ AMP) | Calcula o módulo do primeiro argumento especificado pelo segundo argumento especificado. |
Functions
| Nome | Descrição |
|---|---|
| all_memory_fence | Bloqueia a execução de todos os threads em um bloco até que todos os acessos à memória tenham sido concluídos. |
| amp_uninitialize | Desinicializa o runtime C++ AMP. |
| atomic_compare_exchange | Sobrecarregado. Se o valor armazenado no local especificado for igual ao primeiro valor especificado, o segundo valor especificado será armazenado no mesmo local que uma operação atômica. |
| atomic_exchange | Sobrecarregado. Define o valor armazenado no local especificado 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 uma operação atômica. |
| atomic_fetch_and | Sobrecarregado. Define o valor armazenado no local especificado para o bit a bit and desse valor e um valor especificado como uma operação atômica. |
| atomic_fetch_dec | Sobrecarregado. Decrementa o valor armazenado no local especificado e armazena o resultado no mesmo local que uma operação atômica. |
| atomic_fetch_inc | Sobrecarregado. Incrementa o valor armazenado no local especificado e armazena o resultado no mesmo local que uma operação atômica. |
| atomic_fetch_max | Sobrecarregado. Define o valor armazenado no local especificado para o maior desse valor e um valor especificado como uma operação atômica. |
| atomic_fetch_min | Sobrecarregado. Configura o valor armazenado no local especificado para ser o menor entre esse valor e um valor especificado como uma operação atômica. |
| atomic_fetch_or | Sobrecarregado. Define o valor armazenado no local especificado para o bit a bit or desse valor e um valor especificado como uma operação atômica. |
| atomic_fetch_sub | Sobrecarregado. Estabelece o valor armazenado no local especificado 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 no local especificado como o resultado da operação bit a bit xor entre esse valor e um valor especificado, realizado como uma operação atômica. |
| copiar | Copia um objeto C++ AMP. Todos os requisitos de transferência de dados síncronos são atendidos. Os dados não podem ser copiados quando o código está executando código em um acelerador. A forma geral dessa função é copy(src, dest). |
| copy_async | Copia um objeto C++ AMP e retorna um completion_future que pode ser esperado. Os dados não podem ser copiados quando o código está em execução em um acelerador. A forma geral dessa função é copy(src, dest). |
| direct3d_abort | Anula a execução de uma função que tem a cláusula de restrição restrict(amp). |
| direct3d_errorf | Imprime uma cadeia de caracteres formatada na janela Saída do Visual Studio e gera uma exceção runtime_exception que tem a mesma cadeia de caracteres de formatação. |
| direct3d_printf | Imprime uma cadeia de caracteres formatada na janela Saída do Visual Studio. É chamado por uma função que tem a cláusula de restrição restrict(amp). |
| global_memory_fence | Bloqueia a execução de todos os threads em um tile até que todos os acessos à memória global tenham sido concluídos. |
| Função parallel_for_each (C++ AMP) | Executa uma função no domínio de computação. |
| tile_static_memory_fence | Bloqueia a execução de todos os threads em um tile até que os acessos de memória tile_static tenham sido concluídos. |
Constantes
| Nome | Descrição |
|---|---|
| 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. Esse valor deve ser o mesmo no compilador e no runtime. |
Requisitos
Cabeçalho: amp.h