Ecco una mini guida.
Scrivete pure cosa c'è da cambiare e se avete domande.
Personalizzare l'elaborazione su scheda video ATI/AMD
Questa piccola guida è stata fatta su ambiente Windows Seven 64 bit
Funziona comunque su tutti i sistemi Windows. Per linux (non testato) il funzionamento dovrebbe essere simile.
Requisiti:
-Scheda video HD4xxx o superiore OpenCL 1.0
-Ultimi driver AMD per scheda video
-Boinc versione 7.02 o superiore (sono versioni beta ma comunque stabili per l'utilizzo quotidiano)
boinc.berkeley.edu/download_all.php
Scaricate la versione per il vostro sistema (32 o 64 bit)
Passo 1 (elaborazione standard)
-Scaricare ed installare gli ultimi driver AMD per la vostra scheda video.
-Aggiornare Boinc ed abilitate dallo stesso l'elaborazione continua su gpu e cpu (in caso contrario non potrete testarne il funzionamento.
-Dalle vostre preferenze sul sito Poem abilitare la ricezione del lavoro su ATI (Usa la GPU ATI Si applica dalla versione 6.10+ dei client) e disabilitarlo su cpu.
-Agganciare il progetto Poem se non lo avete già fatto.
-Sospendere gli altri progetti che eventualmente elaborano su gpu ATI.
A questo punto dovrebbe cominciare a scaricare ed elaborare automaticamente. Se non avviene aggiornate manualmente il progetto.
Passo 2 (personalizzare l'elaborazione)
-Se il passo 1 ha avuto successo chiudete boinc (controllate dal task manager che tutti i processi relativi a boinc siano chiusi). Alcune volte alcuni processi tipo boinc.exe o più spesso boinctray.exe rimangono in esecuzione. Se così avviene terminateli.
-Andate nella cartella "..\ProgramData\BOINC\projects\boinc.fzk.de_poem" fate un copia di backup del file "poemcl_0.1_windows_intelx86__opencl_ati_100".
-Create un file di testo ed incollateci dentro il testo presente qui sotto in appendice.
-Rinomite il file in "app_info.xml". Fate bene attenzione all'estensione che deve essere .xml. Se avete nascosto l'estensione dei file conosciuti dovete andare in "opzioni cartella -> visualizzazione e spuntare la voce: nascondi l'estensione per i tipi di file conosciuti".
-Riavviate il boinc e tutto dovrebbe andare come programmato.
N.B. Tutte le wu scaricate il precedenza andranno perse ma non è un problema dato che provvedere immediatamente a scaricare di nuove.
app_info.xml
Sintassi e parametri.
<app_info>
<app>
<name>poemcl</name>
<user_friendly_name>POEM++ OpenCL</user_friendly_name>
</app>
<file_info>
<name>poemcl_0.1_windows_intelx86__opencl_ati_100</name>
<executable/>
</file_info>
<app_version>
<app_name>poemcl</app_name>
<version_num>1</version_num>
<plan_class>opencl_ati_100</plan_class>
<avg_ncpus>0.50</avg_ncpus>
<max_ncpus>0.50</max_ncpus>
<coproc>
<type>ATI</type>
<count>1</count>
</coproc>
<cmdline></cmdline>
<file_ref>
<file_name>poemcl_0.1_windows_intelx86__opencl_ati_100</file_name>
<main_program/>
</file_ref>
</app_version>
</app_info>
Questa è la versione standard dove si elabora una WU per ogni scheda video e si impiega mediamente il 50% di un core.
Possiamo giocare su alcuni parametri:
Il valore
<count>1</count> indica la percentuale di ogni gpu presente nel sistema che sarà impiegata da ogni singola WU.
1=100%
0.50=50%
0.33=33%
e così via.
E' intuibile che abbassando il valore si aumenteranno le WU che la gpu elaborerà parallelamente.
I valori compresi in
<avg_ncpus>0.50</avg_ncpus> e
<max_ncpus>0.50</max_ncpus>
indicano la percentuale di un core che andrà dedicata ad ogni singola WU in elaborazione sulla gpu.
1=100% - un intero core per ogni WU
0.5=50% - il 50% di un core per ogni WU
Esempi:
<avg_ncpus>0.50</avg_ncpus>
<max_ncpus>0.50</max_ncpus> (0.50=50% di un core cpu)
<count>1</count> (1=100% della gpu)
In questo caso si elabora 1 WU per ogni gpu che occuperà il 50% di un core.
Su sistemi multi-gpu questi valori andranno moltiplicati per il numero di gpu presenti.
<avg_ncpus>0.50</avg_ncpus>
<max_ncpus>0.50</max_ncpus> (0.50=50% di un core cpu)
<count>0.5</count> (0.5=50% della gpu cioè 2 WU per gpu)
Qui invece si elaborano 2 WU per gpu occupando un intero core.
<avg_ncpus>0.50</avg_ncpus>
<max_ncpus>0.50</max_ncpus> (0.50 = 50% di un core cpu)
<count>0.25</count> (0.25=25% della gpu cioè 4 WU per gpu)
In questo caso invece sono 4 le WU per ogni gpu occupando 2 core.
Note.
Per valori totali di impiego cpu inferiori a 1 Boinc non libererà nessun core ma li impegnerà totalmente su altri progetti.
Nel primo esempio infatti (in caso di gpu singola) si elabora solo una WU su gpu e il 50% di un core
Boinc qui non riserva nessun core per Poem e l'elaborazione di questa sarà molto lenta.
Quindi si consiglia di riservare minimo un core sempre a disposizione della gpu come qui sotto.
<avg_ncpus>1</avg_ncpus>
<max_ncpus>1</max_ncpus>
<count>1</count>