タグ

ブックマーク / qiita.com/yubais (5)

  • 雨の中、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
  • Linux で計算機クラスタを作る (1. ネットワーク構築) - Qiita

    必要に迫られて計算機クラスタを作ったのでその手順を解説します。 何を作ったのか うちの研究室では高性能なCPU/GPU を搭載したマシンを数台所有しており、使いたい人に配って個別管理してもらっていたのですが、このたび使いたい人が増加し、話し合って融通するのも面倒なので、ジョブ管理システムを備えたクラスタを構築することにしました。あくまで稼働率向上のためのクラスタ化なので、ノード間並列機能は備えておりません。 記事は「ユーザーとしての Linux の操作にはひと通り慣れたけど、ネットワークの詳しい知識は持ってない」という人を対象に書いています。つまり僕くらいの人です。詳しい人から見ればところどころ勘違いがあると思いますがご了承願います。 環境 OS: Ubuntu Server 14.04 Network: Gigabit Ethernet ジョブ管理: Torque サーバー用途としては

    Linux で計算機クラスタを作る (1. ネットワーク構築) - Qiita
  • NetworkX でランダムグラフの最大連結部分を数える - Qiita

    NetworkX という Python 向けの素敵なグラフライブラリを知ったので、練習がてら「ランダムグラフの最大連結部分のサイズがどんくらいになるか」という実験をしてみた。 (ここでの「グラフ」とは数値データを可視化する図のことではなく、ネットワークグラフ的な意味でのグラフ) 問題設定 頂点 (node) がN個ある。 ランダムに2点を選んで辺 (edge) で結ぶ。これをS回繰り返す。 辺でつながった部分(連結部分)の最大サイズはいくらか。 この問題は S. Kauffman の著書「自己組織化と進化の論理」3章で紹介されたもので、多様な物質の混合物から生命が創発するモデルの一部として登場している。 コードと実行 ここでは networkx, numpy, matplotlib, および pydot をインスコしたものとする。インストール手順については最後に軽く触れる。 上記の問題に従

    NetworkX でランダムグラフの最大連結部分を数える - Qiita
  • Numpyによる乱数生成まとめ - Qiita

    Python標準にも random というモジュールがあるが、ベクトル演算の可能な numpy のほうが「大量に乱数を生成してなんかの処理をする」という場合に高速に動く。あと分布関数が山ほど用意されている。 一様乱数 numpy.random.rand() で 0〜1 の一様乱数を生成する。引数を指定すれば複数の乱数を生成できる。乱数の範囲を変えたい場合は後からベクトル演算をすれば良い。 from numpy.random import * rand() # 0〜1の乱数を1個生成 rand(100) # 0〜1の乱数を100個生成 rand(10,10) # 0〜1の乱数で 10x10 の行列を生成 rand(100) * 40 + 30 # 30〜70の乱数を100個生成 from numpy.random import * """ 標準正規分布。いわゆるガウシアン。標準正規分布ならば

    Numpyによる乱数生成まとめ - Qiita
  • Linux のコマンドラインでオフライン英和辞書 - Qiita

    英単語の意味を調べようとブラウザ開いてぐぐったら2秒以上かかって、イライラしてPCを蹴ったらバタフライ効果で地球が消滅した」といった事態を未然に防ぐための記事。考え方によってはこの記事が地球を救ったとも言える。 「なんか apt-get で取れるいい感じの英和辞書があるだろう」と思ったけど意外にも見つからないので、それなら英単語とその意味だけがズラズラ載ってるテキストファイル無いかな、と思って探したらあった。 GENE95 辞書 デフォルトでは SHIFT-JIS なので UTF-8 にしておく。

    Linux のコマンドラインでオフライン英和辞書 - Qiita
  • 1