Danilo Poccia - Tecnologia et al.

lunedì gen 22, 2007

Fortress, un linguaggio di programmazione per l'High Performance Computing (HPC)

Fortress è un nuovo linguaggio di programmazione disegnato dai Sun Labs per l'High Performance Computing (HPC). Per esplorare approcci innovativi e semplificarne l'utilizzo, il disegno del linguaggio Fortress non è stato legato a nessuna sintassi o semantica di linguaggi tradizionali e tutti gli aspetti specifici di un linguaggio per l'HPC sono stati ripensati da zero. Il risultato è un linguaggio che implementa nativamente funzionalità come transazioni, località e calcolo parallelo implicito. Funzionalità ulteriori come un modello basato su componenti ed un framework di test facilitano l'assemblamento ed il collaudo dei programmi e permettono al compilatore di effettuare ottimizzazioni efficienti anche tra librerie differenti.

Anche la sintassi di base del linguaggio Fortress sono ritagliate su misura per la moderna programmazione HPC, supportando la notazione matematica e il controllo statico delle proprietà (come unità fisiche e dimensioni), il controllo statico di vettori e matrici multidimensionali e la definizione in una libreria di sintassi legata ad un dominio applicativo specifico. Inoltre il linguaggio è stato disegnato con l'intento di essere "estendibile" tramite l'aggiunta di ulteriori funzionalità specifiche: infatti la maggior parte del linguaggio stesso (incluse, ad esmepio, la definizione dei vettori e di altri tipi di base) è codificata nelle librerie utilizzando come base un insieme relativamente ridotto di regole "fisse".

Il nome "Fortress" intende sottolineare l'intenzione di produrre un "Fortran" intrinsecamente sicuro. In realtà, a parte per l'etimologia, non vi sono relazioni evidenti tra i due linguaggi, a parte il dominio applicativo di riferimento: nelle intenzioni degli autori l'obiettivo di Fortress è di essere per il Fortran ciò che il linguaggio Java è stato per il C.

Per ulteriori informazioni:


Comments:

Post a Comment:
  • HTML Syntax: NOT allowed





    follow me on Twitter

    Calendar

    Feeds

    Search

    Blogroll

    Navigation

    Referrers

    Recent Entries