un po' di informazioni che possono essere utili (credo)
Le cosiddette applicazioni 'ottimizzate' per DistrRTgen altro non sono che codice openCL scritto e pensato per schede ATI/AMD serie 7. Casualmente (piu` o meno) si e` scoperto che questo codice e` in alcuni casi molto piu` efficiente su hardware Nvidia del vecchio codice CUDA.
Quindi l'ottimizzazione (chiamiamala cosi`) consiste nel fare usare a schede Nvidia codice pensato per schede ATI/AMD, questo usando il meccanismo permesso da boinc delle applicazioni personalizzate (app_info.xml). ... Pero`..... : (limitazioni etc.)
a) il codice openCL ha bisogno di un core cpu libero per ognuna delle gpu impegnate (altrimenti il tutto va piu` lento) e di boinc versione 7.xx
b) il driver nvidia da installare deve essere il 301.42 (forse anche quello dopo, non so), coi driver 2xxx l'aumento prestazionale e` molto piu` ridotto.
c) per qualche ragione 'misteriosa' il codice openCL non funziona bene (nel senso che e` piu` lento del cuda originale) su alcuni tipi di schede, p.es la GTX570 e altre.
d) le wu openCL NON possono essere sospese, per qualunque ragione. Se vengono sospese ripartono da zero (no checkpointing) ma (peggio) arrivano alla fine ma non vengono validate.
e) quando boinc esegue il suo periodico benchmark le wu openCL entrano in stato di loop (hang), ovvero 'si piantano' occupando risorse finche` non vengono manualmente abortite. Soluzione: impedire a boinc di eseguire i benchmark periodici inserendo in cc_config.xml:
<skip_cpu_benchmarks>1</skip_cpu_benchmarks>
gli errori c) d) ed e) sono attualmente in fase di analisi ma con tempi mooolto lenti.....