Auf den Weg zum stärksten Schach-Programm der Welt
Re: Auf den Weg zum stärksten Schach-Programm der Welt
hi,
also ich hab das nochmals durchgetestet und bei HT aktiv und 3 cores ist mein system nur bei 38% komplettauslastung und die werte sind auf der seite dennoch die gleichen.
bei 6 cores ist das wieder wie bisher auch. hab HT wieder aus gemacht und ich hab das selbe ergebnis wie bei 6 core HT.
die rechenleistung bleibt die gleiche wie zu erwarten.
tzipproth hast du geschrieben nutzt 4 HT kerne das entspricht 2 reallen, sollte doch OK sein aufm i7 quad die standardmässig eh HT aktiviert haben.
falls nicht hat er kein HT an oder evtl. gut übertaktet.
ich finde jetzt kein negatives verhalten von seiten des HT.
mmh, möge die weisheit der entwickler mich erleuchten
also ich hab das nochmals durchgetestet und bei HT aktiv und 3 cores ist mein system nur bei 38% komplettauslastung und die werte sind auf der seite dennoch die gleichen.
bei 6 cores ist das wieder wie bisher auch. hab HT wieder aus gemacht und ich hab das selbe ergebnis wie bei 6 core HT.
die rechenleistung bleibt die gleiche wie zu erwarten.
tzipproth hast du geschrieben nutzt 4 HT kerne das entspricht 2 reallen, sollte doch OK sein aufm i7 quad die standardmässig eh HT aktiviert haben.
falls nicht hat er kein HT an oder evtl. gut übertaktet.
ich finde jetzt kein negatives verhalten von seiten des HT.
mmh, möge die weisheit der entwickler mich erleuchten
Re: Auf den Weg zum stärksten Schach-Programm der Welt
Siehe den Nachtrag in meinem letzten Posting.Norman hat geschrieben:hi,
also ich hab das nochmals durchgetestet und bei HT aktiv und 3 cores ist mein system nur bei 38% komplettauslastung und die werte sind auf der seite dennoch die gleichen.
Ich weiß nun auch warum die MNps gleich bleiben, das liegt daran, das der Bench immer nur auf einen Kern ausgeführt wird.
Und wie von mir vermutet bricht die tatsächliche Leistung auf einen HT Kern nicht ein, da in Hardware ein "echter Kern" (und nicht ein HT Kern) mit Vollast genutzt wird.
Bei HT an und mehr als 4 genutzten HT Kernen wird die Leistung pro HT Kern aber einbrechen, weil ja nur 4 echte Kerne zur Verfügung stehen (da der Bench nur auf ein Kern testet kann der das nicht anzeigen, das sind aber Erfahrungswerte).
tzipproth nutzt HT und 4 Kerne, das hat er selbst im Forum geschrieben.
Re: Auf den Weg zum stärksten Schach-Programm der Welt
Norman:
HT gaukelt deinem Betriebssystem nur vor, es wären 8 Kerne da. In Wirklichkeit sind es nur 4.
Wenn du jetzt trotzdem 8 Prozesse laufen lässt sorgt HT dafür, dass Recheneinheiten eines Cores, die ein Prozess nicht benötigt, von dem anderen genutzt werden können. Also bspw. kann ein Prozess die FPU nutzen, während ein anderer die Integer Einheit belegt. Das funktioniert aber nur so lange, wie die Prozesse unterschiedlich sind. Wenn beide die Integer Einheit benötigen, muss einer warten. Außerdem haben dann beide Prozesse nur noch die Hälfte des Caches zur Verfügung.
Was sich bei mir auf Arbeit bisher gezeigt hat: Für 90% der wissenschaftlichen Open Source Programme macht es keinen Sinn HT zu nutzen - es bremst die Gesamtrechenleistung sogar aus. Kommerzielle Programme hingegen sind meist so schlecht optimiert, dass es da wieder Sinn macht.
HT wurde vor allem für Desktops und Webserver entwickelt, die viele verschiedene Aufgaben gleichzeitig machen müssen und damit die unterschiedlichen Einheiten der CPU auch gleichzeitig nutzen können - und fürs bessere Marketing
Die 64 Core und 24 Core Server dort sind mit Sicherheit AMD Opteron Rechner. Ein AMD 64 Core Server kostet ca. genauso viel wie ein 16 Core Intel Xeon Server....
HT gaukelt deinem Betriebssystem nur vor, es wären 8 Kerne da. In Wirklichkeit sind es nur 4.
Wenn du jetzt trotzdem 8 Prozesse laufen lässt sorgt HT dafür, dass Recheneinheiten eines Cores, die ein Prozess nicht benötigt, von dem anderen genutzt werden können. Also bspw. kann ein Prozess die FPU nutzen, während ein anderer die Integer Einheit belegt. Das funktioniert aber nur so lange, wie die Prozesse unterschiedlich sind. Wenn beide die Integer Einheit benötigen, muss einer warten. Außerdem haben dann beide Prozesse nur noch die Hälfte des Caches zur Verfügung.
Was sich bei mir auf Arbeit bisher gezeigt hat: Für 90% der wissenschaftlichen Open Source Programme macht es keinen Sinn HT zu nutzen - es bremst die Gesamtrechenleistung sogar aus. Kommerzielle Programme hingegen sind meist so schlecht optimiert, dass es da wieder Sinn macht.
HT wurde vor allem für Desktops und Webserver entwickelt, die viele verschiedene Aufgaben gleichzeitig machen müssen und damit die unterschiedlichen Einheiten der CPU auch gleichzeitig nutzen können - und fürs bessere Marketing
Die 64 Core und 24 Core Server dort sind mit Sicherheit AMD Opteron Rechner. Ein AMD 64 Core Server kostet ca. genauso viel wie ein 16 Core Intel Xeon Server....
Re: Auf den Weg zum stärksten Schach-Programm der Welt
@nico:
Der 24 Core Server von Gary Linscott ist in der Tat von AMD, bei den 64 Core Server gehe ich aber davon aus, dass es ein Intel ist, die 1,34 MNps sprechen dafür.
Geld spielt bei den Mann aus Abu Dhabi (dem Veranstalter der PAL/CSS Freestyle Turniere) definitiv keine Rolle.
Der 24 Core Server von Gary Linscott ist in der Tat von AMD, bei den 64 Core Server gehe ich aber davon aus, dass es ein Intel ist, die 1,34 MNps sprechen dafür.
Geld spielt bei den Mann aus Abu Dhabi (dem Veranstalter der PAL/CSS Freestyle Turniere) definitiv keine Rolle.
Re: Auf den Weg zum stärksten Schach-Programm der Welt
jep, das weiß ich natürlich.
bei diesem schachprogramm aber teilt sich jeweils base und stockfish genau 1 cpu zeitgleich.
mit --concurrency 3 laufen also immer 6 prozesse paarweise verteilt auf 3 cpu´s zur selben zeit.
demnach muss 1 prozess immer auf den anderen warten bzw. die ALU teilen, was ja auch keinen sinn macht.
dann könnte man auch HT an lassen und die last auf freie cores verteilen. klar geht dann die berechnung nicht schneller aber evtl. effizienter.
4 cores bleiben 4 cores, da ändert sich ja nix. jetzt habe ich aber 6 prozesse mit jeweils 12.5% cpu-auslastung, also 75% auf 3 cores
wenn ich --concurrency 3 mit angeschaltetem HT ausführe rechne ich mit 3 virtuellen kernen mit 38% systemauslastung.
ich müsste also --concurrency 6 einstellen um 3 echte cores auszulasten. der rest schläft.
da sich das schachprogramm aber immer auf 1 core konzentriert egal ob echt oder virtuell würde das in dem fall eine halbierung darstellen.
der durch HT halbierte core würde durch das programm wieder halbiert werden auf 6.25% auslastung jeweils für stockfish und base.
es passiert eigentlich nichts bis auf dass alles langsamer wird und man muß länger auf das ergebnis warten.
jeweils base und stockfish, konzentriert auf 1 virtuellen core oder auch 1 realen bekommen gleich rechenleistung.
50%+50%=100%. keiner bekommt mehr oder weniger rechenzeit da eh gewartet werden muss.
bei manchen rechnern hat man eben keinen zugriff auf das BIOS und kann dieses HT eben nicht abschalten und "darf/soll" bei dem projekt also nicht mitrechnen ????
das problem sehe ich also eher in der software als im HT
vielleicht gab es in der vergangenheit mal probleme mit HT-rechnern und ist inzwischen nicht mehr aktuell ?
naja, egal. ich bin eh kein verfechter von diesem HT kram und standardmässig deaktiviere ich es wo immer ich die möglichkeit habe.
manchmal kann es nützlich sein aber meistens brauche ich es nicht
bei diesem schachprogramm aber teilt sich jeweils base und stockfish genau 1 cpu zeitgleich.
mit --concurrency 3 laufen also immer 6 prozesse paarweise verteilt auf 3 cpu´s zur selben zeit.
demnach muss 1 prozess immer auf den anderen warten bzw. die ALU teilen, was ja auch keinen sinn macht.
dann könnte man auch HT an lassen und die last auf freie cores verteilen. klar geht dann die berechnung nicht schneller aber evtl. effizienter.
4 cores bleiben 4 cores, da ändert sich ja nix. jetzt habe ich aber 6 prozesse mit jeweils 12.5% cpu-auslastung, also 75% auf 3 cores
wenn ich --concurrency 3 mit angeschaltetem HT ausführe rechne ich mit 3 virtuellen kernen mit 38% systemauslastung.
ich müsste also --concurrency 6 einstellen um 3 echte cores auszulasten. der rest schläft.
da sich das schachprogramm aber immer auf 1 core konzentriert egal ob echt oder virtuell würde das in dem fall eine halbierung darstellen.
der durch HT halbierte core würde durch das programm wieder halbiert werden auf 6.25% auslastung jeweils für stockfish und base.
es passiert eigentlich nichts bis auf dass alles langsamer wird und man muß länger auf das ergebnis warten.
jeweils base und stockfish, konzentriert auf 1 virtuellen core oder auch 1 realen bekommen gleich rechenleistung.
50%+50%=100%. keiner bekommt mehr oder weniger rechenzeit da eh gewartet werden muss.
bei manchen rechnern hat man eben keinen zugriff auf das BIOS und kann dieses HT eben nicht abschalten und "darf/soll" bei dem projekt also nicht mitrechnen ????
das problem sehe ich also eher in der software als im HT
vielleicht gab es in der vergangenheit mal probleme mit HT-rechnern und ist inzwischen nicht mehr aktuell ?
naja, egal. ich bin eh kein verfechter von diesem HT kram und standardmässig deaktiviere ich es wo immer ich die möglichkeit habe.
manchmal kann es nützlich sein aber meistens brauche ich es nicht
Re: Auf den Weg zum stärksten Schach-Programm der Welt
Schön dass Du dass ansprichst, so kann ich zur Klärung beitragen.Norman hat geschrieben:bei diesem schachprogramm aber teilt sich jeweils base und stockfish genau 1 cpu zeitgleich.
Es ist so, dass base ("alte Version") und stockfish ("neue Version") eine Partie gegeneinander spielen.
Der eine hat die Weisen Steine und der andere führt die schwarzen Figuren.
Allerdings rechnet immer nur das Programm, dass gerade am Zug ist, das andere ruht in der Zeit.
Das heißt ein Programm benötigt immer 100% und das andere 0%, zusammen macht das immer 100%, es wird für beide Prozesse also genau (nur) ein Kern benötigt.
Allerdings wechselt das Zugrecht mehrmals pro Sekunde (pro Zug werden im Mittelspiel nur ca. 0,2-0,3 Sekunden verbraucht, später im Endspiel noch 0,05 Sekunden pro Zug ), so dass es im Systemmonitor/Task-Manager, der nicht häufig genug aktualisiert wird um das darzustellen zu können, so aussieht als ob beide Prozesse gleichzeitig rechnen, was aber nicht der Fall ist.
Re: Auf den Weg zum stärksten Schach-Programm der Welt
Warum hat der dann noch keinen Cluster? Ich kenne da zufällig jemanden, der ihm da was verkaufen kannPatrick22 hat geschrieben:@nico:
Geld spielt bei den Mann aus Abu Dhabi (dem Veranstalter der PAL/CSS Freestyle Turniere) definitiv keine Rolle.
Re: Auf den Weg zum stärksten Schach-Programm der Welt
Du kannst ja mal den optimalen Stockfish-Cluster zusammenstellen und dann Kontakt zu ihn aufnehmen. Wenn er Spaß an diesem DC-Projekt hat, wird er Interesse haben. Der hat früher jemanden 3000 Euro/Monat gezahlt, nur damit der mit ihn ein immer aktuelles Schach-Eröffnungsbuch für seinen Hydra-Schach-Supercomputer (für den er auch noch einige weitere gut bezahlte Programmierer angestellt hat) mit dem Computer erzeugt. Wenn man mit Erdöl Millionen verdient sind das Peanuts.nico hat geschrieben:Warum hat der dann noch keinen Cluster? Ich kenne da zufällig jemanden, der ihm da was verkaufen kannPatrick22 hat geschrieben:@nico:
Geld spielt bei den Mann aus Abu Dhabi (dem Veranstalter der PAL/CSS Freestyle Turniere) definitiv keine Rolle.
Allerdings solltest Du dann auch Deine Server für das Projekt laufen lassen und dich begeistert zeigen, das Projekt geradezu enthusiastisch weiter vorantreiben zu wollen, damit Du ein glaubwürdiger und interessanter Verhandlungspartner für ihn bist. Das meine ich ernst, nicht das Geld wäre entscheidend, sondern das Ihr den gleichen Spirit habt.
Re: Auf den Weg zum stärksten Schach-Programm der Welt
Der kann mir ja gerne seine alte Hardware mal an RKN schicken, damit die noch einen Sinn dank DC hat. Ich wette die ist immer noch besser wie das, was ich gerade in den Rechnern zum crunchen habe.
Re: Auf den Weg zum stärksten Schach-Programm der Welt
der könnte mal ne million oder zwei für den verein spenden.
wer überzeugt ihn ?
wer überzeugt ihn ?
Re: Auf den Weg zum stärksten Schach-Programm der Welt
Hmm ich kann ja mal den nächsten Cluster mit etwas Schach stressen - bisher hab ich aus Bequemlichkeit (sprich: keine Hacks wie sie für BOINC nötig wären) FAH genommen. Auch wenn ich das Projekt interessant finde, unterstütze ich dann doch lieber ein Projekt, das uns vielleicht irgendwann mal hilft, ein Mittel gegen Krebs zu finden, als eines, dass uns hilft.... ja was eigentlich? Schach gegen Aliens zu spielen? Ein Mensch hat doch nicht mehr wirklich eine Chance gegen Stockfish, oder?Patrick22 hat geschrieben: Allerdings solltest Du dann auch Deine Server für das Projekt laufen lassen und dich begeistert zeigen, das Projekt geradezu enthusiastisch weiter vorantreiben zu wollen, damit Du ein glaubwürdiger und interessanter Verhandlungspartner für ihn bist. Das meine ich ernst, nicht das Geld wäre entscheidend, sondern das Ihr den gleichen Spirit habt.
Re: Auf den Weg zum stärksten Schach-Programm der Welt
Seh es mal so. Wenn wir genug für FAH etc crunchen, dann können wir vielleicht bald Übermenschen im Labor herstellen, welche eine Chance gegen so einen Schachcomputer haben.