Archive for the ‘nVidia’ Category

Linux e il 3D Benchmarking

Monday, February 23rd, 2009

L’analisi delle prestazioni di un elaboratore consiste nel misurare le capacità di calcolo con un insieme di programmi (carico di lavoro, detto workload) particolari. “Nella maggior parte dei casi le prestazioni sono l’attributo più importante nell’orientare la scelta fra diversi elaboratori disponibili” (Patterson e Hennessy, Struttura e progetto dei calcolatori, pag. 37). Certamente la misura da sola non suggerisce alcuna indicazione utile all’acquirente. Occorre ripeterla fra varie macchine, cioè svolgere un confronto e poi riferire i risultanti. Studiando questi dati, nel corso degli anni, i progettisti hanno perfezionato gli elementi del personal computer che davano maggiori prestazioni in certe aree piuttosto che in altre. L’acceleratore grafico (GPU) ha sostituito la CPU nei calcoli geometrici e si è specializzato sul rendering delle scene 3D. La tecnologia SLI (o l’alternativa Crossfire), di recente invenzione, promette di raddoppiare o triplicare (quasi), a seconda del numero di GPU messe in parallelo, le prestazioni dell’elaboratore con le applicazioni 3D che sono prevalentemente giochi basati su OpenGL o DirectX. Gli ingegneri hanno aggiunto poi alla GPU le istruzioni macchina per risolvere complicate formule di matematica e fisica, mi riferisco all’engine CUDA di nVidia. Una valutazione accurata sull’efficienza del sistema hardware e software viene svolta con un gruppo di benchmark. Si tratta spesso di programmi individuati fra quelli che l’utente utilizza abitualmente (Phoronix Test Suite), oppure sono applicazioni specifiche che esaminano determinate componenti (CPU2006, RAMSpeed, ecc). Oggi la grafica 3D richiede più potenza e memoria di qualsiasi altro programma per PC. Quando usiamo i videogiochi come carico di lavoro sul nostro banco di prova, otteniamo una previsione molto attendibile delle prestazioni del calcolatore. Il metodo è semplice. Possiamo valutare l’affidabilità del nostro computer partendo dai seguenti giochi: Quake III, Unreal Tournament 4, Doom 3, Enemy Territory, Quake Wars, Savage 2, Nexuiz, perché li troviamo a pagamento, gratuitamente o come demo nel World Wide Web e con uno sforzo minimo riusciamo a installarli in Linux.

Quake Wars

Quake Wars si adatta bene all’analisi delle prestazioni. Il suo motore grafico è derivato da Doom 3 e incorpora la tecnologia denominata MegaTexture che migliora indubbiamente l’aspetto del gioco negli spazi aperti della mappa. Possiamo adoperare, per il nostro scopo, la versione di prova oppure quella commerciale. Prima dobbiamo scegliere la mappa, quindi registrare una partita da Internet e poi ripetere la registrazione con una opzione determinata. Al termine dell’operazione, il motore grafico calcola il frame rate dividendo il numero totale di immagini che compongono l’animazione con il tempo, espresso in secondi, impiegato dalla macchina fisica per visualizzarle. Il risultato esprime l’effettiva prestazione della scheda grafica e del sottosistema hardware/software. Il valore suggerisce anche a quale risoluzione video possiamo giocare senza perdere troppa qualità nell’immagine.

Scarica uno dei pacchetti messi a disposizione per Linux

Quake Wars demo v2.0
– Contiene la mappa Valley
Quake Wars 1.5 Full – Richiede il DVD

Per registrare una partita, collegati a un server e premi il tasto F12. Troverai il file della registrazione nella directory:
$HOME/.etqw/base/demos

Dalla console del gioco esegui i seguenti comandi in successione:

com_unlock_FPS 1
com_unlock_timingMethod 0
com_showFPS 1
timeNetDemo FILENAME.ndm
condump FILENAME.log

Puoi mettere questi comandi, preceduti dalla parola chiave seta, in un file di testo chiamato NOMEFILE.cfg:

seta com_unlock_FPS 1
seta com_unlock_timingMethod 0
seta com_showFPS 1
timeNetDemo FILENAME.ndm (* questo senza seta *)

Poi dalla console devi soltanto invocarlo con:
exec NOMEFILE.cfg

Non dimenticare la riga di comando di Unix che abilita la console (se disabilitata):

etqw +set com_AllowConsole 1

Ho messo a confronto il PC Frag Storm con il portatile Asus A6Tc. I risultati sono raccolti in diversi istogrammi. Tra i due computer c’è una marcata differenza di prestazioni alle alte risoluzioni: da 1280×1024 pixels in su, per intenderci. Lo scarto si riduce ad appena venti FPS usando la configurazione di 800×600 pixels con bassa qualità della immagine. Da questa analisi, mi aspettavo un rendimento maggiore dal PC Fragstorm perché montava delle componenti più moderne e potenti. Ma non posso nemmeno lamentarmi ora che raggiungo le risoluzioni elevate mantenendo un frame rate decente: il minimo di quaranta FPS è pur sempre garantito a 1680×1050 pixels, a questo livello ricordo che la resa del portatile era pressoché nulla. Non ho preso in considerazione l’overclocking, col quale avrei potuto guadagnare prestazioni leggermente superiori, credo.

1687

PC Fragstorm

  • CPU Amd Athlon 64 X2, 2.5GHz
  • 2 GB DDR2, 800MHz
  • GeForce 8600 GTS, GPU Clock=675Mhz, Memoria DDR3 da 1008Mhz

Asus A6Tc

  • CPU Amd Turion 64 X2, 1.60Ghz
  • 1 GB DDR2, 533Mhz
  • GeForce 7300 Go, GPU Clock=325MHz

Una sintesi del PC Gigabyte S-Series

Sunday, February 8th, 2009

Il PC Gigabyte S-Series (Frag Storm) è un computer IBM compatibile con processore a doppio core che ho assemblato l’estate scorsa. Volevo un sistema radicalmente nuovo, cioè costruito da zero usando componenti più moderne, soprattutto per giocare a Savage 2, dato che il portatile A6Tc non lo reggeva veramente bene. Tuttora lo ritengo adatto anche per i giochi che acquisterò o proverò in futuro: Unreal Tournament 3, Postal 3, Rage, ecc. Dopo sei mesi, scrivo finalmente questo articolo soddisfatto dei risultati ottenuti e allego i grafici dell’ultima analisi effettuata sulle memorie DDR2 con la ben nota collezione di programmi Phoronix Test Suite per Linux. Le componenti che costituiscono il Frag Storm sono elencate di seguito assieme alle foto scattate all’epoca del montaggio. Dove possibile riporto il prezzo aggiornato di ogni pezzo.

Scheda Madre

1591

GIGABYTE – GA-M57SLI-S4. Manuale dell’utente inclusi: francese e inglese. Gigabyte è una marca che non ha bisogno certo di presentazioni; ho preferito il presente modello principalmente per tre motivi: il chipset è nForce, ha il dissipatore passivo e il disegno costruttivo della scheda appare molto elegante. Fa insomma un figurone con i cabinet aperti o semplicemente dotati di finestra come il mio. Colpisce subito lo stile grafico utilizzato per la stampa delle informazioni sulla scatola e sul libretto informativo, grazie alla scelta indovinata dei colori bianco/arancione/giallo/verde, con sigle evidenti sul lato superiore e diciture esaustive su quello inferiore. I loghi delle principali caratteristiche tecniche spiccano fra tutto il resto: Gamer’s Choice! SLI. Speed. Smart. Safe SATA 3Gb/s. Support AM2+ CPU. C’è un doppio involucro: quello esterno è sottile e patinato, quello interno si dimostra più robusto per custodire la scheda madre e gli accessori. Se la confezione è di qualità, si può tenerla in mostra sugli scaffali oppure rivendere l’oggetto senza pericolo di danneggiarlo durante la spedizione. Però le cose che mi piacciono particolarmente, come la Gigabyte M57SLI-S4, alla fine le custodisco nell’imballo originale in un armadietto, lontano dalla polvere e dall’umidità. Il codice GA-M57SLI-S4 fa riferimento al controller nForce 570 SLI e alle quattro funzioni principali offerte: SLI, Speed, Smart e Safe.

Dal punto di vista informatico, sulla mobo (da mother board) è saldato il socket AM2, adatto per l’installazione dei modelli Athlon 64 FX, Athlon 64 X2 Dual Core, Athlon 64 e Sempron. Il sito web di riferimento (vd. dettagli GA-M57SLI-S4) e la confezione specificano che la mother board ha la compatibilità per AM2+, il supporto si estende quindi anche alle CPU Phenom X3 e X4. E’ scontato che con queste capacità di espansione, si può ancora far ricorso ad un aggiornamento del sistema a un anno dall’acquisto o persino oltre. Il bus HyperTransport (FSB) collega la CPU al chipset per le operazioni di Input/output. I banchi della memoria Dram sono invece direttamente connesse alla CPU tramite la tecnologia Direct Connect Architecture, mentre il processore (MCP) nForce 570 SLI di nVidia permette l’inserimento di due schede video sui pettini PCIe x16 disponibili; le schede si abbassano però a lavorare in parallelo su due vie a x8, è il limite del chipset. Oggi questa configurazione, denominata SLI, garantisce anche agli utenti del sitema operativo Linux un incremento delle prestazioni nella grafica e nei giochi rispetto alla soluzione con scheda video singola. La scheda con un grosso dissipatore, se inserita nel secondo bus PCIe x16, rende inutilizzabile l’adiacente slot PCI di vecchia generazione a causa del layout compatto. Per quanto riguarda le connessioni di input/output di nForce, ci sono: un connettore per floppy disk, un connettore per dispositivi IDE (ATA 33/66/100/133), sei connettori SATA-II da 3GB/s, incluso il supporto via hardware per combinare i dischi in RAID 0, RAID 1, RAID 0+1 e RAID 5 i dischi SATA. Il Marvell 88E1116 è il microcontrollore LAN ethernet da 10/100/1000 Mbit, regolato dal modulo nforcedeth del kernel di Linux. L’audio viene prodotto dal chip Realtek ALC888, con le più diffuse caratteristiche attualmente disponibili: High Definition Audio, configurazioni da 2/4/6/8 canali, riproduzione diretta dal lettore CD, ingresso e uscita S/PDIF. Le dieci porte USB consentono il collegamento di un soddisfacente numero di periferiche: stampante, mouse, tastiera, ricevitori DVB-T, e molto altro. Prezzo, iva inclusa: 70,80

Cabinet

Thermaltake – Armor Jr. Per l’assemblaggio del Lan Party UT250 avevo scelto il Vostok di Enermax, un cabinet robusto ed economico, ma per il nuovo PC volevo fare le cose in grande stile comprandone uno munito di finestra che non costasse un patrimonio e che potesse eventualmente ospitare un sistema di raffreddamento a liquido. Poiché la postazione di lavoro era composta da mobili di legno in pino massiccio, dovevo procurarmi un case di colore nero, di tipo miditower, non troppo pesante perché l’avrei collocato su uno scaffale IVAR di IKEA che porta al massimo venticinque chili per ripiano. Il Thermaltake Armor Jr. mi piaceva esteticamente ed era proprio adatto ai miei scopi. L’avevo ricevuto a casa ad agosto, imballato in uno scatolone con doppio strato di cartone, ma all’interno protetto ulteriormente da cuscinetti di polistirolo e da una cuffia di materiale sintetico tessuto a “nido d’ape”. Oggi si trova in commercio in diverse versioni, con alimentatore a partire da 400W oppure senza alimentazione. L’Armor Jr. presenta due lunghe placche di alluminio che realizzano una originale armatura per il pannello anteriore. All’occorrenza le ante vanno aperte, per far scorrere il cassetto del lettore di DVD oppure per raggiungere meglio i pulsanti dei dispositivi di controllo (accensione, spegnimento, raffreddamento, ecc.). La finestra di plastica del fianco sinistro non ha una linea semplice, si distinguono quattro curve che lasciano comunque intravedere la scheda madre e buona parte dei cestelli per gli apparecchi da tre e cinque pollici. Sul lato posteriore in alto c’è spazio per il blocco di alimentazione, al centro si vedono gli sfiatatoi esagonali della generosa ventola di raffreddamento da dodici centimentri, in basso le sette aperture per l’upgrade hanno un efficacie sistema di bloccaggio delle schede. Il cabinet è conforme allo standard ATX, con la possibilità di cambiarlo a BTX mediante un kit supplementare. All’interno i cavi di vari colori del bottone d’accensione, di reset e delle spie luminose sono intrecciati fra loro; invece i fili per le prese (nascoste da uno sportellino sul lato superiore) USB, Firewire e audio sono isolati da una guaina nera. Dietro al pannello anteriore è stata installata, all’altezza del cesto più piccolo, un’altra ventola da dodici centimetri con led di colore blu incorporato. La ventola fa un effetto suggestivo a computer accceso, ma di nascosto esegue anche un lavoro molto utile: convoglia un flusso d’aria fresca ai dischi rigidi e alle restanti componenti. Prezzo, iva inclusa: 115,20

CPU e memoria

AMD – Athlon 64 X2. Kingston – KVR800D2N5. Il processore Amd Athlon 64 X2 4800+ per socket AM2 ha un doppio core con frequenza operativa di 2.5 Ghz, consuma 65 Watt e dispone di una cache L1 da 128Kb e L2 da 512Kb per ciascuna cpu. Ad agosto costava 53€; non è più in commercio.
La memoria Kingston KVN800D2N5 ha 8 chip per lato da 64MB ciascuno, è di tipo DDR2 da 800MHz e appartiene alla categoria ValueRAM per sistemi desktop generici; non presenta un dissipatore passivo. Avendo acquistato due moduli, ho speso 44€, ma oggi si trovano a circa 13,50€ cadauno. Ho ritenuto opportuno installare 2GB, per ottenere stabilità e fluidità di gioco soprattutto in Savage 2. Il test con ramspeed ha rivelato una velocità di trasferimento pari a 2262 MB che non sembra eccezionale, ma resta pur sempre nella norma.

Ramspeed

Assemblaggio

Per il montaggio del PC ho utilizzato soltanto il cacciavite e la forbice, impiegando circa un’ora.

L’alimentatore iTek fornisce 500 Watt di potenza, la minima per un sistema SLI; però io ho acquistato una sola scheda video, di per sé già abbastanza potente: la nVidia GeForce 8600 GTS di XFX. Questo modello GeForce 8, avendo una GPU con frequenza di 675MHz e 256MB di memoriea DDR3 da 1008MHz, supera notevolmente la GeForce 7300 Go del portatile nei giochi eseguiti ad alte risoluzioni (anche dell’ordine di 1680×1024 pixels).

Il PC radiografato con Phoronix Test Suite. Michael’s Laptop vs Ferocious

Saturday, April 5th, 2008

Mentre leggo la notizia di Phoronix, già fantastico sulle prestazioni del portatile che acquisterò alla fine di questo mese (devo scegliere fra MSI GX 700 o Toshiba X200). Non aggiungerò oggi nulla a quanto è stato già scritto altrove, a parte naturalmente parlarvi di alcune prove effettuate per conto mio con il nuovo Phoronix Test Suite (PTS) sull’attuale computer. Ammetto che l’argomento benchmark è piuttosto ostico, ma i software di questo tipo vengono in aiuto ai principianti perché permettono facilmente di svolgere comparazioni, confronti con altri dati statistici pubblicati sul web oppure semplicemente esaminare a fondo il PC alla ricerca dei punti deboli che compromettono il rendimento complessivo (valore importante per giocare bene). PTS è dunque una collezione di programmi per il Benchmark sotto Linux; non solo Phoronix li usa per i suoi test “interni”, ciò basterebbe come garanzia sui risultati, ma sono stati sviluppati seguendo anche i suggerimenti dei venditori di componenti hardware. Non voglio sminuire i progetti analoghi, anzi colgo l’occasione per ringraziare Encelo per avermi segnalato GL O.B.S. Mi occuperò anche del suo GL Open Benchmark Suite così come di SPECviewperf, questione di giorni perché devo prima conoscere a fondo una cosa per poterla trattare in maniera obiettiva e completa. Ma il mio contributo resterà pur sempre modesto, dovendomi limitare a riportare link ed opinioni da un blog così poco conosciuto. Mi dispiace soprattutto per gli addetti ai lavori, che non riceveranno una eco pari allo sforzo da loro compiuto.
Inizialmente ho avuto dei problemi di installazione ed esecuzione. La procedura non era chiara, speravo di trovare istruzioni precise nella directory per lanciarmi subito con i benchmark, invece conteneva solo informazioni essenziali: un README con i collegamenti al sito web, un TODO con la lista delle cose ancora da fare: scrivere la documentazione per esempio! Poi mi ha sorpreso il linguaggio di scripting php usato per l’esecuzione batch dei comandi. PHP rappresenta un emblema della portabilità dei programmi fra sistemi operativi, ma questa portabilità è veramente necessaria per i nostri scopi? Sì, se il confronto si deve fare fra Linux con Windows, Linux e FreeBSD o Solaris, ecc. Però siamo abituati a eseguire php sui server per creare e serverire pagine web anziché da linea di comando per mandare in esecuzione le applicazioni. L’impatto del software di benchmark sulla memoria di sistema e sull’elaborazione è cruciale. Forse anche sotto questo punto di vista l’interprete php si rivela una scelta azzeccata per non falsare i risultati, avendo poche dipendenze e consumando risorse minime. Gli intoppi che accennavo in precedenza, non si sarebbero manifestati su una distribuzione Linux, io invece usavo Linux From Scratch e tra una dipendenza e l’altra (PHP 5, Php-GTK) non sono riuscito a venirne a capo immediatamente, ma solo dopo aver chiesto lumi a Michael sul forum.

Michael’s Laptop vs Ferocious

PTS Global raccoglie i risultati dei test. Tramite identificatori si possono effettuare confronti con i benchmark di altri utenti e pubblicarli sul sito, nella sezione creata apposta. Una caratteristica utile e interessante che potrebbe essere migliorata con l’aggiunta di stili personali per la grafica (con tag per un facile inserimento degli istogrammi nei blog o nei siti web). Il sistema sembra pure predisposto per una “autenticazione” degli utenti, previa registrazione. Per il momento però l’upload dei dati avviene in maniera anonima e la ricerca tramite le ID o per categoria di suite. Manca il riassunto finale dei dati con una interpretazione, almeno delle note per spiegare quando i valori sono da considerarsi positivi e quando negativi.
Avendo voluto fare una analisi delle prestazioni con Ramspeed fra il mio portatile e quello di Michael Larabel, principale autore di questo software, mi sono procurato dalla lista la ID che corrispondeva al benchmark da lui svolto e l’ho passata come argomento al programma phoronix-test-suite. Tutto il necessario per la prova comparativa veniva scaricato all’occorrenza da Internet.
PTS Global per Ramspeed test

Micheal’s Laptop:
Logo di Intel Core 2 DuoProcessor: Intel Core2 Duo CPU T9300 @ 2.50GHz (Total Cores: 2), Motherboard Chipset: Intel Mobile PM965/GM965/GL960, System Memory: 1982MB, Graphics: nVidia Quadro NVS 140M, Screen Resolution: 1680×1050. OS: Ubuntu 8.04, Kernel: 2.6.24-14-generic (x86_64), X.Org Server: 1.4.0.90, Compiler: GCC 4.2.3.

Ferocious:
Processor: AMD Turion(tm) 64 X2 Mobile Technology TL-50 (Total Cores: 2) @ 1.60GHz, Motherboard Chipset: Advanced Micro Devices, System Memory: 1009MB, Graphics: nVidia GeForce Go 7200, Screen Resolution: 1680×1050. OS: Linux From Scratch, Kernel: 2.6.23.1 (i686), X.Org Server: 7.2.0, Compiler: GCC

Ho effettuato un’ultima prova comparativa fra il Turion X2 del mio Asus e il processore Intel Pentium M di Michael, i risultati sono pubblicati al seguente indirizzo: root-21922-23591-12366