X hits on this document

79 views

0 shares

0 downloads

0 comments

12 / 35

280

[2]

237

[2]

258

[2]

282

[2]

200

[15]

200

[15]

300

-

300

-

300

-

300

-

Add

296

8

Multiply

611

9

Divide

1499

57

Square Root

822

57

Exponential

1022

30

Logarithm

1561

30

PE support logic

82

-

BFT T-Switchbox

48

2

BFT Pi-Switchbox

64

2

BFT Pi-Switchbox

64

2

8

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

Tabla 4. FPGA Cost Model publicada en [24] Area(Slices) Latency(clocks) Speed Ref

Los autores de [24] son capaces de demostrar que los FPGAs superan todas las otras arquitecturas para dispositivos peque˜nos como, la altamente optimizada arquitectura per- sonalizada VLIW que puede hacer un uso eficiente de los limitados recursos de las FPGAs. Para dispositivos ma´s grandes, las GPU son capaces de proporcionar un rendimiento supe- rior debido a menores gastos generales de programacio´n y el mayor operador de paralelismo.

2.6.

Modelo de

programacio´n

La principal caracterı´stica de la GPU es que no es un procesador en serie, tambie´n conocido como arquitectura de von Neumann (von Neumann 1945), pero sı´ pertenecen al grupo de los procesadores de flujos o stram-processor, que se diferencian ligeramente por la ejecucio´n de una funcio´n en un conjunto de registros de entrada produciendo un conjunto de archivos en paralelo. Estos procesadores se refieren a esta funcio´n como un mo´dulo central de un sistema o kernel y al conjunto de registro como un flujo.

El modelo ba´sico de programacio´n de la GPUs es a trave´s de los hilos de ejecucio´n o threads en paralelo. Estos hilos de ejecucio´n no son ma´s que ligeros procesos que son fa´ciles de crear y sincronizar a diferencia de los procesos de la Unidad de Procesamiento Central

  • o

    CPU (Central Processing Unit).

La biblioteca de programacio´n CUDA contiene funciones de la API para crear un gran nu´mero de hilos en la GPU, cada uno de los cuales ejecuta una funcio´n llamada funcio´n de nu´cleo (kernel function). Las funciones del nu´cleo que se ejecutan en paralelo en la GPU se definen en una sintaxis extendida del lenguaje de programacio´n C. Las funciones del nu´cleo esta´n restringidas con respecto a la funcionalidad (por ejemplo, sin recursio´n).

2.6.1. CUDA

Los programas desarrollados para ser ejecutados por la GPU, eran implementados en lenguajes de bajo nivel o se necesitaba un amplio conocimiento de programacio´n avan- zada y bibliotecas de librerı´as gra´ficas para implementarlos en lenguajes de alto nivel. Por lo tedioso y complicado que resultaba el desarrollo de estos programas, los desarrolladores de NVIDIA crearon una nueva tecnologı´a denominada NVIDIA CUDA (Compute Unified Device Architecture), siendo esta el u´nico entorno de programacio´n en C que aprovecha la gran capacidad de procesamiento de las GPU para resolver los diversos problemas de ca´lculos complejos y de mayor carga computacional, sin necesidad de mapear a una API

Document info
Document views79
Page views79
Page last viewedWed Dec 07 14:42:16 UTC 2016
Pages35
Paragraphs855
Words14967

Comments