2

カスタム numba-fied 関数を使用してすばやく実行する IPython クラスターで計算を実行したいと考えています。オブジェクトのsync_importsメソッドを使用してインポートを同期しようとしました。dview問題は、エンジンが numba を正しくロードしていないように見えることですが、numpy は正常にインポートされます...問題を示す短い「最小限の」コードを次に示します。

from IPython.parallel import Client

rc = Client()                      
dview = rc[:]                      

print 'before import'              

with dview.sync_imports():         
   import numpy 
   import numba

print 'no deadlock'                

このコードを実行すると、numpy インポートの後に一種のデッドロックが発生し、しばらくすると次のエラーが発生します。

輸入前
エンジンに numpy をインポートする
エンジンに numba をインポートしています
トレースバック (最新の呼び出しが最後):
  ファイル「./ipcltest.py」の 12 行目
    輸入ナンバー
  ファイル「/c5/shared/Python/2.7.4-shared/lib/python2.7/contextlib.py」、24 行目、__exit__ 内
    self.gen.next()
  ファイル「/c5/shared/Python/2.7.4-shared/lib/python2.7/site-packages/IPython/parallel/client/view.py」、496 行目、sync_imports 内
    r.get()
  ファイル "/c5/shared/Python/2.7.4-shared/lib/python2.7/site-packages/IPython/parallel/client/asyncresult.py"、119 行目、get
    self.wait(タイムアウト)
  ファイル "/c5/shared/Python/2.7.4-shared/lib/python2.7/site-packages/IPython/parallel/client/asyncresult.py"、142 行目、待機中
    self._ready = self._client.wait(self.msg_ids, タイムアウト)
  ファイル "/c5/shared/Python/2.7.4-shared/lib/python2.7/site-packages/IPython/parallel/client/client.py"、1063 行目、待機中
    self.spin()
  ファイル「/c5/shared/Python/2.7.4-shared/lib/python2.7/site-packages/IPython/parallel/client/client.py」、1013行目、スピン
    self._flush_results (self._mux_socket)
  ファイル "/c5/shared/Python/2.7.4-shared/lib/python2.7/site-packages/IPython/parallel/client/client.py"、821 行目、_flush_results 内
    raise Exception("未処理のメッセージ タイプ: %s" % msg_type)
例外: 未処理のメッセージ タイプ: apply_request
./ipcltest.py 1.20s ユーザー 0.40s システム 0% cpu 25:29.11 合計                                                                          

この動作の原因について何か考えがある人はいますか?

4

0 に答える 0