Voglio eseguire pycuda da un notebook IPython su un laptop Linux con NVIDIA Optimus (bumblebee). Di solito, posso ottenere uno script python in esecuzione digitando optirun python my_pycuda_script.py
Notebook IPython con optirun
Ma se avvio optirun ipython notebook
e poi apro un blocco note, viene avviato un nuovo kernel e non riesco più a eseguire pycuda. Ho scoperto che se sostituisco il mio eseguibile python con uno script di shell che chiama optirun new_location_of_python
funziona, ma questo è un brutto attacco. C'è un modo migliore per farlo? Magari con una funzione magica, in modo che solo i notebook rilevanti vengano avviati con optirun?
Grazie per qualsiasi aiuto!
Penso che questo sia dovuto alla struttura che un notebook ipython è in realtà diversi componenti: server e kernel (ipcontroler e ipengine (s)). Per il supporto ottimale nel motore si potrebbe quindi solo creare un "profilo", quindi aggiornare il comando di avvio del motore per utilizzare optirun: https://ipython.org/ipython-doc/3/parallel/parallel_process.html – Ax3l