Grazie a tutti e tre per le risposte.
Come suggerito da cenit e akd credo che lascerò la GPU inutilizzata al momento. Questo per due motivi:
1. Credo che boinc non sia in grado di calcolare correttamente il tempo richiesto da una WU per essere eseguita
2. Credo che le applicazioni fino ad ora ottimizzate per GPU non siano in grado di sfruttarla al 40% ma solo al 100%
Dico questo in quanto mi sono iscritto al progetto PrimeGrid, e questo ha un'applicazione ottimizzata per CUDA 2.3. Boinc ha richiesto del lavoro per la GPU e fatalmente mi sono trovato una sessantina di WU in coda per l'elaborazione su GPU, ognuna che sfrutta 0.03 CPU + 1.00 GPU. Il tempo di CPU richiesto per il completamento della WU è circa 2 minuti, per quello boinc ne ha scaricate così tante, peccato che la GPU impieghi circa 50 minuti per completare il lavoro... Risultato: sono tre giorni che utilizzo il portatile con prestazioni pessime (in quanto le WU sfruttano al 100% la GPU) cercando di completare la mole immensa di lavoro che è stata scaricata. Per darvi un'idea le gif animate a fianco del messaggio che sto scrivendo si muovono all'incredibile velocità di circa 1fps con dei picchi di 2fps!
Lo so che molti di voi penseranno "ma dai, annulla un po' di WU in attesa e tanti saluti", ma ho preso un impegno con PrimeGrid e voglio portarlo a termine!
Detto questo voglio ritornare alla domanda iniziale del thread perchè credo di aver trovato una risposta alla domanda che ho posto:
a parere mio Einstein privilegia le WU su GPU e tralascia quelle per CPU proprio per il motivo che ha detto cenit (mi pare che sia stato lui, non ho voglia di andare a controllare), e cioè vengono avviate le WU per GPU per occupare la risorsa GPU, peccato che questa richieda anche una CPU completa per la sua esecuzione. Questo comporta che per boinc ad Einstein sia già stato assegnato abbastanza tempo di lavoro della risorsa CPU e così non fa mai partire l'elaborazione dell'applicazione ottimizzata per sse2 (da eseguire solo su CPU).
Questa idea mi è venuta quando ho osservato che a volte ho in esecuzione due WU di PrimeGrid, una (dannata

) che mi usa al 100% la GPU ed una piccola parte di CPU ed una che mi usa la CPU.
Questo significa (a parere mio almeno) che boinc non considera ogni core della CPU come una risorsa atomica da condividere, ma al contrario tutte le risorse CPU sono raggruppate in un unica risorsa al momento della decisione di quale WU avviare, poi questa "risorsa CPU" è vista come in gradi di eseguire 2/4/8... processi contemporaneamente in base al numero di core/processori a disposizione.
Chiedo scusa se sono stato leggerissimamente prolisso, ma volevo una vostra opinione, secondo voi sono #azzate quelle che ho scritto oppure c'è del senso?