Erledigen lässt sich das Ganze recht gut mit einer xml-Datei Namens app_config.xml.
Alles was man dazu braucht ist ein Texteditor und schon kann es losgehen. Doch wohin speichert man die Datei app_config.xml?
Der richtige Ort ist im Data\projects\<Name_des_jeweiligen_Projektes> Verzeichnis der BOINC Installation.
Die Datei selber kann für alle Applikationen eines Projektes Einträge enthalten oder auch nur für eine Applikation/ausgewählte Applikationen des Projektes.
Doch wie ist die Datei aufgebaut?
Fangen wir mit einem einfachen Beispiel an. Für LHC@Home möchte ich, dass für die Applikation SixTrack maximal 5 WUs parallel ausgeführt werden sollen, damit noch Kapazität für andere Projekte übrig bleibt.
Also Editor geschnappt und im Verzeichnis \Data\projects\lhcathomeclassic.cern.ch_sixtrack die Datei app_config.xml angelegt.
Das Grundgerüst sieht folgendermaßen aus:
Code: Alles auswählen
app_config>
<app>
<name></name>
</app>
</app_config>
Diese öffnen und darin z.B. nach dem Projekt wie es in Boinc angezeigt wird suchen. Wenn man von der Fundstelle ein wenig nach unten scrollt, kommt man zu einem Abschnitt der wieder mit
Code: Alles auswählen
<app>
Code: Alles auswählen
<app>
<name>sixtrack</name>
<user_friendly_name>SixTrack</user_friendly_name>
<non_cpu_intensive>0</non_cpu_intensive>
</app>
Code: Alles auswählen
<name></name
Den Namen können wir jetzt in unsere app_info.xml übernehmen (Tipp: Der user_friendly_name ist sprechender um sich zu vergewissern, dass man den richtigen Namen gefunden hat):
Code: Alles auswählen
app_config>
<app>
<name>sixtrack</name>
</app>
</app_config>
Dies geschieht durch
Code: Alles auswählen
<max_concurrent></max_concurrent>
Code: Alles auswählen
<app_config>
<app>
<name>sixtrack</name>
<max_concurrent>5</max_concurrent>
</app>
</app_config>
Code: Alles auswählen
<app_config>
<app>
<name>sixtrack</name>
<max_concurrent>5</max_concurrent>
</app>
<app>
<name>Weitere_LHC_Applikation</name>
<max_concurrent>4</max_concurrent>
</app>
</app_config>
Nachdem wir die Datei gespeichert haben, soll sie natürlich auch von BOINC verwendet werden. Das passiert entweder beim Start von BOINC automatisch oder aber in dem wir im BOINC-Manager im Menü "Extras" die Option "Konfigurationsdatei einlesen" auswählen.
Anmerkung/Warnung: Bei mir ist noch keine WU abgebrochen worden, wenn ich die Datei neu eingelesen habe während BOINC schon lief. Ich kann es aber auch nicht ausschliessen.
Kommen wir nun zu Applikationen die von der GPU Gebrauch machen. Als Beispiel wähle ich hier Albert@home aus.
Code: Alles auswählen
<app_config>
<app>
<name>einsteinbinary_BRP5</name>
<gpu_versions>
<gpu_usage>0.2</gpu_usage>
<cpu_usage>0.2</cpu_usage>
</gpu_versions>
</app>
<app>
<name>hsgamma_FGRP2</name>
<gpu_versions>
<gpu_usage>0.1</gpu_usage>
<cpu_usage>0.1</cpu_usage>
</gpu_versions>
</app>
</app_config>
Code: Alles auswählen
<gpu_versions></gpu_versions>
Mit
Code: Alles auswählen
<gpu_usage></gpu_usage>
Eine 1 bedeutet eine WU (also keine parellelen WUs). 0.5 wären 2 WU parallel, 0.25 entsprechen 4 WU parallel usw.
Ich rechne momentan bei Albert die BRP5 (Binary Radio Pulsar Search (Perseus Arm Survey)) mit 5 parallelen WU, weshalb ich für die gpu_usage 0.2 eingetragen habe.
Mit dem Parameter
Code: Alles auswählen
<cpu_usage></cpu_usage>
Auch hier gilt wieder: Eine 1 bedeutet 1 CPU/WU, 0.5 wäre 0,5 CPU/WU usw.
Hier gibt es ein weites Feld zum Experimentieren um das letzte Quentchen herauszupressen.
Aufforderung: Mein Geschreibsel braucht so nicht zu bleiben. Ändert es. Ergänzt es. Erläutert weitere Parameter (die es sicherlich gibt).
Fragen beantworte ich natürlich gerne, sofern ich es denn selber weiß.