Newsgroup: it.hobby.scacchi
Titolo: domanda per intenditori linux, bsd e motori scacchistici.

Ciao, un programma di scacchi gira pi� velocemente su linux, bsd o 
dragonflybsd?
Ho letto che bsd in alcuni casi ha prestazioni maggiori di linux, ma non 
specifica quali, mentre dragonflybsd usa rispetto a bsd un sistema di 
allocazione della memoria diverso, questo pu� contare per un software 
tipo stockfish?
 
ciao e grazie !


Vedo in giro spesso forum e blog dove la gente si scervella per 
compilare al top del top l'engine di turno. E' meglio gcc? E' meglio 
microsoft visual c++? E' meglio Linux?
Se ci mettiamo pure i sistemi operativi non ne usciamo vivi :-)
 
Le prestazioni non dipendono, in gran parte, dal sistema operativo. 
Dipendono soprattutto dal compilatore disponibile per quel particolare 
hardware (e particolare S.O.).
 
Se io ho un ben preciso processore Intel i7-ciccialippa mi documento, 
leggo i benchmark, e trovo il compilatore che meglio ottimizza per 
l'i7-ciccialippa. Eventualmente se sono capace prendo il codice sorgente 
e provo a ottimizzarlo per quell'architettura.
 
Al momento il compilatore migliore � il Visul C++ per U�ndos 7? Amen, 
significa che mi serve U�ndos 7... Migliore poi bisogna vedere per 
cosa... Ci sono compilatori che spingono di pi� il calcolo in virgola 
mobile, altri gestiscono meglio la memoria. E fra tre mesi il GCC tirer� 
fuori quacosa di meglio... chiss�.
 
E poi alla fine stiamo parlando di ottimizzazioni che fanno guadagnare 
MANCIATE (nell'ordine della dozzina) di punti ELO. Si guadagnano pi� 
punti con un buon libro di aperture o semplicemente migliorando 
l'hardware. Vuoi installare BSD (che poi sicuramente non ci fai nulla) 
per avere 15 punti in pi�? Ne vale la pena?
 
M.
 

On 01/12/2013 11:02, enrico tognoni wrote:



 per avere 15 punti in pi�? Ne vale la pena?
 
Effettivamente, la domanda � pi� che lecita, io per� qualche dubbio sul 
compilatore di windows ce l'ho soprattutto se il programma � scritto su 
linux e portato su windows e viceversa.
Un mio amico argentino compila stockfish su windows 7 e su arch linux e 
su ubuntu, ha constato che su arch � pi� veloce, di ubuntu che � pi� 
veloce di windows, e non parlo di eseguibili scaricati e ottimizzati da 
web page, ma parlo di sorgenti compilate col massimo dell'ottimizzazione 
e varie e sistematiche prove compilando con anche l'aiuto di esperti.
Detto questo non ha fatto prove su i7 ma solo i3 o i5 quindi magari 
quello che dici � vero per gli i7 e amen. Ballano qualche decina di 
migliaio di nodi al secondo su tipo un totale di 1.5milioni.
Io ho notato che se compili con -mavx piuttosto che -msse4 ci sono 
miglioramenti, che dirai sono minimali, ma se guardi lo scontro komodo 
stockfish che si sta svolgendo ora su 
tcec.chessdom.com
, noterai che 
alla fine si risolver� su una barca di partite, in cui lo scarto sar� di 
uno o due punti, quindi 15 punti elo, buttali via :D
L'idea � che se fai giocare un'engine su fics con altre engine cerchi la 
massima prestazione di default.
 
Poi siccome sono curioso sulle wiki leggevo che su certe operazioni bsd 
� pi� veloce, e che dragonflybsd fa delle modifiche sulla cpu e sulla 
ram come accessi, che dato che le engine di scacchi utilizzano 
pesantemente, magari valeva la pena di fare qualche test. Stiamo 
parlando di miliardi di operazioni ripetute, quindi anche una piccola 
sfumatura di millisecondi vuol dire tanto.
 
ciao e buon linux
 
 

 piccola sfumatura di millisecondi vuol dire tanto.
 
Vero, le ottimizzazioni sono importanti e sacrosante. Recuperare qualche 
microsecondo a ciclo pu� voler dire molto, soprattutto per lunghe 
elaborazioni. Basti pensare a software che girano per settimane intere 
(robe di grosso calcolo matematico ecc.).
 
Ma... lasciamo le ottimizzazioni agli sviluppatori. E soprattutto, se 
chi legge � uno sviluppatore... imparate a scrivere buon software e non 
ad appoggiarvi sull'hardware o sul coompilatore.
 
L'utente finale non se ne fa nulla. Neanche Carlsen penso abbia bisogno 
di BSD perch� Stockfish ci gira pi� veloce :-)
 
Io ad esempio mi son compilato Stockfish da solo per il semplice motivo 
che sulla Ubuntu che ho non l'hanno aggiornato e sul sito non ci sono i 
binari. Finito l�. Non mi sono messo a spippettare per avere 5 punti ELO 
in pi�... :-)
 
M.

 in pi�... :-)
In realt� � proprio quello che hai fatto sei andato a prendere il 
sorgente immagino da 
http://abrok.eu/stockfish/
 e lo hai compilato per 
la tua versione per avere 5 punti elo in pi� o magari 25.
 
http://packages.debian.org/it/sid/stockfish
 
 
qui trovi la versione di debian unstable che � aggiornata a 2013 05 08
occhio a scegliere la versione della tua architettura.
 
da terminale o tramite mouse lo installi io preferisco da terminale
 
sudo dpkg -i stockfish*.deb e lo installi senza compilarlo
 
comunque, dal sito di stockfish incoraggiano ad usare i pacchetti 
precompilati o meglio ancora, compilarlo su linux che � veramente facile.
 
Quanto al fatto di fare le modifiche al sorgente da se', � utopico a 
meno che tu non sia un programmatore di C++ coi controfiocchi e esperto 
di chess engines nonch� appassionato all'argomento oltre la 
psicopatologia, quindi anche se il 2% di utenti computer � linux users 
la categoria sopracitata limita al 0.001% :D quindi gi� il fatto che 
questo tread � frequentato solo da me e te... fai due calcoli.. :D
 
ciao e buon linux