domenica 2 dicembre 2007

GPGPU

GPGPU - Wikipedia: "La GPGPU (General Purpose computation using GPU) è un recente settore della ricerca che ha come scopo l'uso del processore della scheda grafica per scopi diversi dalla creazione di un'immagine tridimensionale. Tale procedimento è reso possibile grazie alla programmabilità delle schede grafiche più recente, che va sotto il nome di Shader model. Il processo di creazione di un'immagine tridimensionale consta dei seguenti punti: 1. definizione dei punti (o triangoli) da disegnare 2. trasformazione delle coordinate dei punti 3. interpolazione dei punti per creare una figura 4. colorazione dei pixel della figura che risultano visibili Grazie agli shaders è possibile istruire la GPU (Graphics Processing Unit) su come comportarsi nella fase di trasformazione dei punti (Vertex shader) e nella fase di colorazione dei pixel (Pixel shader). Per poter implementare un motore GPGPU bisogna astrarre una macchina di Turing equivalente dall'architettura della GPU. Innanzitutto bisogna fare in modo che gli Shaders possano leggere dei dati in input. Per risolvere questo problema si può pensare di scrivere i dati in input in delle texture e farle campionare dagli shaders. Ovviamente bisognerà creare delle buone funzioni di indirizzamento in grado di tradurre le coordinate di indirizzamento (solitamente degli interi) nelle coordinate di campionamento delle texture"

Nessun commento: