Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 51534 Details for
Bug 82476
[it]gentoo-alpha-compaq-tools.xml it translation
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
gentoo-alpha-compaq-tools.xml
gentoo-alpha-compaq-tools.xml (text/plain), 21.22 KB, created by
dungeon01
on 2005-02-18 10:24:05 UTC
(
hide
)
Description:
gentoo-alpha-compaq-tools.xml
Filename:
MIME Type:
Creator:
dungeon01
Created:
2005-02-18 10:24:05 UTC
Size:
21.22 KB
patch
obsolete
><?xml version='1.0' encoding="UTF-8"?> ><!-- $Header: /var/www/www.gentoo.org/raw_cvs/gentoo/xml/htdocs/doc/en/gentoo-alpha-compaq-tools.xml,v 1.9 2004/06/22 23:48:54 neysx Exp $ --> ><!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> > ><guide link="/doc/en/gentoo-alpha-compaq-tools.xml"> > ><title>Guida ai Compaq-Tools su Gentoo Alpha</title> > ><author title="Gentoo Alpha Developer"> > <mail link="taviso@gentoo.org">Tavis Ormandy</mail> ></author> ><author title="Editor"> > <mail link="peesh@gentoo.org">Jorge Paulo</mail> ></author> > ><abstract> >Questa guida è un'introduzione ai Compaq Tools free per gli utenti Gentoo Alpha. ></abstract> > ><license/> > ><version>1.0.2</version> ><date>June 05, 2004</date> > ><chapter> ><title>Introduzione</title> ><section> ><title>Considerazioni sulle Licenze</title> ><body> > ><p> > >Prima che procediate nella lettura di questa guida, dovreste controllare la vostra capacità di utilizzare i Compaq Tools. >Se dovete usare qualche cosa in più delle librerie di runtime <c>dev-libs/libots</c> e <c>dev-libs/libcpml</c> dovete qualificarvi come un utente >accademico o entusiasta( academic user o enthusiast user). ></p> > ><pre caption="HP Educational and Enthusiast License"> >Il software può essere usato solamente per i vostri personali "entusiasti" scopi o a scopo di formazione personale e studio. >Non può essere utilizzato per qualsiasi scopo pubblicitario, commerciale o istituzionale, sia "profit" che "non profit". >Ogni lavoro realizzato o prodotto come risultato dell'utilizzo di questo software non può essere realizzato o prodotto a per terze parti sotto pagamento, o sotto qualsiasi altro tipo di risarcimento, retribuzione o remunerazione. ></pre> > ><note> >Qualora non foste qualificati e voleste comunque utilizzare il software, potete acquistare una licenza <uri link="http://h18000.www1.hp.com/products/software/alpha-tools/purchase.html">commerciale</uri> da HP, >che vi darà una maggior flessibilità nell'utilizzare il toolkit. ></note> > ><p> >Se siete qualificati per una licenza free, dovete registrarvi con HP utilizzando il form situato presso <uri>http://h18000.www1.hp.com/products/software/alpha-tools/ee-license.html</uri>. >Ona volte che la vostra richiesta è stata processata, HP vi invierà una licenza che può essere utilizzata per decriptare ed installare i compilers di Compaq. ></p> > ></body> ></section> ><section> ><title>Descrizione generale dei Compaq Tools</title> ><body> > ><p> >Se avete familiarità con l'ottimizzazione dei PC, probabilmente avrete sentito parlare di > <uri link="http://www.intel.com/software/products/compilers/clin/">icc</uri>, compilatore di Intel per l'ottimizzazione dei loro processori pentium . L'equivalente dell'utente dell'alfa è < sviluppatori professionali Tools >L'euivalente per gli utenti Alpha è <uri link="http://h18000.www1.hp.com/products/software/alpha-tools/">The Linux Professional Linux Developers Tools</uri>, >un insieme di librerie ad alto rendimento, compilatori e programmi di utilità specificamente configurati per la piattaforma Alpha, > messo a disposizione liberamente degli utenti Alpha "entusiasti" a scopo educativo. Fare esperimenti utilizzando le librerie ed i >compilatori nelle compilazioni del portage è un modo efficace per migliorare le prestazioni del vostro sistema Gentoo su Alpha . ></p> > ><p>I seguenti tools sono disponibili per gli utenti Gentoo:</p> > ><table> ><tr> > <th>Utilità</th> > <th>Descrizione</th> > <th>Nome del Portage</th> ></tr> ><tr> > <ti>libots</ti> > <ti>Supporto per il codice compilato, una dependency richiesta per utilizzare il toolkit.</ti> > <ti>dev-libs/libots</ti> ></tr> ><tr> > <ti> > <uri link="http://www.support.compaq.com/alpha-tools/software.html#cpml">libcpml</uri> > </ti> > <ti> > Compaq Portable Math Library, una libreria matematica ad alta performance per gli utenti Alpha > che può essere utilizzata per migliorare la performance delle varie operazioni matematiche nelle applicazioni. > </ti> > <ti>dev-libs/libcpml</ti> ></tr> ><tr> > <ti> > <uri link="http://www.support.compaq.com/alpha-tools/software.html#c">ccc</uri> > </ti> > <ti> > Compilatore C di Compaq, altamente otimizzato e configurato per la piattaforma Alpha, contiene un generatore di codice altamente ottimizzato specificatamente disegnato per > l'architettura Alpha a 64-bit. E' particolarmente fornito e contiene supporto addizionale per la programmazione di sistemi, programmazione parallela e computazione matematica. > </ti> > <ti>dev-lang/ccc</ti> ></tr> ><tr> > <ti> > <uri link="http://www.support.compaq.com/alpha-tools/software.html#cxx">cxx</uri> > </ti> > <ti> > Compilatore C++ di Compaq, configurato specificatamente per la piattaforma Alpha, offre la stessa generazione di codice ottimizzato per programmatori Compaq C e C++. > </ti> > <ti>dev-lang/cxx</ti> ></tr> ><tr> > <ti> > <uri link="http://www.support.compaq.com/alpha-tools/software.html#ladebug">ladebug</uri> > </ti> > <ti> > Famoso debugger di Compaq per Tru64, portato a Linux Alpha, contiene supporto esteso per le applicazioni compilate con i compilatori c e c++ di Compaq. > </ti> > <ti>dev-util/ladebug</ti> ></tr> ><tr> > <ti><uri link="http://www.support.compaq.com/alpha-tools/software.html#cxml">libcxml</uri></ti> > <ti> > Libreria matematica estesa di Compaq, libreria ad alta performance per programmazione fortran, c e c++. > </ti> > <ti>dev-libs/libcxml</ti> ></tr> ></table> > ><note> > Al momento della stesura di questo documento, alcuni dei Compaq Tools sono ancora contrassegnati come ~alpha. Questo significa che anche se sono stati testati e > sembrano funzionare, non sono stati sottoposti a test più completi o estensivi e non possiamo quindi essere sicuri che essi sono completamente stabili. > Se desiderate installare alcune di queste applicazioni, potreste avere bisogno di che d'inserire il prefisso ACCEPT_KEYWORDS="~alpha " al comando <path>emerge</path>. ></note> > ><note> >Qualora incontraste difficoltà con ccc o cxx, o con uno qualsiasi dei Compaq Tools, per favore apreite un bug nel <uri link="http://bugs.gentoo.org/">gentoo bugzilla</uri> >ed assegnatemelo -- <uri link="mailto:taviso@gentoo.org">taviso@gentoo.org</uri> ></note> > ></body> ></section> ></chapter> > ><chapter> ><title>Installare i Developers Tools</title> ><section> ><title>Librerie di Runtime </title> ><body> > ><p> >Il primo passo verso l'installazione dei Developer Tools è ottenere le librerie di runtime. >a causa delle limitazioni legate alla licenza, Gentoo non può distribuire gli RPM e dovete scaricarli direttamente da Compaq. ></p> > ><p> ><uri>ftp://ftp.compaq.com/pub/products/linuxdevtools/latest/downloads.html</uri> ></p> > ><p> >Scaricate gli rpm di libots e libcpml, e poi salvateli nella directory dove sono situati i vostri distfiles. ></p> > ><note> >Se avete un processore ev6 o superiore, dovreste scaricare l'rpm di libcpml ottimizzato per ev6 che vi permetterà di sfruttare appieno le funzionalità del vostro nuovo processore. >Dovreste inoltre aggiungere "ev6" al vostro USE in /etc/make.conf, in modod che l'ebuild sappia che di dover usare l'rpm ottimizzato. Qualora non conosceste quale revisione di processore sia installata sulla vostra macchina, >ricorrete al comando qui sotto per identificarla ></note> > ><pre caption="Getting the Runtime Libraries"> ># uname -p # check your processor revision >EV56 ># mv libots-2.2.7-2.alpha.rpm cpml_ev?-5.2.0-1.alpha.rpm /usr/portage/distfiles ></pre> > ><p> >Ora che gli rpm sono nella directory dei vostri distfiles, il portage sarà in grado di trovarli ed installarli nel vostro sistema. Utilizzate il codice seguente per fare l'emerge delle librerie. ></p> > ><pre caption="Installing Required Libraries"> ># emerge -pv dev-libs/libots dev-libs/libcpml # controlla che tutto sia ok ># emerge dev-libs/libots dev-libs/libcpml ></pre> > ><p> >Ora le librerie sono installate nel vostro sistema e siete pronti ad installare i compilatori e le utilities. ></p> > ></body> ></section> ><section> ><title>Installare i compilatori</title> ><body> > ><p> >Se non vi seiete già registrati per ottenere una licenza "enthusiast" or "academic" con Hp, ora potrebbe essere il momento giusto per richiederla. >Dovrebbero occorrere circa 24 ore affinchè la licenza venga rilasciata una volta che avete compilato il form su internet. ></p> > ><p> ><uri>http://h18000.www1.hp.com/products/software/alpha-tools/ee-license.html</uri> ></p> > ><warn> >Vi verrà richiesto d'inserire dettagli personali ed indirizzo email. L'indirizzo email deve essere valido dato che vi verrà inviata via email una >chiave di licenza che può essere utilizzata per sbloccare i compilatori. ></warn> > ><note> >Vi verrà inoltre chiesto di definire il motivo per il quale vi qualificate per una licenza free, che potrebbe essere ad esempio "Home Alpha Entusiast" o >"For academic use at XYZ college." ></note> > ><p> >Quando viene rilasciata la vostra licenza, na vostra email di notifica conterrà la license key. Utilizzate il comando qui di seguito per installare i compilatori ccc e cxx. ></p> > ><pre caption="Installing Compaq C"> ># emerge -pv dev-lang/ccc # controlla che tutto sia ok ># CCC_LICENSE_KEY=0123456789 emerge dev-lang/ccc ># ebuild /var/db/pkg/dev-lang/ccc-6.5.9.001.ebuild config ></pre> > ><note> >Ricordatevi di sostituire 0123456789 con la licence key che vi è stata inviata via email. ></note> > ><note> >Controllate quale versione del compilatore per C state installando prima dell'invio del comando ebuild. > Emerge vi dirà il comando da mandare una volta completato il processo. Il comando ebuild configura il compilatore per il vostro sistema, >facendo sì che individui correttamente files e librerie di sistema. ></note> > ><p> >Se tutto fosse andato bene, dovreste avere ora il compilatore C di Compaq installato e potete usarlo per cominciare compilare le applicazioni dal portage >o dalle vostre applicazioni. Se inoltre voleste usare i compilatori per C++, utilizzate i comandi qui sotto per installarli. >Non dimenticate di fare partire "cxx" alla fine per approvare l'EULA. ></p> > ><pre caption="Installing Compaq C++"> ># emerge -pv dev-lang/cxx # controlla che tutto sia ok ># CXX_LICENSE_KEY=0123456789 emerge dev-lang/cxx ># ebuild /var/db/pkg/dev-lang/cxx-6.5.9.31-r1.ebuild config ># cxx # legge ed approva l'EULA. ></pre> > ><p> >Qualora voleste approfittare del debugger potenziato ladebug, dovreste installarlo ora. ></p> > ><pre caption="Installing Ladebug, the Compaq Debugger"> ># emerge -pv dev-util/ladebug ># emerge dev-util/ladebug ></pre> > ><note> >Ladebug può essere utilizzato con gli eseguibili di GCC così come con gli eseguibili di ccc/cxx. Se provenite da un ambiente Tru64, >potrete aver maggior familiraità con ladebug e potreste ritenere più comodo utilizzarlo al posto di gdb per il debubbing generale. ></note> > ></body> ></section> ></chapter> > ><chapter> ><title>Utilizzare i Compaq Tools con il Portage</title> ><section> ><title>Compilare programmi C/C++ con il Portage</title> ><body> > ><p> >Compilare programmi dal portage con ccc è semplice. Nel seguente esempio mostreremo l'installazione di gzip, un'applicazione conosciuta come molto performante con ccc. ></p> > ><pre caption="Portage Compiling with ccc"> ># emerge -pv gzip # controlla che tutto sia ok ># CC=ccc CFLAGS="-host -fast" emerge gzip ></pre> > ><p> >ccc ha molte opzioni di ottimizzazione. Eccovi qui una descrizione dei CFLAGS utilizzati qui e di >e di alcune altre opzioni comuni utilizzate più in là nel seguente documento. ></p> > ><p> >Lo stesso metodo può essere utilizzato per compilare i programmi c++. Il seguente esempio usa groff, che che indicizza molto meglio quando viene compilato con cxx. ></p> > ><pre caption="Portage Compiling with cxx"> ># emerge -pv groff # controlla che tutto sia ok ># CXX=cxx CXXFLAGS="-host -fast" emerge groff ></pre> > ></body> ></section> ><section> ><title>Ottimizzare le vostre applicazioni compilate in ccc/cxx </title> ><body> > ><p> >L'ottimizzazione delle applicazioni per Alpha con ccc/cxx è più semplice che con il GCC. >Le opzioni simili vengono raggruppate insieme, rendendo le linee di comando più corte e più semplici. >La tabella sotto dimostra alcune delle flag più comuni che potreste voler provare nei vostri programmi. ></p> > ><table> ><tr> > <th>Flag</th> > <th>Descrizione</th> > <th>Sicurezza</th> ></tr> ><tr> > <ti>-host</ti> > <ti> > >Ottimizza l'applicazione per il sistema essendo compilata approfittando di qualsiasi set d'istruzioni disponibile >e programmando specificamente per questa macchina. Le applicazioni compilate in questo modo probabilmente non funzioneranno >su macchine Alpha differenti. > </ti> > <ti>Molto Sicuro.</ti> ></tr> ><tr> > <ti>-fast</ti> > <ti> >Attiva alcune ottimizzazioni avanzate; utilizzando questo flag verrà massimizzata la perfomance delle vostre applicazioni. > </ti> > <ti>Sicuro.</ti> ></tr> ><tr> > <ti>-O4</ti> > <ti> > >Inserisce istruzioni NOP instructions nel vostro codice per migliorare lo scheduling. >Esegue Software pipelining usando l'analisi delle dependencies, la vettorializzazione di alcuni cicli sul dati a 8-bit ed a 16-bit > (rispettivamente char e short). Usando questo flag potrebbe non sempre migliorare le prestazioni di codice e dovrebbe essere paragonato a -O3 e -fast. > </ti> > <ti>Solitamente sicuro, potrebbe non sempre miglirare la performance</ti> ></tr> ><tr> > <ti>-std1</ti> > <ti> > >Informa il compilatore di utilizzare l'interpretazione più rigorosa possibile degli standards, permettendo che vengano effettuate ottimizzazioni più aggressive >che non potrebbero avere risultati sensibili in un'interpretazione più liberale. > Non tutte le applicazioni compileranno con questo flag ed alcune, pur compilando, potrebbero non avere le performances previste. > </ti> > <ti>Potrebbe non compilare, ma dovrebbe aumentare le performances.</ti> ></tr> ><tr> > <ti>-tune host</ti> > <ti> >Sintonizza dettagliatamente il compilatore per la migliore perfirmance sull'architettura specificata; >utilizzare questo flag non vi impedirà di utilizzare i files binari su macchine differenti e migliorerà le prestazioni. > </ti> > <ti>Molto Sicuro.</ti> ></tr> ></table> > ><note> >CCC supporta l'interpretazione della maggior parte dei flags gcc cosìcché nel caso il <path>Makefile</path> della vostra applicazione specifichi >alcune opzioni gcc, niente panico, probabilmente CCC sarà in grado di comprenderle. ></note> > ><note> >Se avete configurato il flag "doc" USE nel vostro <path>make.conf</path>, >i compilatori avranno installata <path>/usr/share/doc</path> la documentazione completa. > Potete browsare questa directory per maggiorni informazioni. Ci sono inoltre eccellenti man pages. ></note> > ></body> ></section> ></chapter> > ><chapter> ><title>Note sui compilatori Compaq /title> ><section> ><title>Applicazioni che beneficiano del CCC/CXX</title> ><body> > ><p> >I compilatori compaq eccellono realmente nell'ottimizzazione applicazionu che coinvolgono intensi calcoli matematici in virgola mobile. > Possono anche sorpassare il GCC nella maggior parte delle situazioni nelle operazioni matematiche sugli integer. > Durante i miei esperimenti ho trovato molte applicazioni che usano riferimenti quasi identici sia con ccc così come con GCC, >ma non ha trovato alcuna applicazione che avesse performance peggiori con ccc/cxx.</p><p>Ricordate tuttavia che quel GCC ha ricevuto un testing più > vasto e che fornisse molte estensioni agli standards che i programmatori potrebbero usare. Il ccc potrebbe non supportare queste estensioni o non >supportarle così completamente come il GCC. Dovreste prendere in considerazione questi aspetti quando scegliete che cosa ottimizzare con ccc. ></p> > ></body> ></section> ><section> ><title>Benchmarking CCC</title> ><body> > ><p> >Se volete sperimentare differenti flags del ccc e confrontarli con GCC, avete bisogno di benchmark them. >A questo fine, suggerisco <uri link="http://www.freebench.org/">Freebench</uri > benchmark suite. >Compilerà e farà partire 6 tests differenti designati per verificare le prestazioni di integer e virgola mobile ed inoltre genererà > grafici del HTML per i confronti. ></p> > ><p> >Qui ci sono alcuni esempi che ho preparato: ></p> > ><table> ><tr> > <th>Test</th> > <th>Sommario</th> ></tr> ><tr> > <ti> > <uri link="http://dev.gentoo.org/~taviso/results-ccc-vanilla.html">CCC Vanilla</uri> > </ti> > <ti>CCC risulta senza flags specificati.</ti> ></tr> ><tr> > <ti> > <uri link="http://dev.gentoo.org/~taviso/results-gcc-vanilla.html">GCC Vanilla</uri> > </ti> > <ti>GCC risulta senza flags specificati.</ti> ></tr> ><tr> > <ti></ti><ti></ti> ></tr> ><tr> > <ti> > <uri link="http://dev.gentoo.org/~taviso/results-ccc-normal.html">CCC Normal</uri> > </ti> > <ti>CCC risulta con alcuni flag comuni</ti> ></tr> ><tr> > <ti> > <uri link="http://dev.gentoo.org/~taviso/results-gcc-normal.html">GCC Normal</uri> > </ti> > <ti>GCC risulta con alcuni flag comuni.</ti> ></tr> ><tr> > <ti></ti><ti></ti> ></tr> ><tr> > <ti> > <uri link="http://dev.gentoo.org/~taviso/results-ccc-best.html">CCC Best</uri> > </ti> > <ti>CCC con alcune altre opzioni specificate.</ti> ></tr> ><tr> > <ti> > <uri link="http://dev.gentoo.org/~taviso/results-gcc-best.html">GCC Best</uri> > </ti> > <ti>GCC risulta con alcuni flag comuni.</ti> ></tr> ></table> > ><note> >Più in alto è meglio. ></note> > ><note> >Un confronto su singola pagina è disponibile <uri link="http://dev.gentoo.org/~taviso/results.html">qui</uri> ></note> > ></body> ></section> ><section> ><title>Caratteristiche avanzate di prestazioni</title> ><body> > ><p> >Se state usando Alpha per più di alcuni minuti, conoscete gli accessi di tipo Unaligned, errori di programmazione che interessano > gli utenti Alpha e portano le applicazioni a subìre dei cali di prestazione mentre il kernel li ripara. ></p> > ><p> >Gli accessi di tipo "Unaligned" non sono seri; i programmi funzioneranno benissimo per anche con essi. >Tuttavia che il kernel non può ripararli immediatamente ed ogni volta che ne corregge uno, la vostra applicazione rallenterà in fase d'esecuzione. >Solitamente questo è un vero e proprio problema, ma in alcuni programmi potreste notare un rallentamento. ></p> > ><pre caption="Unaligned Trap Messages"> >Apr 9 01:05:55 amnesiac bash(20147): unaligned trap at 0000039db4526d98: 000003 >9db4662e26 28 1 >Apr 9 01:05:55 amnesiac bash(20147): unaligned trap at 0000039db4526d9c: 000003 >9db4662e2a 28 3 >Apr 9 01:06:03 amnesiac snort(23800): unaligned trap at 000000012003fe60: 00000 >00120161a92 2c 2 >Apr 9 01:06:03 amnesiac snort(23800): unaligned trap at 000000012003fe78: 00000 >00120161a96 2c 2 >Apr 9 01:06:03 amnesiac snort(23800): unaligned trap at 000000012003feb0: 00000 >00120161a9e 2c 4 >Apr 9 01:06:03 amnesiac snort(23800): unaligned trap at 000000012003feb4: 00000 >00120161aa2 2c 5 ></pre> > ><note> >Potete vedere questi messaggi sulla vostra macchina con il comando dmesg. ></note> > ><p> >Ci sono due modi per correggere questi errori in modo da minimizzare il calo di prestazioni. >Se siete un programmatore, potete correggere gli errori. Questo è di solito semplice, ma alcune applicazioni ne sono piene o sono molto complesse. >Se pensate di poterlo fare, Hp mette a disposizione della documentazione per i programmatori sul come identificare e correggere questi bugs all'url qui sotto. ></p> > ><p> ><uri>http://h21007.www2.hp.com/dspp/tech/tech_TechSingleTipDetailPage_IDX/1,2366,161,00.html</uri> ></p> > ><p> >Il secondo modo consiste nell'utilizzare il compilatore di Compaq e il flag -misalign, questo aggiungerà codice di controllo addizionale per >verificare che tutto il codice sia stato allineato. Ciò farà eseguire più lentamente il vostro programma, in modo che possiate sperimentare e >controllare se ne vale la pena coreggere gli errori. </p><p>Se possibile eseguite l'applicazione con <path>time</path>. Quando il programma termina l'esecuzione dovrebbe >mostrare quanto tempo ha impiegato il kernel per processare le chiamate di sistema, compresa la correzione degli accessi disallineati. >Se questo numero è alto (potete confrontarlo con altre piattaforme) e state ricevendo molti messaggi UAC, >potreste trarre beneficio ricompilando con il codice supplementare di controllo. ></p> > ><pre caption="Measuring the Performance of an Unaligned Access"> ># time your_application >real 0m2.011s >user 0m0.004s >sys 0m2.007s ># CC=ccc CFLAGS="-host -fast -misalign" emerge your_application ># time your_application >0m0.811s >0m0.804s >0m0.007s ></pre> > ><note> >Naturalmente non dovete compilare l'intera applicazione con il flag -misalign. Potete usare la documentazione Hp qui dis eguito per >identificare il file sorgente che contiene gli errori ed utilizzare il flag -misalign su quei files specificatamente. ></note> > ><note> >Se i messaggi UAC vi danno fastidio o se voleste migliorare kernel inserendo del codice per ottenere le massime prestazioni, potete modificare > <path>/usr/src/linux/arch/alpha/kernel/traps.c</path> e rimuovere printk() e switchare degli statements. ></note> > ><note> >Potete utilizzare ils eguente comando per controllare quante volte il kernel ha corretto questi errori dal vostro utlimo reboot. ></note> > ><pre caption="Check UAC Stats"> >$ grep unaligned /proc/cpuinfo >kernel unaligned acc : 3 (pc=fffffc000035c7e0,va=120000f1a) >user unaligned acc : 6623 (pc=28d361e4c1c,va=28d36320f62) ></pre> > ></body> ></section> ></chapter> > ></guide>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 82476
: 51534