我有具有被此刻運行順序3種主要功能的應用程序:CPU和GPU的操作並行
1)加載數據到存儲器,並執行預處理的就可以了。
2)使用帶有theano的GPU對數據執行一些計算。
3)監視GPU上的計算狀態並將它們打印到屏幕上。
這3個功能通過使用多線程是令人尷尬的可並行化。但在Python中,我依次執行所有這三個功能。部分原因是因爲在過去,我對Python多線程和GIL問題有些不幸。
在這種情況下,我不一定需要利用多CPU的全部功能。所有我想要做的是,加載數據和預處理他們,而在GPU的計算進行,並在同一時間監測計算的狀態。目前大多數耗時的計算是在2)中執行的,所以我在2)的操作上有時間限制。現在我的問題是:
* python可以並行化這3個操作而不會產生新的瓶頸,例如:由於GIL問題。
*我應該使用多處理器的多線程,而不是?
簡而言之,如果我應該在Python中應該如何並行化這三個操作。
自從我上次編寫CPU的多線程代碼(尤其是python)以來已經有一段時間了,任何指導都將不勝感激。
編輯:錯別字。
http://nvidianews.nvidia.com/Releases/GPU-Accelerated-Computing-Reaches-Next-Generation-of-Programmers-With-Python-Support-of-NVIDIA-CUDA-950.aspx –
你解決了嗎?這個問題?我面對完全相同的問題,除了我的情況,最昂貴的一步是「加載數據」。如果你有一些解決方案,我會很感激你發佈它。 –