2014-06-17 19 views
6

Chcę uruchomić pycudę z notebooka IPython na laptopie Linux z NVIDIA Optimus (trzmiel). Zazwyczaj mogę uruchomić skrypt Pythona, wpisując: optirun python my_pycuda_script.pyIPython notebook z Optirunem

Ale jeśli uruchomię optirun ipython notebook, a następnie otworzę notes, uruchomi się nowe jądro i nie będę już mógł uruchomić programu pycuda. Zauważyłem, że jeśli zamieniam plik wykonywalny Pythona przez skrypt powłoki, który wywołuje optirun new_location_of_python, działa, ale jest to dość brzydki hack. Czy jest lepszy sposób to zrobić? Może z funkcją magiczną, tak że tylko odpowiednie notebooki są uruchamiane z optirun?

Dzięki za pomoc!

+0

Myślę, że jest to spowodowane strukturą, że notatnik ipython jest rzeczywiście kilka składników: serwer i jądra (ipcontroler i ipengine (s)). Aby uzyskać wsparcie dla optymalizatora w silniku, możesz po prostu utworzyć "profil", a następnie zaktualizować polecenie uruchamiania silnika, aby użyć funkcji Optirun: https://ipython.org/ipython-doc/3/parallel/parallel_process.html – Ax3l

Odpowiedz

1

Właśnie znalazłem rozwiązanie z github:data_science_workspace.

wsparcie GPU dla Jupyter:

Dla komputerów Linux z Optimusa, trzeba dokonać jądro, która zostanie wywołana z „optirun”, aby móc korzystać z akceleracji GPU. W tym celu przejdź do następującego folderu:

cd ~/.local/share/jupyter/kernels/

następnie edytować plik python3/kernel.json aby dodać "optirun" jako pierwszego wjazdu na argv tablicy:

{ 
"language": "python", 
"display_name": "Python 3", 
"argv": [ 
    "optirun", 
    "/home/fabien/.conda/envs/data_science/bin/python", 
    "-m", 
    "ipykernel", 
    "-f", 
    "{connection_file}" 
    ] 
} 

ale w moim komputerze, kernel.json jest pod: ~/miniconda3/envs/nn/share/jupyter/kernels/python3.

Moja informacji Conda:

$ conda info 
user-agent : conda/4.3.30 requests/2.14.2 CPython/3.6.1 Linux/4.9.79-1-MANJARO arch/Manjaro glibc/2.26 

nadzieję, że to, co trzeba :-).

Powiązane problemy