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.
Um acelerador é um recurso de hardware otimizado para computação paralela de dados. Um acelerador pode ser um dispositivo conectado a um barramento PCIe (como uma GPU) ou pode ser um conjunto de instruções estendido na CPU principal.
Sintaxe
class accelerator;
Membros
Construtores Públicos
| Nome | Descrição |
|---|---|
| accelerator Construtor | Inicializa uma nova instância da classe accelerator. |
| ~acelerador Destruidor | Destrói o accelerator objeto. |
Métodos Públicos
| Nome | Descrição |
|---|---|
| create_view | Cria e retorna um accelerator_view objeto neste acelerador. |
| get_all | Retorna um vetor de accelerator objetos que representam todos os aceleradores disponíveis. |
| get_auto_selection_view | Devolve a seleção accelerator_viewautomática . |
| get_dedicated_memory | Retorna a memória dedicada para o accelerator, em kilobytes. |
| get_default_cpu_access_type | Retorna o access_type padrão para buffers criados neste acelerador. |
| get_default_view | Retorna o objeto padrão accelerator_view associado ao accelerator. |
| get_description | Retorna uma breve descrição do accelerator dispositivo. |
| get_device_path | Retorna o caminho do dispositivo. |
| get_has_display | Determina se o está anexado accelerator a um monitor. |
| get_is_debug | Determina se a accelerator camada DEBUG está habilitada para relatórios de erros extensos. |
| get_is_emulated | Determina se o accelerator é emulado. |
| get_supports_cpu_shared_memory | Determina se o accelerator suporta memória compartilhada |
| get_supports_double_precision | Determina se o está anexado accelerator a um monitor. |
| get_supports_limited_double_precision | Determina se o accelerator tem suporte limitado para matemática de precisão dupla. |
| get_version | Retorna a versão do acceleratorarquivo . |
| set_default | Retorna o caminho do acelerador padrão. |
| set_default_cpu_access_type | Define o access_type de CPU padrão para matrizes e alocações de memória implícitas feitas neste accelerator. |
Operadores Públicos
| Nome | Descrição |
|---|---|
| operador!= | Compara este accelerator objeto com outro e retorna false se forem os mesmos, caso contrário, retorna true. |
| operador= | Copia o conteúdo do objeto especificado accelerator para este. |
| operador== | Compara este accelerator objeto com outro e retorna true se forem os mesmos, caso contrário, retorna false. |
Membros de Dados Públicos
| Nome | Descrição |
|---|---|
| cpu_accelerator | Obtém uma constante de cadeia de caracteres para a CPU accelerator. |
| dedicated_memory | Obtém a memória dedicada para o accelerator, em kilobytes. |
| default_accelerator | Obtém uma constante de cadeia de caracteres para o padrão accelerator. |
| default_cpu_access_type | Obtém ou define o access_type de CPU padrão para matrizes e alocações de memória implícitas feitas neste accelerator. |
| default_view | Obtém o objeto padrão accelerator_view associado ao accelerator. |
| descrição | Obtém uma breve descrição do accelerator dispositivo. |
| device_path | Obtém o caminho do dispositivo. |
| direct3d_ref | Obtém uma constante de cadeia de caracteres para uma referência acceleratorDirect3D . |
| direct3d_warp | Obtém a constante de cadeia de caracteres para um accelerator objeto que você pode usar para executar código AMP C++ em CPUs multi-core que usam Streaming SIMD Extensions (SSE). |
| has_display | Obtém um valor booleano que indica se o está anexado accelerator a uma exibição. |
| is_debug | Indica se a accelerator camada DEBUG está habilitada para relatórios de erros extensos. |
| is_emulated | Indica se o accelerator é emulado. |
| supports_cpu_shared_memory | Indica se o accelerator suporta memória compartilhada. |
| supports_double_precision | Indica se o acelerador suporta matemática de precisão dupla. |
| supports_limited_double_precision | Indica se o acelerador tem suporte limitado para matemática de precisão dupla. |
| Versão | Obtém a versão do accelerator. |
Hierarquia de herança
accelerator
Observações
Um acelerador é um recurso de hardware otimizado para computação paralela de dados. Um acelerador geralmente é uma GPU discreta, mas também pode ser uma entidade virtual do lado do host, como um dispositivo DirectX REF, um WARP (um dispositivo do lado da CPU que é acelerado por meio de instruções SSE) ou a própria CPU.
Você pode construir um accelerator objeto enumerando os dispositivos disponíveis ou obtendo o dispositivo padrão, o dispositivo de referência ou o dispositivo WARP.
Requerimentos
Cabeçalho: amprt.h
Namespace: simultaneidade
~acelerador
Destrói o accelerator objeto.
~accelerator();
Valor de retorno
acelerador
Inicializa uma nova instância da classe aceleradora.
accelerator();
explicit accelerator(const std::wstring& _Device_path);
accelerator(const accelerator& _Other);
Parâmetros
_Device_path
O caminho do dispositivo físico.
_Other
O acelerador a copiar.
cpu_accelerator
Obtém uma constante de cadeia de caracteres para o acelerador da CPU.
static const wchar_t cpu_accelerator[];
create_view
Cria e retorna um accelerator_view objeto nesse acelerador, usando o modo de enfileiramento especificado. Quando o modo de enfileiramento não é especificado, o novo accelerator_view usa o modo de enfileiramento queuing_mode::immediate .
accelerator_view create_view(queuing_mode qmode = queuing_mode_automatic);
Parâmetros
qmode
O modo de enfileiramento.
Valor de retorno
Um novo accelerator_view objeto neste acelerador, usando o modo de enfileiramento especificado.
dedicated_memory
Obtém a memória dedicada para o accelerator, em kilobytes.
__declspec(property(get= get_dedicated_memory)) size_t dedicated_memory;
default_accelerator
Obtém uma constante de cadeia de caracteres para o padrão accelerator.
static const wchar_t default_accelerator[];
default_cpu_access_type
A CPU padrão access_type para matrizes e alocações de memória implícitas feitas neste accelerator.
__declspec(property(get= get_default_cpu_access_type)) access_type default_cpu_access_type;
default_view
Obtém o modo de exibição acelerador padrão associado ao accelerator.
__declspec(property(get= get_default_view)) accelerator_view default_view;
descrição
Obtém uma breve descrição do accelerator dispositivo.
__declspec(property(get= get_description)) std::wstring description;
device_path
Obtém o caminho do acelerador. O caminho é único no sistema.
__declspec(property(get= get_device_path)) std::wstring device_path;
direct3d_ref
Obtém uma constante de cadeia de caracteres para um acelerador de referência Direct3D.
static const wchar_t direct3d_ref[];
direct3d_warp
Obtém a constante de cadeia de caracteres para um accelerator objeto que você pode usar para executar seu código AMP C++ em CPUs multi-core usando Streaming SIMD Extensions (SSE).
static const wchar_t direct3d_warp[];
get_all
Retorna um vetor de accelerator objetos que representam todos os aceleradores disponíveis.
static inline std::vector<accelerator> get_all();
Valor de retorno
O vetor de aceleradores disponíveis
get_auto_selection_view
Retorna o accelerator_view de seleção automática, que quando especificado como o destino parallel_for_each resulta no accelerator_view de destino para executar o kernel parallel_for_each a ser selecionado automaticamente pelo tempo de execução. Para todos os outros fins, o accelerator_view retornado por esse método é o mesmo que o accelerator_view padrão do acelerador padrão
static accelerator_view __cdecl get_auto_selection_view();
Valor de retorno
A seleção automática accelerator_view.
get_dedicated_memory
Retorna a memória dedicada para o accelerator, em kilobytes.
size_t get_dedicated_memory() const;
Valor de retorno
A memória dedicada para o accelerator, em kilobytes.
get_default_cpu_access_type
Obtém o access_type de CPU padrão para buffers criados neste acelerador
access_type get_default_cpu_access_type() const;
Valor de retorno
A CPU padrão access_type para buffers criados neste acelerador.
get_default_view
Retorna o objeto padrão accelerator_view associado ao accelerator.
accelerator_view get_default_view() const;
Valor de retorno
O objeto padrão accelerator_view associado ao accelerator.
get_description
Retorna uma breve descrição do accelerator dispositivo.
std::wstring get_description() const;
Valor de retorno
Uma breve descrição do accelerator dispositivo.
get_device_path
Retorna o caminho do acelerador. O caminho é único no sistema.
std::wstring get_device_path() const;
Valor de retorno
O caminho de instância de dispositivo exclusivo em todo o sistema.
get_has_display
Retorna um valor booleano que indica se a accelerator saída pode para uma exibição.
bool get_has_display() const;
Valor de retorno
true se a lata accelerator sair para um display; caso contrário, false.
get_is_debug
Determina se a accelerator camada DEBUG está habilitada para relatórios de erros extensos.
bool get_is_debug() const;
Valor de retorno
true se a accelerator camada DEBUG estiver habilitada para relatórios de erros extensivos. Caso contrário, false.
get_is_emulated
Determina se o accelerator é emulado.
bool get_is_emulated() const;
Valor de retorno
true se o accelerator é emulado. Caso contrário, false.
get_supports_cpu_shared_memory
Retorna um valor booleano que indica se o acelerador suporta memória acessível pelo acelerador e pela CPU.
bool get_supports_cpu_shared_memory() const;
Valor de retorno
true se o acelerador suporta memória partilhada da CPU; caso contrário, false.
get_supports_double_precision
Retorna um valor booleano que indica se o acelerador suporta matemática de precisão dupla, incluindo adição de multiplicação fundida (FMA), divisão, recíproca e transmissão entre int e double
bool get_supports_double_precision() const;
Valor de retorno
true se o acelerador suportar matemática de precisão dupla; caso contrário, false.
get_supports_limited_double_precision
Retorna um valor booleano que indica se o acelerador tem suporte limitado para matemática de precisão dupla. Se o acelerador tiver apenas suporte limitado, então a adição de multiplicação fundida (FMA), divisão, recíproca e transmissão entre int e double não são suportadas.
bool get_supports_limited_double_precision() const;
Valor de retorno
true se o acelerador tiver suporte limitado para matemática de precisão dupla; caso contrário, false.
get_version
Retorna a versão do acceleratorarquivo .
unsigned int get_version() const;
Valor de retorno
A versão do accelerator.
has_display
Obtém um valor booleano que indica se a accelerator saída pode para uma exibição.
__declspec(property(get= get_has_display)) bool has_display;
is_debug
Obtém um valor booleano que indica se a accelerator camada DEBUG está habilitada para relatórios de erros extensos.
__declspec(property(get= get_is_debug)) bool is_debug;
is_emulated
Obtém um valor booleano que indica se o accelerator é emulado.
__declspec(property(get= get_is_emulated)) bool is_emulated;
operador!=
Compara este accelerator objeto com outro e retorna false se forem os mesmos, caso contrário, retorna true.
bool operator!= (const accelerator& _Other) const;
Parâmetros
_Other
O accelerator objeto a comparar com este.
Valor de retorno
false se os dois accelerator objetos forem os mesmos, caso contrário, true.
operador=
Copia o conteúdo do objeto especificado accelerator para este.
accelerator& operator= (const accelerator& _Other);
Parâmetros
_Other
O accelerator objeto do qual copiar.
Valor de retorno
Uma referência a isso accelerator objeto.
Operador==
Compara este accelerator objeto com outro e retorna true se forem os mesmos, caso contrário, retorna false.
bool operator== (const accelerator& _Other) const;
Parâmetros
_Other
O accelerator objeto a comparar com este.
Valor de retorno
true se o outro accelerator objeto for igual a este accelerator objeto, caso contrário, false.
set_default
Define o acelerador padrão a ser usado para qualquer operação que use implicitamente o acelerador padrão. Esse método só terá êxito se o acelerador padrão selecionado pelo tempo de execução ainda não tiver sido usado em uma operação que usa implicitamente o acelerador padrão
static inline bool set_default(std::wstring _Path);
Parâmetros
_Path
O caminho para o acelerador.
Valor de retorno
true se a chamada for bem-sucedida na configuração do acelerador padrão. Caso contrário, false.
set_default_cpu_access_type
Defina o access_type de CPU padrão para matrizes criadas neste acelerador ou para alocações de memória implícitas como parte de array_views acessado neste acelerador. Esse método só terá êxito se o default_cpu_access_type do acelerador ainda não tiver sido substituído por uma chamada anterior para esse método e o tempo de execução selecionado default_cpu_access_type para esse acelerador ainda não tiver sido usado para alocar uma matriz ou para uma alocação de memória implícita que dê suporte a um array_view acessado nesse acelerador.
bool set_default_cpu_access_type(access_type _Default_cpu_access_type);
Parâmetros
_Default_cpu_access_type
A CPU padrão access_type a ser usada para alocações de memória de matriz/array_view neste acelerador.
Valor de retorno
Um valor booleano que indica se a access_type de CPU padrão para o acelerador foi definida com êxito.
supports_cpu_shared_memory
Obtém um valor booleano que indica se o accelerator suporta memória compartilhada.
__declspec(property(get= get_supports_cpu_shared_memory)) bool supports_cpu_shared_memory;
supports_double_precision
Obtém um valor booleano que indica se o acelerador suporta matemática de precisão dupla.
__declspec(property(get= get_supports_double_precision)) bool supports_double_precision;
supports_limited_double_precision
Obtém um valor booleano que indica se o acelerador tem suporte limitado para matemática de precisão dupla. Se o acelerador tiver apenas suporte limitado, então a adição de multiplicação fundida (FMA), divisão, recíproca e transmissão entre int e double não são suportadas.
__declspec(property(get= get_supports_limited_double_precision)) bool supports_limited_double_precision;
versão
Obtém a versão do accelerator.
__declspec(property(get= get_version)) unsigned int version;