AMD FireStreamAMD Firestream è una tecnologia sviluppata da ATI, creata per sfruttare lo stream processing/GPGPU (General Purpose computation using GPU) per pesanti computazioni sui numeri in virgola mobile utili a numerose applicazioni, come la High Performance Computing (HPC), di natura scientifica, e di natura finanziaria. Questa tecnologia era precedentemente un brand sia di ATI che di AMD, e fu chiamata rispettivamente ATI FireStream e AMD Stream Processor. Una scheda AMD Firestream può essere inoltre usata come un coprocessore capace di eseguire operazioni in virgola mobile atte a diminuire il carico di lavoro della CPU, che è parte anche dell'iniziativa Torrenza, prodotta sempre dalla stessa AMD. DescrizioneFin dalla pubblicazione della generazione passata di GPU Radeon R520 e GeForce 7, il rendimento dell'architettura Shader programmabile con grandi numeri in virgola mobile ha avuto molte attenzioni dai gruppi commerciali e accademici, principalmente per la loro abilità nel processare dati oltre il loro uso originale di rendering di effetti visuali. Grazie al loro potenziale, molte risorse sono state investite nello sviluppo di prodotti GPGPU - responsabili di calcoli generali di formule matematiche - per processare pesanti calcoli che prima erano eseguiti nei server mainstream, CPU desktop, e specializzati coprocessori di numeri in virgola mobile. Le GPGPU sono proiettate nell'avere in futuro performance 10 volte superiori a parità di input rispetto a software eseguiti solo dalla CPU. GPGPU simili sono apparse anche nel 2000. BionicFX sperimentò come processare dati audio con una GeForce 6008, annunciando il framework Audio Video EXchange (AVEX), con performance simili a quelle ATI. Un altro esempio è il Folding@Home, un programma di ricerca dalla Stanford University. Questo è stato il primo software a usare la GPU Radeon R580 e altre GPU ATI, equipaggiate con una speciale versione beta dei driver Catalyst (versione 6.5), e a eseguire operazioni computazionali slegate dalla grafica. Dal maggio 2006, le GPU sono state usate per accelerare la simulazione del ripiegamento di proteine per investigare sulle malattie relative alle proteine. In questo periodo, la ATI è stata inattiva a pianificare gli sviluppi futuri. Il 15 novembre con l'acquisizione della ATI completa, AMD annuncia ufficialmente la ricostruzione del marchio e annuncia la AMD Stream Processor (originariamente nota come ATI FireStream), divenendo così la prima industria a fornire soluzioni hardware di questo tipo. Basato sulla Radeon X1900, la Stream Processor di AMD è una scheda specializzata che implementa la GPU R580. Tuttavia, venne utilizzata in complessi calcoli di numeri in virgola mobile usati in campo scientifico e finanziario invece che come acceleratore grafico 3D. AMD sostiene che questo processore è 8 volte più performante nei calcoli virgola mobile rispetto a una tradizionale elaborazione grafica. In effetti, ATI ha profuso particolare attenzione nella ricerca e sviluppo (R&S) di prodotti GPGPU prima di essere acquisita da AMD, e annunciò l'adozione del progetto stream processing/GPGPU in linea con le GPU del 2006, nominate Radeon R580. Il marchio fu dapprima rinominato come AMD FireStream con la seconda generazione di processori Stream (basati sul processo a 55 nm), messi in commercio in data 8 novembre 2007. Piani futuri includono lo sviluppo in un modulo MXM, progettato per applicazioni embedded e future generazioni di prodotti nella seconda metà del 2008. HardwareLa serie Radeon sono processori vettoriali a 32 bit in singola precisione. Grazie all'elevato parallelismo dei processori vettoriali, questi hanno avuto un elevato impatto in applicazioni di data processing. Il progetto di massa Folding@Home ha riportato incrementi prestazionali da 20 a 40 volte superiori usando una scheda grafica basata su chipset R580. La Radeon R580 include un totale di 48 pixel e vertex shaders, che diventano processori paralleli nei calcoli in virgola mobile. La ATI FireStream utilizza un'interfaccia PCI Express x16 per ottenere una banda di 8 GiB/s. La scheda è equipaggiata con 1 GB di memoria GDDR3 mentre la scheda viaggia ad una frequenza di 600 MHz di core e 1.3 GHz di memoria. La scheda ha l'abilità di eseguire 512 threads simultaneamente (multitreading simultaneo, SMT), con un TDP di 165 Watt. La differenza principale tra il FireStream e una scheda grafica Radeon ordinaria è che il processore stream difetta di connettori video. L'hardware Stream Processing utilizza un'interfaccia chiamata THIN (Thin Hardware Interface), oppure Close to Metal (CTM, chiamato precedentemente Data Parallel Virtual Machine), per ampliare l'architettura GPU in addizione al set di istruzioni native utilizzate dai programmatori. Queste permettono di ottenere il diretto controllo dei processori Stream/ALU e dei Controller di memoria, e permettono di bypassare le API 3D. La linea di sviluppo AMD prevede un aggiornamento alle ultime architetture GPU (Radeon R600) con la commercializzazione dell'ultima generazione di schede video FireGL (7 agosto 2007), che sono dotate di processori stream. L'architettura è stata concepita con uno processo produttivo a 80 nm, come la R580, con maggiore numero di processori paralleli e unità stream processing. In aggiunta, la memoria GDDR4 è stata incrementata a 2 GB, con un massimo di 128 GiB/s di banda. I prodotti FireGL basati sul core R600 XTX (FireGL V8600 e FireGL V8650) consumano molto di più rispetto a una ATI Firestream di prima generazione, con un TPD stimato rispettivamente sotto i 225 W e oltre i 255 W. La seconda generazione, la AMD FIreStream 9170, è basata su chipset RV670 e realizzata con processo produttivo a 55 nm. Le sue caratteristiche principali sono di essere la prima GPU a supportare calcoli con numeri a doppia precisione, DMA asincrono (che permette ai processori e alla memoria di scambiare dati senza l'intervento della CPU), funzionalità di memory export, e consumi ridotti (meno di 150 W con 2 GB GDDR3 in un'interfaccia PCI-E 2.0, con 16 GiB/s di banda). L'ultima generazione della linea AMD FireStream sono la FireStream 9250 e la FireStream 9270. La AMD FireStream 9250, annunciata il 16 giugno 2008, è basata su chipset RV770 ed è realizzata con processo produttivo a 55 nm. Le caratteristiche tecniche riportano 1 TFLOPS di potenza con operazioni numeriche a singola precisione, 1 GB di GDDR3 e un dissipatore a slot singolo. Mentre la sua variante, la AMD FireStream 9270, annunciata il 13 novembre 2008, basata su chipset RV770 con un altissimo numero di operazioni a virgola mobile con picco di 1.2 TFLOPS, monta 2 GB di GDDR5 e un dissipatore a doppio slot. Linea di sviluppo AMDLe specifiche hardware degli stream processor distribuiti da AMD (e precedentemente da ATI) sono riassunte di seguito:
Note:
SoftwareUna delle prime ditte a supportare FireStream è stata PeakStream (acquisita da Google nel 2007, in giugno), che è stata la prima a realizzare un'aperta versione beta del software supportando CTM e FireStream oltre a x86 e Cell (Cell Broadband Engine). FireStream è stata acclamata per essere 20 volte più veloce utilizzando una comune applicazione rispetto a una regolare CPU dopo aver eseguito il software PeakStream. RapidMind inoltre ha provveduto a realizzare un software stream processing funzionante con ATI e NVIDIA, oltre che per il processore Cell. Software Development KitLa prima release dell'SDK (v1.0) fu pubblicata nel dicembre 2007, sotto licenza AMD EULA, per essere eseguita sotto Windows XP. Il software includeva "Brook+", una versione riveduta e corretta del linguaggio Brook prodotto dalla Stanford University, come variante di ANSI C (linguaggio C), open source e ottimizzato per stream computing. Furono incluse anche la AMD Core Math Library (ACML) e la Framewave (APL) con delle ottimizzazione per la AMD FireStream, e la libreria CODA (rinominata poi "Accelerated Video Transcoding" o AVT) per accelerazioni di codifica video. Un'altra parte importante dell'SDK, il Compute Abstraction Layer (CAL), è un layer di sviluppo software focalizzato per accessi a basso livello, attraverso l'interfaccia hardware CTM, all'architettura GPU scritto in vari linguaggi di programmazione ad alto livello. Durante il mese di marzo 2010, AMD distribuisce la versione 2.01 dell'ATI Stream Software Development Kit, che include il supporto alle OpenCL 1.0, un linguaggio di programmazione sviluppato da Khronos Group. Il supporto alle nuove vie di utilizzo shader della futura generazione di API Microsoft chiamato DirectX 11 verrà implementato nelle release future dell'SDK Stream. AMD APP SDKAMD Stream SDK (ATI Stream SDK) è stato sostituito da AMD APP SDK, disponibile per Microsoft Windows e Linux, a 32-bit e 64-bit. APP sta per "elaborazione parallela accelerata", e si rivolge anche Heterogeneous System Architecture (non solo GPU).[1] VantaggiIl sistema di prova AMD con 2 Dual Core Opteron e 2 GPU Radeon R600 e sistema operativo Microsoft Windows XP Professional raggiunge 1 TeraFLOPS, nei calcoli multiply-add (MADD). A confronto, un Intel Core 2 Quad Q9650 3.0 GHz raggiunge 48 GFLOPS. Tuttavia, dobbiamo chiaramente distinguere tra operazioni aritmetiche in singola e doppia precisione: l'esempio precedente utilizza operazioni in virgola mobile a precisione singola, l'ultimo rappresenta operazioni a precisione doppia. Le dimostrazioni recenti mostrano che con test di scansione con Kaspersky SafeStream antivirus ottimizzato per i processori stream, il sistema con 2 Opteron a 6.2 Gbit/s (775 MiB/s) di banda, è 21 volte più veloce se confrontato con altri sistemi dual-processor. I sistemi stream processor inoltre mostrano solamente 1-2% di utilizzo della CPU la quale indica significativi passaggi di lavoro dalla CPU allo stream processor. Limitazioni
Note
Voci correlate
Collegamenti esterni
Applicazioni
Per sviluppatori
|
Portal di Ensiklopedia Dunia