• Non ci sono risultati.

Ritorno del calcolo vettoriale al CILEA

N/A
N/A
Protected

Academic year: 2021

Condividi "Ritorno del calcolo vettoriale al CILEA"

Copied!
2
0
0

Testo completo

(1)

SUPERCALCOLO

6 BOLLETTINO CILEA N. 75 DICEMBRE 2000

Ritorno del calcolo vettoriale al CILEA

Giampaolo Bottoni, Giovanni Meloni

CILEA, Segrate

Abstract

Il CILEA torna ad affiancare alle macchine parallele degli elaboratori vettoriali.

L’ultimo calcolatore installato è stato un Convex a due processori della serie C3800 spento nel 1997. Il nuovo elaboratore, che diventerà operativo nel mese di Gennaio, è un NEC SX5/4S a quattro processo-ri.

Keywords: Supercalcolo, Algebra lineare, Calcolo parallelo, Simulazione numerica

Il CILEA ritorna al vettoriale decidendo di af-fiancare due tipologie di architetture (la paral-lela e la vettoriale) in grado di offrire all’utenza due ambienti operativi ottimizzati per le diver-se applicazioni di calcolo ad alte prestazioni. Le caratteristiche tecniche del nuovo elaborato-re pelaborato-revedono una architettura vettoriale-parallela in ambiente shared memory in grado di supplire a quelle limitazioni a cui una archi-tettura seriale-parallela può essere talvolta soggetta.

Ogni processore (con potenza di picco di 4 GFLOPS) contiene una vector unit, una scalar unit con cache-on-chip ed una memory interfa-ce.

La vector unit è dotata di 144 KBytes di regi-stri vettoriali (8 vector register e 64 vector data register da 64 bits) utilizzati come cache vetto-riale ad alte prestazioni in grado di ridurre si-gnificativamente il flusso di dati verso la me-moria.

Vi sono 8 vector pipeline sets ( add-shift, mul-tiply, divide, logical) in grado di esguire 8 ope-razioni in parallelo sui dati per ciclo.

Nell’unità scalare le pipeline scalari compren-dono due unità floating point (addizione, molti-plicazione, divisione) e due unità interi.

La memoria è di tipo SDRAM con bandwith di 32 gigabytes al secondo per processore.

I canali di I/O prevedono una connessione di ti-po HIPPI-800 da 100 megabyte al secondo e SCSI (Ultra & FWD).

L’ambiente operativo è Unix con compilatori vettoriali FORTRAN 90 e C++

. Sono inoltre di-sponibili tools per l’ottimizzazione ed il con-trollo delle prestazioni.

Saranno anche disponibili software applicativi di simulazione che traggono particolari vantag-gi prestazionali in questo ambiente come : NASTRAN, PAM-CRASH, STAR-Cd,etc.

Sono previsti corsi di introduzione all’utilizzo della nuova macchina che saranno dedicati sia all’ambiente operativo ed al software di sistema sia all’ottimizzazione dei codici applicativi. Perché il vettoriale?

La disponibilità di un ambiente che "premi" de-terminati tipi di algoritmi e dede-terminati stili di programmazione favorisce la ricerca di algorit-mi e metodologie che rientrino nella categoria "favorita" dall'ambiente stesso.

Gli algoritmi di interesse numerico informatico possono, a grosse linee, venire raggruppati in tre, ormai classiche, categorie.

x Sequenziali: nei quali il principale ob-biettivo è (a) la riduzione del numero totale di operazioni richieste e (b) la "concisione" e facilità di programmazio-ne dell'algoritmo (sono migliori gli algo-ritmi che, a parità di risultato, richie-dono poche istruzioni e poche operazio-ni)

x A parallelismo fine ossia tali da richie-dere una singola operazione aritmetica

(2)

SUPERCALCOLO

BOLLETTINO CILEA N. 75 DICEMBRE 2000 7

applicata ad una grossa molteplicità di dati. Sono migliori gli algoritmi che sanno evidenziare tale molteplicità di dati anche a costo di un limitato au-mento del numero di operazioni da fare (esistono casi limiti in cui anche un raddoppio del numero di operazioni da fare rispetto ad un approccio sequen-ziale è ancora considerato accettabile). x A parallelismo di compiti, in cui

esisto-no fasi lavorative separate e esisto-non inter-ferenti l'una con l'altra. Sono dunque migliori gli algoritmi che riducono il numero di punti di sincronizzazione tra le varie fasi anche a costo di una ripeti-zione (solo apparentemente irrazionale) di determinati calcoli a patto che questo consenta una forte diminuzione dello scambio di informazioni tra lavori effet-tuati in contemporanea e dunque ridu-ca la comuniridu-cazione tra i lavori con-temporaneamente in corso.

L'evoluzione storica dell'informatica ha privile-giato in ordine cronologico tutte e tre queste ca-tegorie di algoritmi.

Agli albori dell'informatica, quando era costoso tanto la singola operazione quanto l'estensione stessa del programma oltre che quella dei dati, lo sforzo è stato rivolto alla individuazione di algoritmi esprimibili con pochissime istruzioni e tali da richiedere l'uso di pochi dati ausiliari. Con l'avvento dei primi Cray diventarono di at-tualità algoritmi specifici per il calcolo vetto-riale, privi, per quanto possibile, di salti condi-zionali che, per la loro imprevedibilità, impe-dissero la migrazione ordinata di grosse quanti-tà di dati residenti in zone contigue della me-moria verso l'unica CPU dotata di apposite uni-tà funzionali (i registri vettoriali) e viceversa. Con l'avvento dei transistori ad effetto di campo ed il calo vertiginoso del costo dei circuiti stam-pati, ha infine preso piede (ed è un effetto tut-tora in corso di espansione) il calcolo parallelo a macrocompiti in cui diventa economico disporre di molte unità di calcolo adibite a compiti sia to-talmente diversificati sia anche analoghi ma applicati a grossi blocchi di dati distinti e scar-samente intercorrelati.

L'evoluzione della informatica verso una sem-pre maggiore distribuzione del calcolo tra pro-cessori sempre più numerosi non ha tuttavia cancellato la ragione d'essere dei diversi tipi di ottimizzazione degli algoritmi.

In questo ambito l'ottimizzazione scalare è ri-tornata di attualità in edizione riveduta e cor-retta: non si tratta più di fare i conti semplice-mente con le risorse di memoria totale ma con le risorse di memoria veloce (la cache) che con-tinua ad essere limitata per motivi di economia hardware.

E resta, o dovrebbe restare, di attualità l'otti-mizzazione vettoriale se è vero, come è vero, che certi tipi di calcoli, intrinsecamente intercon-nessi e poco o nulla disaccoppiabili in grossi la-vori indipendenti, possono essere velocizzati so-lo processando grosse quantità di dati tramite poche e specializzate unità funzionali.

Se ammettiamo dunque che una grossa catego-ria di operazioni di algebra lineare applicata in ampi settori dell'ingegneria e della ricerca di-venta sfruttabile e poco onerosa solo disponen-do di calcolatori vettoriali, disponen-dobbiamo anche ammettere che è importante non solo la consa-pevolezza "teorica" dell'esistenza di questi strumenti di calcolo (so che nel mondo ci sono e converrà sempre farli) ma anche la disponibili-tà "concreta" di macchine capaci di premiare "concretamente" l'impegno allo sviluppo di tali particolari classi di algoritmi.

Riferimenti

Documenti correlati

[r]

Bisogna individuare la direzione perpendicolare ad entrambi i vettori b e c, che è data dal prodotto vettoriale dei

Se il numero delle equazioni del sistema e’ minore del numero delle incognite, allora il sistema possiede una soluzione non banale, e dunque e’

Per le proprieta’ delle matrici non singolari, la matrice A puo’ essere trasformata, mediante operazioni elementari per righe, nella matrice unita’ I n. Ora, applicando queste

Si puo’ dire che una matrice A quadrata di ordine n e’ triangolare superiore se i soli elementi di A che possono essere diversi da zero sono quelli del tipo.. A(i, j), con i

Il determinante di una matrice quadrata del terzo ordine puo’ essere definito come il risultato comune di sei espressioni, una per ciascuna colonna e una per ciascuna riga

Per ”distanza di un punto da una retta” si intende il numero reale ottenuto considerando le distanze tra il punto esterno e i punti della retta e prendendo l’estremo inferiore di

Si determinino le condizioni su t tali che la matrice A t sia