Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Un acelerador es una funcionalidad de hardware optimizada para el procesamiento de datos en paralelo. Un acelerador puede ser un dispositivo conectado a un bus PCIe (por ejemplo, un procesador GPU) o puede ser un conjunto de instrucciones extendidas en la CPU principal.
Sintaxis
class accelerator;
Miembros
Constructores públicos
| Nombre | Descripción |
|---|---|
| Constructor de Accelerator | Inicializa una nueva instancia de la clase accelerator. |
| Destructor de ~accelerator | Destruye el objeto accelerator. |
Métodos públicos
| Nombre | Descripción |
|---|---|
| create_view | Crea y devuelve un objeto accelerator_view en este acelerador. |
| get_all | Devuelve un vector de accelerator objetos que representan todos los aceleradores disponibles. |
| get_auto_selection_view | Devuelve la selección automática accelerator_view. |
| get_dedicated_memory | Devuelve la memoria dedicada para el accelerator, en kilobytes. |
| get_default_cpu_access_type | Devuelve el access_type predeterminado de los búferes creados en este acelerador. |
| get_default_view | Devuelve el objeto accelerator_view predeterminado asociado con el accelerator. |
| descripcion_obtener | Devuelve una breve descripción del dispositivo accelerator. |
| get_device_path | Devuelve la ruta de acceso del dispositivo. |
| get_has_display | Determina si el accelerator está conectado a una pantalla. |
| get_is_debug | Determina si el accelerator tiene habilitada la capa DEBUG para información detallada de errores. |
| get_is_emulated | Determina si el accelerator se ha emulado. |
| get_supports_cpu_shared_memory | Determina si el accelerator admite la memoria compartida. |
| get_supports_double_precision | Determina si el accelerator está asociado a una pantalla. |
| get_supports_limited_double_precision | Determina si el accelerator tiene soporte limitado para cálculos matemáticos de doble precisión. |
| get_version | Devuelve la versión de accelerator. |
| set_default | Devuelve la ruta de acceso del acelerador predeterminado. |
| set_default_cpu_access_type | Establece el tipo de acceso de CPU predeterminado para arreglos y asignaciones de memoria implícitas realizadas en este accelerator. |
Operadores públicos
| Nombre | Descripción |
|---|---|
| operator!= | Compara este accelerator objeto con otro y devuelve false si son iguales; en caso contrario, devuelve true. |
| operator= | Copia el contenido del objeto especificado accelerator en este objeto. |
| operator== | Compara este accelerator objeto con otro y devuelve true si son iguales; en caso contrario, devuelve false. |
Miembros de datos públicos
| Nombre | Descripción |
|---|---|
| cpu_accelerator | Obtiene una constante de cadena para la variable de la CPU accelerator. |
| dedicated_memory | Obtiene la memoria dedicada para el accelerator, en kilobytes. |
| default_accelerator | Obtiene una constante de cadena de texto para el valor predeterminado accelerator. |
| default_cpu_access_type | Obtiene o establece el access_type de CPU predeterminado para matrices y asignaciones de memoria implícitas realizadas en este accelerator. |
| default_view | Obtiene el objeto predeterminado accelerator_view asociado a accelerator. |
| descripción | Obtiene una breve descripción del dispositivo accelerator. |
| device_path | Obtiene la ruta de acceso del dispositivo. |
| direct3d_ref | Obtiene una constante de cadena para una referencia accelerator de Direct3D. |
| direct3d_warp | Obtiene la constante de cadena para un objeto accelerator que puede usar para ejecutar código C++ AMP en CPUs multinúcleo que utilizan extensiones SIMD de streaming (SSE). |
| has_display | Obtiene un valor booleano que indica si el accelerator está asociado a una pantalla. |
| is_debug | Indica si accelerator tiene habilitada la capa DEBUG para informes extensos de errores. |
| is_emulated | Indica si el accelerator está emulado. |
| soporta_memoria_compartida_cpu | Indica si el accelerator admite la memoria compartida. |
| soporte_precision_doble | Indica si el acelerador admite cálculos matemáticos de doble precisión. |
| supports_limited_double_precision | Indica si el acelerador admite de forma limitada cálculos matemáticos de doble precisión. |
| versión | Obtiene la versión del accelerator. |
Jerarquía de herencia
accelerator
Comentarios
Un acelerador es una funcionalidad de hardware optimizada para el procesamiento de datos en paralelo. Un acelerador suele ser un procesador GPU discreto, pero también puede ser una entidad virtual en el lado host, como un dispositivo DirectX REF, un WARP (un dispositivo en el lado de la CPU que se acelera mediante instrucciones de SSE) o la propia CPU.
Puedes construir un objeto accelerator enumerando los dispositivos disponibles, o obteniendo el dispositivo predeterminado, el dispositivo de referencia o el dispositivo WARP.
Requisitos
Encabezado: amprt.h
Espacio de nombres: Concurrencia
~acelerador
Destruye el objeto accelerator.
~accelerator();
Valor devuelto
acelerador
Inicializa una nueva instancia de la clase acelerador.
accelerator();
explicit accelerator(const std::wstring& _Device_path);
accelerator(const accelerator& _Other);
Parámetros
_Device_path
Ruta de acceso del dispositivo físico.
_Other
El acelerador para copiar.
acelerador_de_CPU
Obtiene una constante de cadena del acelerador de la CPU.
static const wchar_t cpu_accelerator[];
crear_vista
Crea y devuelve un objeto accelerator_view usa el queuing_mode::immediate modo de puesta en cola.
accelerator_view create_view(queuing_mode qmode = queuing_mode_automatic);
Parámetros
qmode
Modo de puesta en cola.
Valor devuelto
Un nuevo objeto accelerator_view en este acelerador, mediante el modo de puesta en cola especificado.
memoria dedicada
Obtiene la memoria dedicada para el accelerator, en kilobytes.
__declspec(property(get= get_dedicated_memory)) size_t dedicated_memory;
acelerador_predeterminado
Obtiene una constante de cadena para el valor predeterminado accelerator.
static const wchar_t default_accelerator[];
tipo_de_acceso_a_la_cpu_predeterminado
El access_type predeterminado de la CPU para matrices y asignaciones de memoria implícitas realizadas en este accelerator.
__declspec(property(get= get_default_cpu_access_type)) access_type default_cpu_access_type;
vista_predeterminada
Obtiene la vista de acelerador predeterminada asociada con el accelerator.
__declspec(property(get= get_default_view)) accelerator_view default_view;
descripción
Obtiene una breve descripción del dispositivo accelerator.
__declspec(property(get= get_description)) std::wstring description;
ruta_del_dispositivo
Obtiene la ruta de acceso del acelerador. La ruta de acceso es única en el sistema.
__declspec(property(get= get_device_path)) std::wstring device_path;
direct3d_ref
Obtiene una constante de cadena para un acelerador de referencia de Direct3D.
static const wchar_t direct3d_ref[];
direct3d_warp
Obtiene la constante de cadena de un objeto que puede usar para ejecutar su código C++ AMP en CPUs multinúcleo mediante extensiones SIMD de streaming (SSE).
static const wchar_t direct3d_warp[];
get_all
Devuelve un vector de objetos accelerator que representan todos los aceleradores disponibles.
static inline std::vector<accelerator> get_all();
Valor devuelto
Vector de aceleradores disponibles
vista_selección_automática_obtener
Devuelve el objeto accelerator_view de selección automática, el cual cuando se especifica como destino de parallel_for_each da como resultado el objeto accelerator_view de destino para ejecutar el kernel de parallel_for_each que el entorno de ejecución va a seleccionar automáticamente. Para todos los demás fines, el objeto accelerator_view devuelto por este método es el mismo que el objeto accelerator_view predeterminado del acelerador predeterminado.
static accelerator_view __cdecl get_auto_selection_view();
Valor devuelto
Selección automática de accelerator_view.
get_dedicated_memory
Devuelve la memoria dedicada para accelerator, en kilobytes.
size_t get_dedicated_memory() const;
Valor devuelto
Memoria dedicada para el accelerator, en kilobytes.
get_default_cpu_access_type
Obtiene el tipo de acceso de CPU predeterminado para los búferes creados en este acelerador.
access_type get_default_cpu_access_type() const;
Valor devuelto
El valor predeterminado del access_type de CPU para los búferes creados en este acelerador.
get_default_view
Devuelve el objeto predeterminado accelerator_view asociado con el accelerator.
accelerator_view get_default_view() const;
Valor devuelto
El objeto accelerator_view predeterminado que está asociado a accelerator.
get_description
Devuelve una breve descripción del dispositivo accelerator.
std::wstring get_description() const;
Valor devuelto
Breve descripción del dispositivo accelerator.
get_device_path
Devuelve la ruta de acceso del acelerador. La ruta de acceso es única en el sistema.
std::wstring get_device_path() const;
Valor devuelto
Ruta de acceso única de la instancia del dispositivo en todo el sistema.
get_has_display
Devuelve un valor booleano que indica si el accelerator puede enviar una señal a una pantalla.
bool get_has_display() const;
Valor devuelto
true si el accelerator puede generar salida a una pantalla; en caso contrario, false.
get_is_debug
Determina si el accelerator tiene habilitada la capa DEBUG para informes extensos de errores.
bool get_is_debug() const;
Valor devuelto
true si el accelerator tiene habilitada la capa DEBUG para informes extensivos de errores. En caso contrario, false.
get_is_emulated (obtener_si_se_emula)
Determina si el accelerator está emulado.
bool get_is_emulated() const;
Valor devuelto
true si el accelerator está emulado. En caso contrario, false.
get_supports_memoria_compartida_cpu
Devuelve un valor booleano que indica si el acelerador admite una memoria accesible para el acelerador y la CPU.
bool get_supports_cpu_shared_memory() const;
Valor devuelto
si el acelerador admite memoria compartida de CPU; de lo contrario, .
obtener_admite_doble_precisión
Devuelve un valor booleano que indica si el acelerador admite cálculos matemáticos de doble precisión, incluidas las operaciones de suma y multiplicación fusionadas (FMA), la división, el recíproco y la conversión entre int y double.
bool get_supports_double_precision() const;
Valor devuelto
true si el acelerador admite cálculos matemáticos de doble precisión; en caso contrario, false.
get_supports_limited_double_precision
Devuelve un valor booleano que indica si el acelerador admite de forma limitada cálculos matemáticos de doble precisión. Si el acelerador solo ofrece soporte limitado, entonces no se admitirán las operaciones de multiplicación y suma fusionadas (FMA), división, recíproca y la conversión entre int y double.
bool get_supports_limited_double_precision() const;
Valor devuelto
true si el acelerador admite de forma limitada cálculos matemáticos de doble precisión; en caso contrario, false.
obtener_versión
Devuelve la versión del accelerator.
unsigned int get_version() const;
Valor devuelto
La versión del accelerator.
tiene_pantalla
Obtiene un valor Booleano que indica si accelerator puede enviar salida a una pantalla.
__declspec(property(get= get_has_display)) bool has_display;
is_debug
Obtiene un valor booleano que indica si el accelerator tiene habilitada la capa DEBUG para informes de errores extensos.
__declspec(property(get= get_is_debug)) bool is_debug;
es_emulado
Obtiene un valor booleano que indica si el accelerator está emulado.
__declspec(property(get= get_is_emulated)) bool is_emulated;
operator!=
Compara este accelerator objeto con otro y devuelve false si son iguales; en caso contrario, devuelve true.
bool operator!= (const accelerator& _Other) const;
Parámetros
_Other
El objeto accelerator para comparar con este.
Valor devuelto
false es si los dos acelerador objetos son iguales; de lo contrario, true es.
operador =
Copia el contenido del objeto especificado accelerator en este objeto.
accelerator& operator= (const accelerator& _Other);
Parámetros
_Other
El objeto accelerator desde el que se va a copiar.
Valor devuelto
La referencia a este objeto accelerator.
operator==
Compara este accelerator objeto con otro y devuelve true si son iguales; en caso contrario, devuelve false.
bool operator== (const accelerator& _Other) const;
Parámetros
_Other
Objeto accelerator que se va a comparar con este.
Valor devuelto
true si el otro objeto accelerator es el mismo que este objeto accelerator; en caso contrario, false.
set_default
Establece el acelerador predeterminado que se usará para cualquier operación que use implícitamente este acelerador. Este método solo se realiza correctamente si el acelerador predeterminado seleccionado del entorno de ejecución aún no se ha usado en una operación que use implícitamente dicho acelerador predeterminado.
static inline bool set_default(std::wstring _Path);
Parámetros
_Ruta
Ruta de acceso al acelerador.
Valor devuelto
true si la llamada se realiza correctamente al establecer el acelerador predeterminado. En caso contrario, false.
establecer_tipo_de_acceso_predeterminado_para_cpu
Establezca el tipo de acceso predeterminado de la cpu para los arreglos creados en este acelerador o para las asignaciones de memoria implícitas como parte de las vista_de_arreglos a las que se accede en este acelerador. Este método solo se realiza correctamente si el valor de default_cpu_access_type del acelerador no se ha invalidado mediante una llamada anterior a este método y el valor de default_cpu_access_type del entorno de ejecución seleccionado para este acelerador aún no se ha usado para asignar una matriz o una asignación de memoria implícita que respalde una array_view a la que se ha tenido acceso en este acelerador.
bool set_default_cpu_access_type(access_type _Default_cpu_access_type);
Parámetros
_Default_cpu_access_type
El tipo de acceso CPU predeterminado que se usará para las asignaciones de memoria de array o array_view en este acelerador.
Valor devuelto
Un valor booleano que indica si el tipo de acceso predeterminado de la CPU para el acelerador se ha establecido correctamente.
admite memoria compartida de cpu
Obtiene un valor Booleano que indica si accelerator admite la memoria compartida.
__declspec(property(get= get_supports_cpu_shared_memory)) bool supports_cpu_shared_memory;
soporta_doble_precisión
Obtiene un valor booleano que indica si el acelerador admite cálculos matemáticos de doble precisión.
__declspec(property(get= get_supports_double_precision)) bool supports_double_precision;
admite_precision_doble_limitada
Obtiene un valor booleano que indica si el acelerador admite de forma limitada cálculos matemáticos de doble precisión. Si el acelerador solo ofrece soporte limitado, entonces no se admitirán las operaciones de multiplicación y suma fusionadas (FMA), división, recíproca y la conversión entre int y double.
__declspec(property(get= get_supports_limited_double_precision)) bool supports_limited_double_precision;
Versión
Obtiene la versión del accelerator.
__declspec(property(get= get_version)) unsigned int version;
Consulte también
Espacio de nombres Concurrency (C++ AMP)