array (Clase)
Representa un contenedor de datos que se utiliza para mover datos a un acelerador.
template <
typename _Value_type,
int _Rank
>
friend class array;
Parámetros
_Value_type
El tipo elemento de los datos._Rank
El rango de la matriz.
Members
Constructores públicos
Nombre |
Descripción |
---|---|
Inicializa una nueva instancia de la clase array. |
|
Destruye el objeto array. |
Métodos públicos
Nombre |
|
---|---|
Copia el contenido de la matriz en otra matriz. |
|
Devuelve un puntero a los datos sin formato de la matriz. |
|
Devuelve el objeto accelerator_view que representa la ubicación en la que se asigna la matriz.Sólo se puede acceder a esta propiedad en la CPU. |
|
Consigue el segundo objeto accelerator_view que se pasa como parámetro al llamar a un constructor provisional para crear instancias del objeto array. |
|
Devuelve el objeto extent de la matriz. |
|
Devuelve una matriz unidimensional que contiene todos los elementos en el objeto array. |
|
Devuelve una subsección del objeto array que está en el origen especificado y que, opcionalmente, tiene la extensión especificada. |
|
Devuelve un objeto array_view que se construye desde el objeto array. |
Operadores públicos
Nombre |
|
---|---|
Utiliza copy(*this, vector) para convertir implícitamente la matriz en un objeto vector del vector. |
|
Devuelve el valor del elemento especificado por los parámetros. |
|
Devuelve el elemento que está en el índice especificado. |
|
Copia el contenido del objeto especificado array en éste. |
Constantes públicas
Nombre |
|
---|---|
Almacena el rango de matriz.. |
Miembros de datos públicos
Nombre |
|
---|---|
Obtiene el objeto accelerator_view que representa la ubicación donde la matriz está asignada.Sólo se puede acceder a esta propiedad en la CPU. |
|
Obtiene el segundo objeto accelerator_view que se pasa como parámetro al llamar a un constructor provisional para crear instancias del objeto array. |
|
Consigue la extensión que define la forma de la matriz. |
Comentarios
El tipo array<T,N> representa matriz dimensional densa y regular (no escalonada) N que se encuentra en una ubicación específica, tal como un acelerador o la CPU.El tipo de datos de los elementos de la matriz es T, que deben ser de un tipo compatible con el acelerador de destino.Aunque el rango, N de la matriz se determina estáticamente y forma parte del tipo, la extensión de la matriz se determina por el tiempo de ejecución y se expresa mediante la clase extent<N>.
Una matriz puede tener cualquier número de dimensiones, aunque alguna funcionalidad está especializada en los objetos array con rango uno, dos y tres.Si se omite el argumento de la dimensión, el valor predeterminado es 1.
Los datos de la matriz se almacenan de forma contigua en la memoria.Los elementos que difieran en uno en la dimensión menos significativa están adyacentes en la memoria.
Las matrices se consideran lógicamente tipos de valor, porque cuando una matriz se copia en otra matriz, se realiza una copia en profundidad.Dos matrices nunca señalan a los mismos datos.
Se usa el tipo array<T,N> en varios escenarios:
Como contenedor de datos que puede ser utilizado en cálculos en un acelerador.
Como contenedor de datos para mantener la memoria en el CPU del host (que se puede utilizar para copiar en otras y desde otras matrices).
Como objeto provisional para que actúe como intermediario rápido en copias del host al dispositivo.
Jerarquía de herencia
array
Requisitos
Encabezado: amp.h
Espacio de nombres: Simultaneidad