Provato Autodock4-linux-GPU su Xubuntu 14.04.
Ci ho messo un po' a risolvere i soliti problemi con le dipendenze dei pacchetti.
Mi ha occupato un casino di spazio,
poco più di 4GB, di cui se non ricordo male:
~1.2GB docker
~2.8GB cuda
~75MB opencl
È finito lo spazio del file system, ma ha cominciato a girare e sono partiti due processi GPU.
Unico neo che ciascuno utilizzava un proprio thread al 100%.
Su 4 core fisici è un bello spreco, stesso "problema" della nuova app di GPUGRID e altre.
Per il resto ottimo progetto, molto interessante.
Rettifica: sembra che cuda e opencl fossero stati installati a causa di un altro comando che avevo lanciato, quindi bastano solo 1.2GB di spazio.
E pare che si possano personalizzare i thread dedicati per la cpu così come i job contemporanei per la gpu dai seguenti parametri
cpu_count = multiprocessing.cpu_count() / 2 # assume hyperthreading so ignore half the logical cores
gpu_count = 2 # assuming one GPU job at a time, use nvidia-smi to see if you have <100% utilization
jobs_to_cache = cpu_count # have one job per core available, or 3-5 jobs if GPU running
nel file
quarantine.py.
Io ho cambiato così:
cpu_count = multiprocessing.cpu_count() # la mia cpu non ha hyperthreading (e comunque non la uso)
gpu_count = 1 # la mia gpu va al 100% anche con un solo job
jobs_to_cache = cpu_count # qui volendo si potrebbe mettere un valore grande per avere scorta per ore, ma non ho provato
Credo che il parametro
jobs_to_cache che si trova all'inizio del codice valga solo per la cpu perché nella funzione
dispatchCenter() viene ridefinito con un valore pari a 3 se ad avere bisogno di lavoro è la gpu. Immagino sia necessario agire da lì per aumentare ancora una volta i job scaricati.
Ovviamente queste modifiche vanno fatte prima di lanciare l'app.