PDA

View Full Version : C++ : come usare più processori ed i 64 bit?


Abadir_82
17-05-2006, 19:12
Ciao.

Nel linguaggio c++, cosa si deve fare per sfruttare più processori contemporaneamente, ad esempio un athlon 64 dual core ?

C'è un modo diverso di strutturare il programma ?

Altre librerie ?

E per i 64 bit ? Come costruire un programma a 64 bit ?

Grazie.

BountyKiller
18-05-2006, 12:28
per sfruttare più cpu bisogna utilizzare un sistema operativo che contempli la schedulazione su cpu multiple e suddividere l'elaborazione in thread (pare impossibile ma non tutti i linguaggi permetto di creare thread...il c++ assolutamente si comunque e ci manchrebbe altro)..... per usare i 64 bit non saprei, vado ancora a 32 bit (ma non per molto ancora) ma non credo che lo stile di programmazione cambi più di tanto, ci saranno delle patch per i vari IDE che attivano funzionalità del compilatore per sfruttare un'architettura a 64 bit...

Abadir_82
18-05-2006, 18:19
Ho capito a livello teorico, però come faccio praticamente fare la schedulazione su CPU multiple e suddividere l'elaborazione in thread ?

Il codice lo scrivo con il Visual C++ 6.0, è necessario qualche altro software o cmq qualche modo diverso di compilare ?

k0nt3
18-05-2006, 19:08
per fare un programma a 64 bit è sufficiente dire al compilatore di compilare a 64 bit (se lo supporta)

Abadir_82
18-05-2006, 19:53
Mi sai dire quali compilatori supportano i 64 bit ?

Rimane ora la domanda sul come fare la schedulazione su CPU multiple e suddividere l'elaborazione in thread. :D

Grazie :D

k0nt3
18-05-2006, 20:53
credo che tutti i compilatori più diffusi (nelle più recenti versioni) possano compilare a 64bit...
per la schedulazione penso che ci pensa il sistema operativo, e se invece vuoi gestirlo te è abbastanza troppo a basso livello :fagiano:
se vuoi usare i thread invece ci sono librerie apposta (dipende dal sistema operativo)

tomminno
18-05-2006, 22:51
Mi sai dire quali compilatori supportano i 64 bit ?

Rimane ora la domanda sul come fare la schedulazione su CPU multiple e suddividere l'elaborazione in thread. :D

Grazie :D

La schedulazione delle CPU è un pò fuori dalla tua portata, a meno che tu non sia uno sviluppatore di Windows. E' l'OS che si occupa di suddividere il carico tra i processori presenti nel sistema. Chiaramente per sfruttare il multiprocessing il programma deve essere multi-thread e per programmare con i thread devi usare la classe Cthread se usi MFC o direttamente le API di Windows, oppure le pthread o altre librerie come le QT o le wxWidgets.

Dimenticavo il 64bit, non so se VS6 li supporti però .NET 2005 lo fa di sicuro, scaricati la versione Express, è anche un compilatore decisamente migliore.