Partilhar via


Espaço de Nomes de Concorrência (C++ AMP)

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

Consulte também

Referência (C++ AMP)