14.04.2013 Views

Untitled - Departamento de Ciencias e Ingeniería de la Computación

Untitled - Departamento de Ciencias e Ingeniería de la Computación

Untitled - Departamento de Ciencias e Ingeniería de la Computación

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1 Introducción<br />

Antes <strong>de</strong> explicar que es un sha<strong>de</strong>r necesitamos enten<strong>de</strong>r cómo trabaja el pipeline gráfico y cómo ha evolucionado.<br />

La existencia <strong>de</strong> los sha<strong>de</strong>rs está altamente ligada a <strong>la</strong>s restricciones que imponían los pipeline gráficos <strong>de</strong> función<br />

fija, los pre<strong>de</strong>cesores a <strong>la</strong> era <strong>de</strong> los sha<strong>de</strong>rs. Enten<strong>de</strong>r el funcionamiento <strong>de</strong>l pipeline gráfico resulta indispensable<br />

para enten<strong>de</strong>r que son los sha<strong>de</strong>rs, como funcionan y como implementarlos.<br />

Este capítulo nos explicara entre otras cosas que es un pipeline grafico, cual es el objetivo <strong>de</strong> cada una <strong>de</strong> sus partes,<br />

que es un pipeline gráfico <strong>de</strong> función fija y porque existe <strong>la</strong> necesidad <strong>de</strong> <strong>de</strong>rivar a uno programable. Para lograr<br />

enten<strong>de</strong>r todo esto necesitamos complementar esta información con un repaso breve a <strong>la</strong> historia <strong>de</strong> <strong>la</strong>s GPUs y <strong>de</strong><br />

<strong>la</strong>s tecnologías surgidas en cada una <strong>de</strong> <strong>la</strong>s generaciones <strong>de</strong> estas GPUs.<br />

1.1 Pipeline gráfico<br />

En computación, un pipeline, es un conjunto <strong>de</strong> elementos o etapas que procesan datos. Estos elementos<br />

están conectados en serie y trabajan con el propósito <strong>de</strong> que <strong>la</strong> salida <strong>de</strong> uno <strong>de</strong> los elementos sea <strong>la</strong><br />

entrada <strong>de</strong>l próximo. El objetivo <strong>de</strong>l pipeline es ejecutar los elementos en paralelo para aumentar el<br />

<strong>de</strong>sempeño.<br />

El pipeline gráfico que explicaremos a continuación es una versión simplificada <strong>de</strong> un pipeline real, abstrayendo<br />

aspectos secundarios que podrían complicar el entendimiento <strong>de</strong>l mismo. Aun así, este pipeline representa el<br />

funcionamiento básico <strong>de</strong> <strong>la</strong> mayoría <strong>de</strong> los pipelines gráficos.<br />

La cantidad <strong>de</strong> etapas con <strong>la</strong>s que se representa un pipeline gráfico pue<strong>de</strong> variar <strong>de</strong>pendiendo <strong>de</strong>l autor. El que<br />

<strong>de</strong>scribiremos contiene 4 etapas principales:<br />

Veamos cada etapa <strong>de</strong> este pipeline en <strong>de</strong>talle:<br />

Página 5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!