|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Aug 2004
Messaggi: 86
|
64 bit
ciao, dato che in questi ultimi tempi vedo spesso e volentieri 3d sul 64bit qualcuno sa fino a che punto tale architettura viene sfruttata dal so ?
ossia, che io sappia, un software per sfruttare i 64 bit deve ovviamente essere scritto con l'obbiettivo si sfruttare i 64 bit in caso contrario è vero che si puo' compilare per tale architettura ma poi la cpu viene interamanete sfruttata ? Eventualmente che cosa mi consigliate come sk madre e/o chipset maggiormente compatibile con linux ? ciao e grazie. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2002
Città: Morbegno (SO)
Messaggi: 1410
|
nella maggior parte dei casi basta una ricompilazione, semanticamente non e molto differente scrivere codice per 32/64 bit, a meno che questi non rappresentino un discriminante per il target dell applicazione.
per la distro penso che gentoo sia la migliore per questi nuovi proci, anche se ci dovrebbero essere in giro debian e mandrake, forse anche suse, sicuramente qualcuno ne sa di piu tra quell iche hanno sto procione
__________________
e' difficile cio' che non si conosce Tic Tac Andrew Morton, 15/02/2008 LKML:"`tmp' is an awful identifier, and renaming it to `temp' hardly improves it." |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Aug 2004
Messaggi: 86
|
scusa ma se basta una ricompilazione allora perchè certi software fra le loro features dicono espressamente 'supporta cpu a 64bit' ?
Non sto negando che un software possa essere compilato anche sotto i 64 bit, sto dicendo che una cosa è semplicemente girare un'altra è sfruttare l'architettura. Anche software non strutturato x smp gira su biprocessore ma non significa che lo sfrutti. Alla fine ti ritrovi un programma che semplicementa ha le stesse prestazione che avrebbe su monoprocessore o 32 bit. Ovviamente il paragone smp/64bit non regge per nulla perchè stiamo parlando di cose completamente diverse.. però era solo per farti un esempio. ciao. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 1999
Città: Sesto Fiorentino, Firenze
Messaggi: 8444
|
In generale necessitano di riscrittura di parte del codice quei programmi che fanno assunzioni sulla lunghezza dei tipi dei dati... tipo che gli int sono di 32 bit, il che non è detto che sia sempre vero, infatti in una piattaforma a 64 bit potrebbero essere lunghi 64 bit
Questo almeno dovrebbe essere il motivo principale per cui un programma può non essere adatto al porting ai 64 bit senza qualche ritocco ![]() Altri al momento non mi vengono in mente ![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Mar 2003
Città: Roma
Messaggi: 301
|
Secondo me dipende molto dal codice che devi far girare.
Io programmo codici numerici e quindi ricompilando a 64bit in doppia precisione guadagnerei molto in prestazioni. Se un codice è pieno di interi*4 o dati che non sono molto lunghi (precisione semplice) non si ha guadagno anche ricompilando, almeno penso.
__________________
Debian... apt-get into! |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Nov 1999
Città: Sesto Fiorentino, Firenze
Messaggi: 8444
|
Quote:
Se invece usi interi a 64 bit avrai un bel vantaggio, ho visto benchmark di programmi di compressione file che dalla versione a 32 alla versione 64 bit miglioravano anche del 40% le prestazioni ![]() |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Nov 2002
Città: Morbegno (SO)
Messaggi: 1410
|
in tutti casi portati la lunghezza dei registri e un discriminante per la computazione, se tu hai bisogno di double e long allora avrai benefici in quanto non vengono spezzati in 2 registri dal cc.
per quanto riguarda i double c'e un thread su processori in cui i tempi nel caso di elaborazione di double erano migliori in quanto la fpu veniva caricata e scaricata in un singolo colpo, senza usare 2 registri. inoltre x86-64 ha un numero maggiore di registri, penso sia per questo vada di piu, visto che non so quanti software usano long, per i double secondo me vengano un po sprecati in molte applicazioni, ove basterebbero i float. si puo usare anche le unita simd per effetuare i calcoli in virgola, ma sinceramente non ci ho mai guardato tanto ( -mfpmath=sse), cmq non penso che i tempi di loading e unloading cambino, in quanto e proprio i ltipo di dato a non poter essere rappresentato in un singolo registro a 32. per le applicazioni certificate a 64.... beh dicevano che col pentium andavi di piu in internet.... il tutto imho & afaik
__________________
e' difficile cio' che non si conosce Tic Tac Andrew Morton, 15/02/2008 LKML:"`tmp' is an awful identifier, and renaming it to `temp' hardly improves it." |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Nov 1999
Città: Sesto Fiorentino, Firenze
Messaggi: 8444
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13826
|
Se il programma che dobbiamo usare è scritto in C la definizione di "INT" su un sistema a 32bit sarà "32bit", mentre su un sistema 64bit sarà "64bit", quindi alla fine penso che il programma sfrutti appieno i 64bit , inoltre abilitando ottimizzazioni specifiche per l'architettatura sul compilatore le prestazioni aumenterebbero sicuramente
Ciao
__________________
GPU Compiler Engineer |
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Nov 1999
Città: Sesto Fiorentino, Firenze
Messaggi: 8444
|
Quote:
Nella definizione dei linguaggi come ad esempio C e C++ la definizione dei tipi base come int è definita rigorosamente se non ricordo male, cioè un tipo di dato è sempre della medesima lunghezza a prescindere dal tipo di architettura su chi verrà compilato il programma, questo per facilitare la portabilità dello stesso... Ora può essere che mi ricordi male e questo non sia vero per tutti i tipi di dato base presenti nei suddetti linguaggi, ma sia valido solo per alcuni, tipo chat lungo sempre un byte su qualsiasi piattaforma e gli altri tipi che adattano la lunghezza a seconda della piattaforma per cui viene compilato il programma oltretutto non è detto che il passaggio, come fai nell'esempio te, del tipo int da 32 a 64 bit sia sempre possibile nei fatti, ad esempio se il programma opera su dei file che contengono dati a 32 bit il metodo di lettura degli stessi se la lunghezza del tipo varia probabilmente dovra essere cambiato, se sei fortunato, altrimenti la modifica potrebbe essere più pesante. |
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
E comunque l'athlon64 va forte anche a 32 bit, quindi prendilo tranquillamente.
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:37.