タグ

Fortranに関するsuzukiMYのブックマーク (2)

  • 100万倍速いプログラムを書く - Qiita

    この記事はなんなの プログラミングを始めたばかりで高速化の大枠が全くわからず意味不明なことをしていた在学時、こんな資料があったら良かったのになあ、と思って書いたもの。 書いて、在学時研究室に押し付けた後紛失したと思われていたものが発掘されたもの。 要約 ライブラリがあるならそれを使う。 ライブラリが無ければ、ボトルネック部分を探してそこだけ高速な言語で書きなおすか、可能なら事前コンパイルする。 最初から全てを Low-Level な言語で書くと大変、でも結果のプログラムは速い。 以下の時間の計測ではインポートにかかる時間は除いています。 使用するもの Python(3系) Numba Scipy Line Profiler Fortran(gfortran) QUADPACK QUADPACK以外の導入方法の説明は色んな所にあるので各自でお願いします。上3つに関しては、個人的にはAnaco

    100万倍速いプログラムを書く - Qiita
  • f2pyを使ってfortranでpythonのモジュールを書く - Qiita

    python書きやすいけど速度がね〜 → ボトルネックをfortranのモジュール化 !!!速い!!! Fortranの練習も兼ねて前書いた素数表示のプログラムをモジュール化してみる。 環境 f2py(scipyに付属) gfortran4.7.2 スクリプト モジュール化したいサブルーチンを記述したファイルを用意する。 サブルーチンの引数はCf2pyでinを宣言する。 サブルーチンの戻り値(つまりpython側で受け取る戻り値)はCf2pyでoutを宣言する。 Cf2pyの宣言は行頭から、スクリプト体はスペース6個開けてから書かないとコンパイルエラーになる。どうやらCf2pyよりもインデント的に後ろに書かないといけないっぽい(めんどくさい!!) subroutine prime_number(max_num, ret) implicit none integer max_num int

    f2pyを使ってfortranでpythonのモジュールを書く - Qiita
  • 1