info@panadisplay.com
Processament de fluxos de tecnologia gràfica Intel i GPUs d'ús general (GPGPU)

Processament de fluxos de tecnologia gràfica Intel i GPUs d'ús general (GPGPU)

Mar 12, 2019

Cada vegada és més habitual utilitzar una unitat de processament de gràfics de propòsit general (GPGPU) com a forma modificada del processador de flux (o un processador vectorial), executant nuclis de computació. Aquest concepte converteix el poder computacional massiu de la canonada shader d’un accelerador de gràfics moderns en potència de computació d’usos generals, en lloc de ser durament connectat únicament per fer operacions gràfiques. En determinades aplicacions que requereixen operacions vectorials massives, això pot produir diverses ordres de magnitud més altes que un CPU convencional. Els dos discrets més grans (vegeu les "Targetes gràfiques dedicades" més amunt) Els dissenyadors de GPU, AMD i Nvidia, comencen a seguir aquest enfocament amb una sèrie d'aplicacions. Tant Nvidia com AMD s'han unit amb la Universitat de Stanford per crear un client basat en GPU per al projecte de computació distribuïda Folding home, per a càlculs de plegat de proteïnes. En determinades circumstàncies, la GPU calcula quaranta vegades més ràpid que les CPU convencionals tradicionalment utilitzades per aquestes aplicacions.


GPGPU es pot utilitzar per a molts tipus de tasques vergonyoses paral·leles, incloent el traçat de raigs. Generalment s'adapten als càlculs de tipus de gran rendiment que presenten un paral·lelisme de dades per explotar l'arquitectura SIMD d'ample de vector ampla de la GPU.


A més, els ordinadors d'alt rendiment basats en GPU estan començant a jugar un paper important en la modelització a gran escala. Tres de les 10 supercomputadores més potents del món s'aprofiten de l'acceleració de la GPU.


GPU dóna suport a les extensions de l'API al llenguatge de programació C, com ara OpenCL i OpenMP. A més, cada proveïdor de GPU va presentar la seva pròpia API que només funciona amb les seves targetes, AMD APP SDK i CUDA d’AMD i Nvidia, respectivament. Aquestes tecnologies permeten executar funcions especificades anomenades nuclis de càlcul d'un programa C normal en els processadors de flux del GPU. Això fa possible que els programes C aprofitin la capacitat de la GPU per operar en memòries amples de grans dimensions en paral·lel, mentre segueix utilitzant la CPU quan sigui apropiat. CUDA és també la primera API que permet a les aplicacions basades en la CPU accedir directament als recursos d'una GPU per a una computació de propòsit general sense les limitacions d'utilitzar una API de gràfics.


Des del 2005 hi ha hagut interès a utilitzar el rendiment ofert per les GPU per a la computació evolutiva en general i per accelerar l’avaluació de l’aptitud en la programació genètica en particular. La majoria dels enfocaments recopilen programes lineals o d'arbre al PC amfitrió i transfereixen l’executable a la GPU que s’executarà. Normalment, l’avantatge del rendiment només s’obté executant el programa únic actiu simultàniament en molts exemples de problemes en paral·lel, utilitzant l'arquitectura SIMD de la GPU. [68] [69] Tanmateix, també es pot obtenir una acceleració substancial si no es recullen els programes i, en canvi, els transfereixen a la GPU, per interpretar-los. L'acceleració es pot obtenir mitjançant la interpretació simultània de múltiples programes, executant simultàniament problemes d'exemple múltiples o combinacions d'ambdós. Una GPU moderna pot interpretar fàcilment simultàniament centenars de milers de programes molt petits.


Algunes GPU de les estacions de treball modernes, com les targetes d’estació de treball de Nvidia Quadro que utilitzen les arquitectures Volta i Turing, disposen de nuclis de processament dedicats a aplicacions d'aprenentatge profundes basades en tensors. A la sèrie actual de GPU de Nvidia, aquests nuclis es denominen Tensor Cores. Aquestes GPU solen tenir increments significatius en el rendiment de FLOPS, utilitzant la multiplicació i la divisió de matrius 4x4, el que resulta en un rendiment de maquinari de fins a 128 TFLOPS en algunes aplicacions. Aquests nuclis de tensor també se suposa que apareixen en targetes de consum que executen l'arquitectura de Turing, i possiblement en la sèrie de targetes de consum de Navi d'AMD.