View Full Version : Sfruttare i multicore e i 64 bits
ChillingSP
05-01-2007, 14:09
Salve,
mi chiedevo se qualcuno è a conoscenza di come si possa programmare applicazioni che sfruttano diversi core contemporaneamente.
Occorre un compilatore particolare ?
Si può usare il c++ per quese applicazioni ?
Si può usare XP professional ?
Approfitto della cortesia per estendere le stesse domande al caso in cui si trattasse di applicazioni multicore a 64 bits.
Grazie dell'aiuto.
mi chiedevo se qualcuno è a conoscenza di come si possa programmare applicazioni che sfruttano diversi core contemporaneamente.Se ne era già parlato un po' di tempo fa ... dovrei cercare quella discussione.
Comunque, per dirla in breve, una applicazione che voglia poter sfruttare più core/processori, deve innanzitutto essere sviluppata in modo tale da poter usare più thread.
Occorre un compilatore particolare ?No, non è una questione di compilatore ma di supporto a livello di sistema e a livello di librerie per il multi-threading.
Si può usare il c++ per quese applicazioni ?Certamente.
Si può usare XP professional ?Qualunque S.O. che supporti più processori.
Approfitto della cortesia per estendere le stesse domande al caso in cui si trattasse di applicazioni multicore a 64 bits.Cambia di poco, nel senso che devi usare un S.O. a 64 bit e utilizzare un compilatore adatto per lo sviluppo di applicazioni a 64 bit.
ChillingSP
05-01-2007, 16:07
No, non è una questione di compilatore ma di supporto a livello di sistema e a livello di librerie per il multi-threading.
Quindi NT 4.0, 2000 ed XP + un compilatore che abbia librerie per il multi-threading.
Visual Studio possiede librerie per il multi-threading ?
ChillingSP
08-01-2007, 11:51
Uhm.. scusate ma nessuno di voi ha mai sviluppato una applicazione MT , oppure sa indicarmi una risorsa che abbia informazioni sull'argomento ?
Grazie
Innanzitutto la possibilità di creare più thread è offerta dal sistema operativo. A livello nativo Win32 esiste la ben nota funzione CreateThread() che serve a creare un nuovo thread.
Poi se usi direttamente le API Win32 oppure uno dei tanti framework C o C++, cambierà solo il fatto di usare una certa funzione/classe oppure un'altra.
Poi bisogna anche dire che quando compili, il compilatore ha bisogno di una libreria di run-time, e il Visual C++ ha le libreria di run-time per debug/release sia per il single-thread che multi-thread.
Quindi dipende molto da cosa devi fare e da cosa vuoi utilizzare.
ChillingSP
09-01-2007, 13:21
Innanzitutto la possibilità di creare più thread è offerta dal sistema operativo. A livello nativo Win32 esiste la ben nota funzione CreateThread() che serve a creare un nuovo thread.
Poi se usi direttamente le API Win32 oppure uno dei tanti framework C o C++, cambierà solo il fatto di usare una certa funzione/classe oppure un'altra.
Poi bisogna anche dire che quando compili, il compilatore ha bisogno di una libreria di run-time, e il Visual C++ ha le libreria di run-time per debug/release sia per il single-thread che multi-thread.
Quindi dipende molto da cosa devi fare e da cosa vuoi utilizzare.
Il mio interesse principale per ora è quello di processare file di misurazioni satellitari per generare DEM cioè modelli tridimensionali di aree geografiche.
Poi vorrei studiare la generazione procedurale di terrains........
Ma per esempio come si fa ad assegnare un determinato thread ad un determinato processore, è possibile ?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.