PDA

View Full Version : il costrutto FORALL e hyperthreading


peter2
31-03-2006, 14:27
programmo in fortran e vorrei sapere se avviene una qualche parallelizzazione delle modifiche agli array utilizzando le istruzioni (FORALL,WHERE) su un sitema hyperthreading.
grazie

peter2
10-04-2006, 14:21
up

andbin
10-04-2006, 14:38
programmo in fortran e vorrei sapere se avviene una qualche parallelizzazione delle modifiche agli array utilizzando le istruzioni (FORALL,WHERE) su un sitema hyperthreading.Non conosco assolutamente il fortran ma non credo che una certa istruzione (e questo vale per qualunque linguaggio, penso) possa comportarsi in modo differente a seconda se il processore è hyper-threading, dual-core o altro.
Normalmente la gestione in multi-threading deve essere prevista e gestita in modo specifico dal programmatore.
Poi se c'è qualcuno esperto di fortran, può sicuramente rispondere in modo più preciso!

peter2
10-04-2006, 14:49
Non conosco assolutamente il fortran ma non credo che una certa istruzione (e questo vale per qualunque linguaggio, penso) possa comportarsi in modo differente a seconda se il processore è hyper-threading, dual-core o altro....


stai dicendo che questo avviene al livello di compilatore, ho capito bene?

andbin
10-04-2006, 15:19
stai dicendo che questo avviene al livello di compilatore, ho capito bene?No. In qualunque linguaggio (almeno che io sappia), sia che supporti in modo nativo i thread (ad es. Java, C#) sia che supporti i thread tramite librerie esterne (es. in "C"), è il programmatore che deve prevedere la gestione dei thread ed occuparsi della loro creazione, gestione, sincronizzazione, ecc...

Non credo che un blocco di codice possa essere eseguito in modo "parallelizzato" o no a seconda del tipo di CPU e sopratutto all'insaputa del programmatore!

Comunque, ripeto, non conosco il fortran e non so cosa è il FORALL,WHERE. ;)

peter2
14-04-2006, 23:14
No. In qualunque linguaggio (almeno che io sappia), sia che supporti in modo nativo i thread (ad es. Java, C#) sia che supporti i thread tramite librerie esterne (es. in "C"), è il programmatore che deve prevedere la gestione dei thread ed occuparsi della loro creazione, gestione, sincronizzazione, ecc...

Non credo che un blocco di codice possa essere eseguito in modo "parallelizzato" o no a seconda del tipo di CPU e sopratutto all'insaputa del programmatore!

Comunque, ripeto, non conosco il fortran e non so cosa è il FORALL,WHERE. ;)

intanto ti ringrazio per le risposte.

OT: non capisco come mai non mi vengono inoltrati le email di avvis di risposta alle discussioni....già da tempo (trovo quest ultima versione del forum veramente pesante e con molti bachi)

comunque, a naso...la penso come te. mi informerò meglio.
ciao