X hits on this document

115 views

0 shares

0 downloads

0 comments

14 / 35

10

Ing. Danis Lo´pez Naranjo, Dr. C. Jose´ Herna´ndez Palancar

Tabla 5. Acceso a

memoria usando CUDA

Permiso

Grupo

Lectura y escritura

Hilos de ejecucio´n

Lectura y escritura

Hilos de ejecucio´n

Acceso Registros

Memoria local

Lectura y escritura Lectura y escritura Lectura Lectura

Bloques de hilos Memoria compartida

Redes de Bloques Memoria de textura

Redes de Bloques Redes de Bloques

Memoria Global Memoria constante

2.6.1.2.

Implementacio´n

del dispositivo

fı´sico

Estos dispositivos son implementados respetando el paradigma de programacio´n paralela Unica Instruccion, Multiples Datos o SIMD (Simgle Instruction, Multiple Data) como lo muestra la siguiente figura. Cada multiprocesador cuenta con un chip de memoria de los siguientes tipos:

  • 1.

    Un conjunto de registros locales de 32-bit por procesadores.

  • 2.

    La memoria cache´ de los datos paralelos o memoria compartida que esta´ disponible

por todos los procesos e implementan los espacios de memoria compartida.

3. Una memoria cache´ constante de solo lectura que es compartida por todos los proce- sadores y aceleradores de lectura del espacio de la memoria constante, que se implementa como una lectura u´nica de la regio´n del dispositivo de memoria.

2.6.1.3.

Capacidad

d e c o´ m p u t o

La capacidad informa´tica de un dispositivo se define por un nu´mero de revisio´n de mayor y menor importancia. Los dispositivos con el mismo nu´mero de revisiones ma´s importantes son de la misma arquitectura de nu´cleo. Los productos enumerados en la tabla 6 son todos de la capacidad de calcular 1.x (de su mayor nu´mero de revisio´n es 1). El nu´mero menor de la revisio´n corresponde a una mejora progresiva de la arquitectura del nu´cleo, que pueden incluir nuevas caracterı´sticas.

2.6.1.4.

Operacionesato´micas

Con el fin de sincronizar todos los procesos paralelos y asegurar la exactitud de algoritmos paralelos, CUDA ofrece operaciones ato´micas tales como: incremento, decremento, o el intercambio entre otras operaciones. Desde la versio´n de CUDA 1.3 hasta la versio´n actual permiten las operaciones ato´micas en un multiprocesador o SM (Streamer Multiprocessor), por ejemplo, algunos procesos paralelos comparten una lista como un recurso comu´n con concurrencias como leer y escribir desde la lista, puede ser necesariamente ato´mico el incremento de un contador para el nu´mero de entradas de la lista. La atomicidad implica, en este caso, los dos requisitos siguientes: Si dos o ma´s hilos incrementan el contador de la lista, a continuacio´n, [1] lucha contra el valor despue´s de todos los incrementos concurrentes debe ser equivalente a la del valor de antes ma´s el nu´mero de operaciones de incremento concurrente. Y en [21] cada uno de los hilos concurrentes debe obtener un

Document info
Document views115
Page views115
Page last viewedSat Jan 21 08:57:15 UTC 2017
Pages35
Paragraphs855
Words14967

Comments