ターミナルでのpython実行
anacondaを入れてターミナルから.pyのプログラムを実行したところコアが4個中2コアしか動作しません。
ターミナルを2つ立ち上げれば4コア全て動作するのですが一つターミナルから4コアをフル稼働させる方法はありますか。
よろしくお願いします。
anacondaを入れてターミナルから.pyのプログラムを実行したところコアが4個中2コアしか動作しません。
ターミナルを2つ立ち上げれば4コア全て動作するのですが一つターミナルから4コアをフル稼働させる方法はありますか。
よろしくお願いします。
複数のターミナルを実行するのと大して変わりないですが、screenを使うのは?
anacondaを実行する時、
anaconda xxx &
とします(xxxはanaconda実行時のパラメータなど)。こうすると、実行開始後すぐプロンプトが戻ります。そこで、
screen
とします。するとまっさらなターミナルの画面になります。
ここで、再度、
anaconda yyy &
とすると新たなanacondaのスレッドが立ち上がります。
これを繰り返せば、リソースが許す限り、幾つでも同時実行でき、一つのターミナルで、幾つでもスレッドを立ち上げられます。複数のスレッドにすれば、当然、4つのコア全て使うようになります。
screenの使い方はman screenするなり、ググるなりしてみてください。とても便利です。勤務先で実行しておいて、自宅から勤務先のホストにsshで接続して実行状況をチェックするなど簡単にできます。人は休息が必要ですが、コンピュータは24時間連続で働かせれば良いです。そんな目的にscreenはとても役に立ちます。
その動かしているのは、マルチスレッドで書かれたプログラムですか?
あるいは、マルチスレッドで書かれているライブラリを呼んでいるんですか?
単に、普通に python のプログラムを書いても、シングルスレッドでしか実行されないと思います。
ガベージコレクションとかコンパイルとかで、別のスレッドも動くかもしれませんが、基本的には1スレッドです。
私はその話はふめいですが、「プログラム」と言う事でしかも、コードが長くないなら、提示した方が早いのではないでしょうか。
ターミナルでのpython実行