ターミナルでのpython実行

anacondaを入れてターミナルから.pyのプログラムを実行したところコアが4個中2コアしか動作しません。

ターミナルを2つ立ち上げれば4コア全て動作するのですが一つターミナルから4コアをフル稼働させる方法はありますか。

よろしくお願いします。

投稿日 2017/09/01 06:44

返信
返信: 3

2017/09/06 05:33 mottinodax への返信

複数のターミナルを実行するのと大して変わりないですが、screenを使うのは?

anacondaを実行する時、

anaconda xxx &

とします(xxxはanaconda実行時のパラメータなど)。こうすると、実行開始後すぐプロンプトが戻ります。そこで、

screen

とします。するとまっさらなターミナルの画面になります。

ここで、再度、

anaconda yyy &

とすると新たなanacondaのスレッドが立ち上がります。

これを繰り返せば、リソースが許す限り、幾つでも同時実行でき、一つのターミナルで、幾つでもスレッドを立ち上げられます。複数のスレッドにすれば、当然、4つのコア全て使うようになります。

screenの使い方はman screenするなり、ググるなりしてみてください。とても便利です。勤務先で実行しておいて、自宅から勤務先のホストにsshで接続して実行状況をチェックするなど簡単にできます。人は休息が必要ですが、コンピュータは24時間連続で働かせれば良いです。そんな目的にscreenはとても役に立ちます。

2017/09/06 05:06 mottinodax への返信

その動かしているのは、マルチスレッドで書かれたプログラムですか?

あるいは、マルチスレッドで書かれているライブラリを呼んでいるんですか?


単に、普通に python のプログラムを書いても、シングルスレッドでしか実行されないと思います。

ガベージコレクションとかコンパイルとかで、別のスレッドも動くかもしれませんが、基本的には1スレッドです。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

ターミナルでのpython実行

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。