Domanda

Dove posso trovare esempi di codice, scritto in "Unified C parallelo"?

Ho anche interessati a documenti normativi su questa lingua (standard, manuali di riferimento, i libri online accessibili e corsi). Ciò che le estensioni sono stati aggiunti alla C per ottenere UPC?

E 'questo dialetto vivo o morto?

È stato utile?

Soluzione

UPC è ancora vivo come progetto di ricerca presso UC Berkeley ed è probabilmente in uso da parte di high-performance computing strutture e laboratori nazionali associati al gruppo di ricerca. È possibile scaricare l'ultima versione, rilasciata Novembre 2009, qui . La documentazione, esempi di codice, ecc può essere trovato qui . La specifica lingua è qui ; ci sono molte estensioni in cima sintassi C99 per le discussioni di supporto e comunicazione inter-thread come entità di prima classe (forse non nel senso più stretto di "prima classe", ma certamente più che in C, dove si chiamano alle biblioteche opachi per fare la sincronizzazione e comunicazione).

UPC è ancora in uso alcuni luoghi; Io non sono un esperto, ma da quello che posso dire con UPC è costituito da un compilatore GCC-based, un runtime, e uno strato di messaggistica GASNET che corre sulla parte superiore del vostro stack di rete. Questi sembrano essere relativamente ben supportato su i tipi di macchine per i quali si potrebbe desiderare qualcosa di simile UPC . Io non la chiamerei una comunità di sviluppatori enorme, ma se si amministra una grande macchina parallela, vale la pena dare un colpo. Se si desidera solo qualcosa per lavorare con il portatile, desktop o casella Server, v'è una grande varietà di altri modelli di programmazione parallela con supporto commerciale, strumenti, ecc.

Altri suggerimenti

A parte il runtime UPC Berkley basato implementazioni UPC:

Berkley UPC-to-C traduttore http://upc.lbl.gov/download/ source.shtml e gcc-UPC http://www.gccupc.org )

ci sono anche i compilatori di proprietà di HP h30097.www3.hp.com/upc/ e Cray.

Credo che le versioni Cray e HP UPC entrambi hanno guarentees progresso, dove come Berkley derivato quelli non farlo (questo significa che se si scrive spinlock codice di stile, è necessario chiamare esplicitamente bupc_relax di prod teh runtime in precessione una scrittura a distanza che si otterrebbe fuori dal giro)

UPC è ancora molto viva nella comunità HPC.

La nuova versione 1.3 della specifica lingua / biblioteca è stato rilasciato nel novembre 2013 e è disponibile qui:

https://upc-lang.org/upc-documentation

I principali compilatori UPC hanno già (o presto) versione 1.3 versioni compatibili.

La specifica UPC è scritto come un "diff" contro C99, quindi è facile vedere ciò che è stato aggiunto. Ad alto livello è linguisticamente alcune nuove parole chiave e alcune estensioni al sistema di tipo per ospitare il modello di memoria PGAS e del linguaggio a livello SPMD threading. V'è anche un grande (e crescente) insieme di librerie per supportare le esigenze comuni HPC nelle applicazioni UPC.

C'è un sacco ulteriori informazioni su UPC all'indirizzo:

http://upc.lbl.gov/

dove è possibile scaricare un libero, compilatore open source che gira su vasta varietà di sistemi. La fonte runtime download include una libreria di programmi di esempio UPC, benchmark e test suite.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top