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.
Um acelerador é uma funcionalidade de hardware otimizada para computação paralela de dados. Um acelerador pode ser um dispositivo anexado 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 |
|---|---|
| Construtor acelerador | Inicializa uma nova instância da classe accelerator. |
| ~Destruidor do acelerador | Destrói o objeto accelerator. |
Métodos públicos
| Nome | Descrição |
|---|---|
| create_view | Cria e retorna um objeto accelerator_view neste acelerador. |
| get_all | Retorna um vetor de objetos accelerator que representam todos os aceleradores disponíveis. |
| get_auto_selection_view | Retorna a seleção automática accelerator_view. |
| get_dedicated_memory | Retorna a memória dedicada para o accelerator em quilobytes. |
| get_default_cpu_access_type | Retorna o access_type padrão para buffers criados nesse acelerador. |
| get_default_view | Retorna o objeto accelerator_view padrão associado ao accelerator. |
| get_description | Retorna uma descrição breve do dispositivo accelerator. |
| get_device_path | Retorna o caminho do dispositivo. |
| get_has_display | Determina se accelerator está anexado a uma exibição. |
| get_is_debug | Determina se o accelerator tem a camada DEBUG habilitada para relatórios de erros extensivos. |
| get_is_emulated | Determina se o accelerator é emulado. |
| get_supports_cpu_shared_memory | Determina se o accelerator possui suporte à memória compartilhada |
| get_supports_double_precision | Determina se accelerator está anexado a uma exibição. |
| get_supports_limited_double_precision | Determina se o accelerator possui suporte limitado para matemática de precisão dupla. |
| get_version | Retorna a versão do accelerator. |
| 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 esse objeto accelerator com outro e retorna false se forem iguais; caso contrário, retornará true. |
| operador = | Copia o conteúdo do objeto accelerator especificado para este objeto. |
| operator== | Compara esse objeto accelerator com outro e retorna true se forem iguais; caso contrário, retornará 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 quilobytes. |
| default_accelerator | Obtém uma constante de cadeia de caracteres para o accelerator padrão. |
| 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 accelerator_view padrão associado à accelerator. |
| descrição | Obtém uma breve descrição do dispositivo accelerator. |
| device_path | Obtém o caminho do dispositivo. |
| direct3d_ref | Obtém uma constante de cadeia de caracteres para um accelerator de referência Direct3D. |
| direct3d_warp | Obtém a constante de cadeia de caracteres para um objeto accelerator que você pode usar para executar código C++ AMP em CPUs de vários núcleos que usam SSE (Extensões SIMD de Streaming). |
| has_display | Obtém um valor booliano que indica se accelerator está anexado a uma exibição. |
| is_debug | Indica se o accelerator tem a camada DEBUG habilitada para relatórios de erros extensivos. |
| is_emulated | Indica se accelerator é emulado. |
| supports_cpu_shared_memory | Indica se o accelerator possui suporte à memória compartilhada. |
| supports_double_precision | Indica se o acelerador dá suporte à matemática de precisão dupla. |
| supports_limited_double_precision | Indica se o acelerador possui suporte ilimitado à matemática de precisão dupla. |
| versão | Obtém a versão do accelerator. |
Hierarquia de herança
accelerator
Comentários
Um acelerador é uma funcionalidade de hardware otimizada 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 REF DirectX, 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 objeto accelerator enumerando os dispositivos disponíveis ou obtendo o dispositivo padrão, o dispositivo de referência ou o dispositivo WARP.
Requisitos
Cabeçalho: amprt.h
Namespace: Simultaneidade
~acelerador
Destrói o objeto accelerator.
~accelerator();
Valor de retorno
acelerador
Inicializa uma nova instância da classe accelerator.
accelerator();
explicit accelerator(const std::wstring& _Device_path);
accelerator(const accelerator& _Other);
Parâmetros
_Device_path
O caminho do dispositivo físico.
_Outro
O acelerador a ser copiado.
cpu_accelerator
Obtém uma constante de cadeia de caracteres para o acelerador de CPU.
static const wchar_t cpu_accelerator[];
create_view
Cria e retorna um objeto accelerator_view 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 objeto accelerator_view nesse acelerador usando o modo de enfileiramento especificado.
dedicated_memory
Obtém a memória dedicada para o accelerator em quilobytes.
__declspec(property(get= get_dedicated_memory)) size_t dedicated_memory;
default_accelerator
Obtém uma constante de cadeia de caracteres para o accelerator padrão.
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 a exibição do acelerador padrão associada ao accelerator.
__declspec(property(get= get_default_view)) accelerator_view default_view;
descrição
Obtém uma breve descrição do dispositivo accelerator.
__declspec(property(get= get_description)) std::wstring description;
device_path
Obtém o caminho do acelerador. O caminho é exclusivo 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 objeto accelerator que você pode usar para executar seu código C++ AMP em CPUs de vários núcleos que usem SSE (Extensões SIMD de Streaming).
static const wchar_t direct3d_warp[];
get_all
Retorna um vetor de objetos accelerator 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 runtime. Para todas as outras finalidades, 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 do accelerator_view.
get_dedicated_memory
Retorna a memória dedicada para o accelerator em quilobytes.
size_t get_dedicated_memory() const;
Valor de retorno
A memória dedicada para o accelerator em quilobytes.
get_default_cpu_access_type
Obtém o access_type da CPU padrão para buffers criados nesse acelerador
access_type get_default_cpu_access_type() const;
Valor de retorno
O access_type de CPU padrão para buffers criados nesse acelerador.
get_default_view
Retorna o objeto accelerator_view padrão associado ao accelerator.
accelerator_view get_default_view() const;
Valor de retorno
O objeto accelerator_view padrão associado ao accelerator.
get_description
Retorna uma descrição breve do dispositivo accelerator.
std::wstring get_description() const;
Valor de retorno
Uma breve descrição do dispositivo accelerator.
get_device_path
Retorna o caminho do acelerador. O caminho é exclusivo no sistema.
std::wstring get_device_path() const;
Valor de retorno
O caminho da instância do dispositivo exclusivo em todo o sistema.
get_has_display
Retorna um valor booliano que indica se o accelerator pode gerar saída para uma exibição.
bool get_has_display() const;
Valor de retorno
true se accelerator puder gerar saída para uma exibição; caso contrário, false.
get_is_debug
Determina se o accelerator tem a camada DEBUG habilitada para relatórios de erros extensivos.
bool get_is_debug() const;
Valor de retorno
true se accelerator tiver a camada DEBUG 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 for emulado. Caso contrário, false.
get_supports_cpu_shared_memory
Retorna um valor booliano que indica se o acelerador dá suporte à memória acessível tanto pelo acelerador quanto pela CPU.
bool get_supports_cpu_shared_memory() const;
Valor de retorno
true se o acelerador der suporte à memória compartilhada da CPU; caso contrário, false.
get_supports_double_precision
Retorna um valor booliano que indica se o acelerador dá suporte à matemática de precisão dupla, incluindo adição e multiplicação fundida (FMA), divisão, recíproca e conversão entre int e double
bool get_supports_double_precision() const;
Valor de retorno
true se o acelerador der suporte à matemática de precisão dupla; caso contrário, false.
get_supports_limited_double_precision
Retorna um valor booliano que indica se o acelerador possui suporte ilimitado à matemática de precisão dupla. Se o acelerador tiver apenas suporte limitado, então FMA (adição e multiplicação fundida), divisão, recíproco e conversão entre int e double não terão suporte.
bool get_supports_limited_double_precision() const;
Valor de retorno
true se o acelerador possuir suporte ilimitado à matemática de precisão dupla; caso contrário, false.
get_version
Retorna a versão do accelerator.
unsigned int get_version() const;
Valor de retorno
A versão do accelerator.
has_display
Obtém um valor booliano que indica se o accelerator pode gerar saída para uma exibição.
__declspec(property(get= get_has_display)) bool has_display;
is_debug
Obtém um valor booliano que indica se o accelerator tem a camada DEBUG habilitada para relatórios de erros extensivos.
__declspec(property(get= get_is_debug)) bool is_debug;
is_emulated
Obtém um valor booliano que indica se o accelerator é emulado.
__declspec(property(get= get_is_emulated)) bool is_emulated;
operator!=
Compara esse objeto accelerator com outro e retorna false se forem iguais; caso contrário, retornará true.
bool operator!= (const accelerator& _Other) const;
Parâmetros
_Outro
O objeto accelerator a ser comparado com este.
Valor de retorno
false se os dois objetos accelerator forem iguais, caso contrário, true.
operator=
Copia o conteúdo do objeto accelerator especificado para este objeto.
accelerator& operator= (const accelerator& _Other);
Parâmetros
_Outro
O objeto accelerator do qual copiar.
Valor de retorno
Uma referência a esse objeto accelerator.
operator==
Compara esse objeto accelerator com outro e retorna true se forem iguais; caso contrário, retornará false.
bool operator== (const accelerator& _Other) const;
Parâmetros
_Outro
O objeto accelerator a ser comparado com este.
Valor de retorno
true se o outro objeto accelerator for igual a este objeto accelerator; 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 runtime 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
_Caminho
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
Define o access_type de CPU padrão para matrizes criadas nesse acelerador ou para alocações de memória implícitas como parte de array_views acessados nesse 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 a esse método e o default_cpu_access_type selecionado pelo runtime para esse acelerador ainda não tiver sido usado para alocar uma matriz ou para uma alocação de memória implícita com 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
O access_type de CPU padrão a ser usado para alocações de memória de matriz/array_view nesse acelerador.
Valor de retorno
Um valor booliano que indica se o access_type de CPU padrão para o acelerador foi definido com êxito.
supports_cpu_shared_memory
Obtém um valor booliano que indica se o accelerator dá suporte à memória compartilhada.
__declspec(property(get= get_supports_cpu_shared_memory)) bool supports_cpu_shared_memory;
supports_double_precision
Obtém um valor booliano que indica se o acelerador dá suporte à 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 booliano que indica se o acelerador possui suporte ilimitado à matemática de precisão dupla. Se o acelerador tiver apenas suporte limitado, então FMA (adição e multiplicação fundida), divisão, recíproco e conversão entre int e double não terão suporte.
__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;