アカウント名:
パスワード:
Fortranを未だに使って
それだけとか言われると非常に困りますが。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生の大半の問題はスルー力で解決する -- スルー力研究専門家
それを言ったら (スコア:2, 参考になる)
情報処理の講義で(必須かどうかは自信がありませんが)、
Fortranを未だに使ってコード書かせていたのにビックリしました。
実務と教育の世界のギャップは意外に大きいものかも。
それに確か
Re:それを言ったら (スコア:1)
それだけとか言われると非常に困りますが。
Re:それを言ったら (スコア:1)
これなんですけど、サブルーチン化しないで書いているから alias の問題が発生しないこと以外に、
Fortran だと最適化がかけやすい理由ってあるのでしょうか?
F77のソースをベクトルプロセッサ向けにチューニングしたと
Re:それを言ったら (スコア:1)
「サブルーチン化しないで書いている」という部分が
よく分からないので、もう少し説明していただけますか?
> F77のソースをベクトルプロセッサ向けにチューニングしたときは、
> コンパイラ指令やら変数展開やらで、ほとんど原型をとどめないぐらいに
> なったのを憶えています
Re:それを言ったら (スコア:1)
コンパイラがインライン展開できなかったので、処理系の組み込み以外の
関数や副プログラム呼び出しが起きないように展開して書き直していました。
>今では、コンパイラが賢くなったので、自分で指定しなくても
>自動的にベクトル化、並列化してくれます。
便利になったんですねえ。
前述のようにやっていたのは10年ぐらい前の話です。
>Fortranのプログラムの方が、言語構造が単
Re:それを言ったら (スコア:2, 参考になる)
コンパイラの最適化に使う解析手法は、プログラムの流れを追っていくコントロールフロー解析と、プログラムの流れに即しながらデータの中身がどう変わっていくかを追うデータフロー解析の2 種類に大別できます。
ポインタはデータフロー解析の難易度をアップさせます。
まず、ポインタが何を示しているかをデータフロー解析しておいてから、ポインタが指す可能性があるオブジェクトをデータフロー解析するというような多層の解析が必要になるからです。
あと、配列が数学的な行列というより
コンタミは発見の母
Re:それを言ったら (スコア:2, 参考になる)
>ポインタはデータフロー解析の難易度をアップさせます。
なるほど。
C のようななんでもありのポインタがない Fortran だとデータフロー管理のコストを
小さくできるので、解析後の最適化処理がかけやすいということでしょうか。