タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

pythonと並列に関するkoma_gのブックマーク (7)

  • Pythonセミナー 並列処理編 - PythonOsaka

  • RayによるPython分散並列処理入門 - Qiita

    Rayとは RayはPythonにおける分散並列処理を高速かつシンプルに書けるフレームワークで, 既存のコードを並列化することも容易な設計となっています. Rayを使うことでmultiprocessingなどに比べ簡単にプロセスレベルの並列処理を記述することができます. 記事はRayチュートリアルの内容をもとにしており, コードはPython 3.8.2, Ray 0.8.4での動作を確認しています. インストール ターミナルでpipなどからインストールできます. 使い方 基的な用途としては覚える文法はray.init ray.remote ray.get の3つのみで, この記事では加えてray.wait ray.put も紹介します. Rayによる並列化の基 実行に3秒かかる関数 func が二度呼び出され全体の実行に6秒かかる以下のコードについて, func の実行を並列化する

    RayによるPython分散並列処理入門 - Qiita
  • Pythonにおける並列処理プログラミング入門 - MyEnigma

    エキスパートPythonプログラミング改訂2版posted with カエレバMichal Jaworski,Tarek Ziade KADOKAWA 2018-02-26 Amazonで最安値を探す楽天市場で最安値を探すYahooショッピングで最安値を探す 目次 目次 はじめに subprocessによる複数子プロセス処理 concurrent.futuresによるマルチプロセス処理 Queueによる並行プログラミング 最後に 参考資料 MyEnigma Supporters はじめに 元々Pythonは、 そこまで処理速度が早い言語ではないので、 システムの処理速度を最適化したい場合は、 C++などで書き直した方が良いのかもしれませんが、 Pythonシステムをあと少し早くしたい時には、 並行処理プログラミングをしてみると、 効果があるかもしれません。 最近のコンピューターはマルチコア

    Pythonにおける並列処理プログラミング入門 - MyEnigma
  • パンダの休日Pythonで並列処理 (multiprocessing)

    こんにちは。 Pythonでプログラミング始めてから感じたことなんですが、最近のCPUは複数コアが当たり前になっていて重いプログラムを書いて実行してもCPU使用率100%にできなくて面白くないんですよね。 うちだとCore i7が入っているので見かけ上8CPUのうち1つだけがフルに使われて数字では13%にしかなりません。 効率が悪いように感じるのはもちろんですが、これではプログラミングの醍醐味である征服感や支配感を13%しか享受できません。 若かりし頃、果敢にもCプログラミングに挑戦した(そして挫折した)あの頃は1CPU1コアしかなかったので重いプログラムを書けば100%でCPUが動き他の動作など一切受け付けないような状態が作れて非常に興奮したものです。 あれから幾年、再びプログラミングを始めて、技術の進化がこんなところからもロマンを奪ったのかと愕然としました。 で、、、 とりあえず「CP

  • Pythonでmultiprocessing.Poolを使ってお手軽並列処理 - matsulibの日記

    2コア4スレッドCPUのマシンでPythonを使ってるとCPU使用率が25%までしかならなくて、これが100%まで使えればもっと高速化できるのではないかと思っていた。 CPU使用率100%のためにはmultiprocessingモジュールを使って並列処理すれば良い。 並列処理といえばプロセス間で共有するリソースの排他制御とかを考えなきゃいけなかったり面倒な印象がある。もちろんmultiprocessingモジュールには自分でプロセスを立ち上げて共有メモリを管理する機能もあるけど、それはお手軽じゃないし設計上も好ましくないのでここでは説明しない。 ここではもっと簡単な場合を考えて、他のプロセスとは独立に動作する関数に対してPoolを使ってみる。Pool()の引数は使うCPUの数で、引数なしだと自動的に最大数に設定してくれる(僕の環境だと4)。いくつかメソッドがあるけど、組み込み関数のmap(

  • Pythonで並列分散処理(multiprocess) - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私は元気です。 さて、今日はPythonで並列分散処理を行ってみましょう 今回使うライブラリはmultiprocessです。 まずは、引数を与えて出力をしてみましょう。 最も単純な例 #coding:utf-8 import multiprocessing import os def f(number): print number, os.getppid(),os.getpid() if __name__ == '__main__': jobs = [] for i in xrange(100): p = multiprocessing.Process(target=f, args=(i,)) jobs.append(p) p.start() for job in jobs: job.join() joinをすることにより待機することができます。 このプログ

    Pythonで並列分散処理(multiprocess) - のんびりしているエンジニアの日記
  • 雨の中、Cを書かずにPythonで並列計算をする人間がいてもいい。自由とはそういうものだ。 - Qiita

    Pythonの遅い部分をCで書き直すと実行速度が100倍になりました!(神奈川県・主婦・30代)」といった広告をよく週刊誌で見かける。しかし、型ゆとり世代にとってCはいささかハードルが高い。一方Python並列化ならば追加の手間はかなり少なくて済み、100倍とは言わないが数倍程度の高速化ができる。 並列化する計算 言うまでもないが、HTTP通信が律速になっているようなPythonでは並列化しても高速化されない。並列計算を要するのは大体、巨大なforループ計算である。例として以下のようなものを考える。 L = 20000 total = 0 for i in range(L): for j in range(L): total += i*j print (total) 手元のマシンでの実行時間は25.663秒。これを並列化によって高速化する。 Thread並列とProcess並列 並列化は

    雨の中、Cを書かずにPythonで並列計算をする人間がいてもいい。自由とはそういうものだ。 - Qiita
  • 1