[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 02/14 08:15 / Filesize : 180 KB / Number-of Response : 532
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

FORTRAN W



1 名前:デフォルトの名無しさん [2006/11/12(日) 17:13:35 ]
FORTRAN総合スレッドです。
FORTRAN77/90/95/2003, HPF等、FORTRAN全般に関する話題を書き込んで下さい。

・FORTRAN関連情報
お約束だが、まずは自分で調べよう
www.google.co.jp/

x86で動作するFortranコンパイラ
www.nminoru.jp/~nminoru/programming/x86-fortran.html

The Fortran Company
www.fortran.com/
Polyhedron Software
www.polyhedron.co.uk/
Google Directory - Fortran
directory.google.com/Top/Computers/Programming/Languages/Fortran/

・前スレ
FORTRAN III
pc8.2ch.net/test/read.cgi/tech/1104724162/
FORTRAN II
pc5.2ch.net/test/read.cgi/tech/1068351911/
Fortran
pc2.2ch.net/test/read.cgi/tech/1003214738/


267 名前:デフォルトの名無しさん mailto:sage [2007/04/26(木) 22:37:47 ]
>>266
あらゆるものが統一されていなかった。


268 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 14:36:07 ]
今は統一されているといっていいのか?

269 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 16:02:16 ]
まあ昔に比べれば

270 名前:デフォルトの名無しさん [2007/05/07(月) 06:10:19 ]
fortranで
webの結果を得ることできる?

get www.hoge.com
を行い
結果をファイルに残す

あるいは、戻り値 403 not found
かどうかの判定とか。
Linux *g77
です

271 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 06:15:37 ]
できなくはないだろうけど、
別の言語を使った方がいいと思う。

272 名前:デフォルトの名無しさん [2007/05/07(月) 08:01:53 ]
うわ、返事はや!
ありがとう。

自由自在に書ける言語がFortranとVB系以外のbasicなんです。
検討してみます

273 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 10:14:30 ]
>>270
表示するだけならこんなので動くと思うけど

web2console.py
----------------------------
#!/usr/bin/env python
import urllib

conn = urllib.urlopen("www.yahoo.co.jp/")
data = conn.read()
print data
----------------------------

F2PY - Numerical Analysis with Python
scipy.dip.jp/index.php?F2PY
nihongo.homeip.net/word/scipy/

じぶんは fortran は使ったことないからよくわからないけど
fortran ともそれなりに相性も良いみたいだね…(正直よくわからん)

274 名前:デフォルトの名無しさん [2007/05/07(月) 11:18:23 ]
>>270
外人がg77でのやり方を解説しているページがある。
環境変数を使って変数のやり取りをしていた。

LINKがみつかんねーw

fortran cgi でググルと色々引っかかる。


275 名前:274 mailto:sage [2007/05/07(月) 11:24:19 ]
>>270
ああごめん。
FORTRANでサーバー側のCGIを書くのかと思ったが逆か。
クライアントを書きたいのか。

Windows なら WinInet.Lib+Intel Visual Fortranでなら出来る。
Linuxでもその類のDLLをFortranから呼び出せば何とかなるのではないか?





276 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 13:33:07 ]
【科学技術計算】C言語とFortran どっちがいい?
science6.2ch.net/test/read.cgi/sim/1042715803/

629 名前:名無しさん@5周年[] 投稿日:2007/05/08(火) 07:49:36
FortranかCかなんて議論は馬鹿げているよ。
Fortranなんてもはや化石言語。
だから消去法でCを選ぶ他ない。
しかし君たち。
実はもっとも身近で簡単な科学計算用言語があるのだ。
それがExcelVBA。
答えは案外足元にあったわけだ。
いわゆる青い鳥ってやつだね。




(#^ω^)



277 名前:デフォルトの名無しさん [2007/05/08(火) 21:42:56 ]
fortranプログラムの作成依頼はこのスレでできますか?

278 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:37:48 ]
>>277
くだすれFORTRAN(超初心者用)その2
pc11.2ch.net/test/read.cgi/tech/1164121236/

どちらかというと、こっちの方がやさしくしてくれるお

279 名前:270 [2007/05/09(水) 23:38:08 ]
皆さんありがとう。

>>273
始め、pythonで「????」でしたが見ると便利ですね。
でもpythonのファイルIO知らないので調べてみます。

>>274
ええ、見る方です。でもcgi検索して見るとfortranでもcgi出来ますね。

FORTRAN(超初心者用)その2
でも聞いてみて良いのかな?

280 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 23:30:44 ]
Visual Fortran 9 を使用されている方いますか?
購入を検討しているのですが,アクティベーションあるんかな?

281 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 00:48:26 ]
>>280
ネット経由の認証も出来るし、ローカルでのライセンスファイルでの認証も出来る。
どちらかというとネット経由の認証へ移行したいと思っている節がある。

あと1年でライセンスは切れる。切れた後はインストールできない。再インストールも出来ない。
実行には問題ない。ただしバグフィックスは再インストールになるので出来ない。
うっかり消してしまうと、再インストールできない。

282 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 01:03:43 ]
ライセンスって単年契約なんですか?恒久権利だと思ってた・・・やっぱり今のVisual Fortran 6使い続けようかなあ.

283 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 08:28:45 ]
> 切れた後はインストールできない。再インストールも出来ない。
そんなことはない。
購入後、1年間の間にリリースされたマイナーバージョンアップまでは自由に使えるよ。
使えないのは、それ以降にリリースされた最新版とか、プレミアサポートとか。


284 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 13:01:56 ]
ネット経由の認証がいるってことは,複数台のPCにインスコして同時に計算走らせるとかできないわけですよね?
(認証なくてもやっちゃだめなんだろうが)
結局この理由でofficeも2000,visual studioも6のまま・・・
Fortranも6でいいかー

285 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 14:30:29 ]
>>284
契約したライセンス数を超えて(または契約した使用者以外が)「コンパイラ」を使うのはいけないが
コンパイルして出来た実行プログラムの方は配布が可能。
(評価版や非商用ライセンスの場合は別だが)

またそのプログラムの実行にIntelが定めた再配布可能ファイルが必要なら、それも含めて配布可能。

ちなみにシングル・ユーザー・ライセンスの場合、契約者個人が同時に1つしか使用しないのであれば
コンパイラを複数のPCにインストールすることも可能。

www.intel.com/cd/software/products/asmo-na/eng/compilers/295825.htm



286 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 23:06:03 ]
誰かeclipseを使ってフォートランのコンパイルしている人いませんか?
photranの使い方がわからなくて..

287 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 13:33:53 ]
>>286
それをやろうとして、諦めたw
設定いろいろいじろうと思うとeclipseまで勉強しなきゃならなくて時間の無駄だと感じた。

設定できたら報告よろ!

288 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 00:09:26 ]
空気読まずに言うけどフリーのリンク先にある

FTN77/95のインストール方法
www.coastal-env.k.u-tokyo.ac.jp/koibuchi/fortran.htm

95のインストール先とマニュアルの画面が全然違うのは仕様?

289 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 02:12:36 ]
通りすがりの者だが・・・・
>>288
提供先がSalfortから関連会社のSilverFrostに移行したときに変わってしまったのさ。


290 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 17:02:26 ]
>>286
fortranでeclipse使ってるとこってあるんかな?
fortranって科学技術系が多いし、他の一般業界の言語やコードに比べたらシンプルだからね・・
中にはviでガシガシの人もいるし

291 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 19:33:49 ]
>>289
サンクス。
じゃあ、あの状態でFortran95をダウンロードするにはどうすれば……?

本来なら説明しているサイトに報告すべきだと思うけど、
SilverFrostでのダウンロード方法を知っている人がいたら教えてください。

292 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 19:55:34 ]
>>291
>>141

293 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 10:43:46 ]
>>292
サンクス。
上段のページからダウンロードして後、VisualStugio2003をインストールしてたから同じく2003でインストールしました。

あとは複数あるシステムの中で、Fortran教科書に載ってるプログラムを書いて実行するのに選ぶべきシステムとその方法さえわかれば……

294 名前:デフォルトの名無しさん [2007/06/13(水) 22:07:13 ]
Fortressについてどう思うよ?

295 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 23:23:23 ]
オワタ



296 名前:デフォルトの名無しさん [2007/06/14(木) 00:49:28 ]
すいませんが、FORTRAN77で、二階非線形常微分方程式をルンゲ・クッタ法を使ってプログラムを組みたいのですが、
一階なら分かったのですが、高階になるとよくわかりませんorz


297 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 00:54:41 ]
>>296
それはプログラムがわからないの?
それとも数学がわからないの?

298 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 23:34:11 ]
>>296
ルンゲ喰ったなんて、数値計算の本の、頻出事項じゃんか。
図書館に行ったほうが2chに来るより効率的。


299 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 00:09:50 ]
ルンゲ警部を喰っちゃうなんて・・・

300 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 10:39:29 ]
ペッパーランチでペッパー警部に食われました(正笑

301 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 13:00:52 ]
>>300
アッー?

302 名前:デフォルトの名無しさん [2007/07/07(土) 05:25:58 ]
FortranからLinuxのsystem関数を利用して出力したモノを
変数に納めたいのですが、どうすればよいのでしょうか?

例えば

call system('echo 2')
でa.outを実行すると正常に2が出力されるのですが、
その2を変数に代入しようと。

integer var
call system('echo 2',var)

のようにしてみたのですが、エラーになりました。
character型も試してみたのですが、やはりエラーになりました。

303 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 12:43:32 ]
>>302
コンパイラなによ。

ま、マニュアル読んだほうが早いと思うけど。

304 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 13:22:12 ]
>>302

call system('echo 2 > hoge.txt')
open(10, file='hoge.txt', status='OLD')
read(10,*) var
close(10,status='DELETE')
write(*,*) var


305 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 14:54:26 ]
>>303
pgiコンパイラだそうです。
ちょっとマニュアル探してみます。

>>304
コンパイラの問題なのかDELETEのところがちょっとエラーでできなかったのですが。
close(10)としたら変数に2を入れることができました。
ありがとうございました



306 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 14:57:11 ]
あ、すみません。
>>304でできました。

307 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 15:06:41 ]
あと、System関数を利用せずに外部ファイルの行数を取得する方法ってありますか?
例えばhoge.txtの中身が
----------
apple
123 456
pie
----------
であれば、そのファイルの行数を読み取りinteger型の変数に3を
代入するという操作を行いたいのです。

もちろんSystem関数の利用でできたのですが、それだとプラットフォームが
Linuxに限られてしまうので、Fortranでファイルの処理を行うようにすれば
各種プラットフォーム上でも使えるソースになって便利だなと思いました。
この操作に限らず、Fortranでファイルを編集するための勉強はどのような
ところで勉強すればいいのでしょうか?

308 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 17:41:38 ]
>>307
普通に空readでend of file が出るまでまわして、変数に一足していけばいい。


309 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 08:19:26 ]
>>308
できました。
[Fortran]$ cat num_of_tmp
sfejoiwa
seflkew
sfepo pweko
wsefk

sefpowe posef

sdf s;ef
[Fortran]$ ./a.out
x = 8

ありがとうございました(><)

310 名前:TESTちゅう [2007/07/12(木) 17:03:55 ]
フィボナッチのプログラムが急ぎで必要です。だれか教えてください!!!

311 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 21:18:17 ]
      WRITE(*,*) 'N='
      READ (*,*) N
      DO 10 I=1,N
      IF0=IF1
      IF1=IF2
      IF ( I.GT.2 ) THEN
            IF2=IF1+IF0
      ELSE
            IF2 = 1
      END IF
   10 WRITE(*,*) I,IF2
      STOP
      END

312 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 22:54:57 ]
Numerical Recipes の第3版が出るらしいな。


313 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 03:14:53 ]
確かに本家の看板に出てるね
www.nr.com/
情報さんくす


314 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 03:17:27 ]
↑ってC++がメインになってないか(笑)
微妙にスレちがいかも

315 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 23:37:05 ]
>>314
ホントだ
裏切られた!www
怪しからん奈!




316 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 03:17:16 ]
>>314
FORTRAN版は出す気あるのかな?

初版の非Fortran版はトランスレータにかけただけのような
gotoバリバリコードで出版していたのだから、無茶なFortranコードでも
著者は別に気にしないよなw


317 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 04:09:06 ]
>>316
どうだろ?C++の機能をつかって実装しているようだから、
以前の FORTRAN -> それ以外の言語 の移植とは訳が違いそう

NRの2nd(1992)から3rd(2007)への以降に15年掛かっているね
たぶん3rdに取り組み始めた頃は、まだC++が輝いてたんだろ

複素数の取り扱いが、クソややこしいテンプレートになっていたり、
整合配列に問題があったりと、C++は数値計算に向いてない
c99の方がずっとマシ(ただし、こっちは対応コンパイラがPGIぐらいしか無い)
Fortran90かFORTRAN77のまま、アルゴリズムだけ進歩させた方が良かったと思うよ 

NRのメリットは安い値段とソースコード付きってとこだったが、
C++のみになると、あんまりメリット感じないね C言語だとGSLとかあるしね
どうせ自由に配布できないんだったら NAG, IMSLの方がいいんじゃないか?
少なくとも漏れはNR 3rdイラネ

318 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 13:01:52 ]
>>317
あれれ2版からも15年たってるのかよw

しかしアルゴリズムの進歩版とかのってはいないのかね?
第2版では、初版に無かったnon-numerical algorisms の章が一番役に立ったw

CRC16とかHuffman符号化とか、情報工学的なアルゴリズムが、数値計算との垣根を乗り越えてきた
タイミングだったのか。


319 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 23:48:31 ]
今日本屋に行ったらこんな本があった。

Fortress言語―マルチコア時代の並列化プログラミング言語

もう出すのかよw 
ざっと見た感じ糞本だったがw



320 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 12:21:50 ]
まったく話を聞かないしなぁ>Fortress
スラドでも議論があったけど、将来も普及する見込みは厳しそうね

321 名前:デフォルトの名無しさん [2007/07/23(月) 01:55:57 ]
>>320
よく知らんが、SUNのマルチコアCPUに大量のスレッドをばら撒いて並列計算させるという
コンセプトの言語なんだろ?

アイデアとしては面白いんで内科医?

Haskellっぽい仕様も入れているらしいし、次世代の踏み台にwww


322 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 10:15:40 ]
>>321
オープンにしたからSUNの石専用ってわけじゃないのでは?

確かに踏み台ぽいなw

323 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:44:19 ]
Thoughts on Language Design
New challenges require new solutions
Guy L. Steele Jr.
ttp://www.ddj.com/dept/architect/184406382

まぁ、それなりに考えがあってFortressを作っているようだ。
Sunがアメリカのスパコン助成から脱落したので、さいさきは暗いだろう。

日本(富士通)で拾う振りをして、アメリカに疑心暗鬼を起こさせるのが吉だと思うwwww

324 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 09:34:34 ]
>日本(富士通)で拾う振りをして、アメリカに疑心暗鬼を起こさせる
スゲーwwww
策士っすねw

325 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 00:35:12 ]
>>324
最近の最速スパコン競争は、なんか土建屋の既得権争いっぽいから、
釣りに走って遊ぶほうが、たしかにいい気がするw




326 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 22:19:24 ]
「スカラ型とベクトル型を両輪に」,次世代スパコン構成の狙いを語る
ttp://techon.nikkeibp.co.jp/article/NEWS/20070808/137619/



327 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 21:56:30 ]
>>326
53. 次世代、ペタスケール、T2K (2007/8/12)
ttp://grape.mtk.nao.ac.jp/~makino/articles/future_sc/note054.html#rdocsect59

すっぱいぶどうの更新w

328 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 02:10:13 ]
Cygwin上で動くfortran90コンパイラってありませんか?
すみませんが どなたか情報をお持ちでしたら教えて下さい。

329 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 18:45:37 ]
>>328
以前
g95.sourceforge.net/
を試したら動いた

330 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 19:08:37 ]
>>328
ttp://g95.sourceforge.net/

でも、なんでパッケージに入ってないんだろう?

331 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 20:03:47 ]
CygwinのGCCが4.x.xになったらこっちが入るからじゃないかな
ttp://gcc.gnu.org/wiki/GFortran


332 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 20:17:52 ]
>>329 - 330
ありがとうございまs。試してみます!


333 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 23:01:43 ]
Steve Lionel のコラムで、FORTRANで書かれた(多分)世界初のアドベンチャーゲームネタが出ている。
softwareblogs.intel.com/2007/08/22/you-are-in-a-maze-of-twisty-little-passages-all-alike/

334 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 23:11:05 ]
マジカヨ

335 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 23:10:18 ]
Intel fortranて、バージョン10になってから、MKLがおまけで付いてくるようになったな。
MKL買った人カワイソス=おれ



336 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 23:28:08 ]
おまけと言ってもMKL有りとなしじゃ、けっこう価格差が…

337 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 00:31:24 ]
>>335
忘れたがMKLのライセンスからをコンパイラのライセンスに転換できて2個分になったんじゃ中田ッけ?
ガセだったら酢マンコw


338 名前:335 mailto:sage [2007/08/31(金) 01:05:11 ]
9→10へのバージョンアップのときに、スタンダード版からプロフェッショナル版への変更が
安く(1万円くらい)できただけだった。いずれにしても、MKL単体で買って損した気分だ。

339 名前:デフォルトの名無しさん [2007/09/07(金) 13:02:07 ]
www.nag-j.co.jp/fortran_compiler.htm

NAGのcompiler IntelMac版登場 トライアルができる

340 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 21:10:14 ]
intel fortran compiler for windows 9.0 を使用していて

icl.cs.utk.edu/lapack-for-windows/nmake_install.html

の手順に従いlapackとblasを導入しようとしてますが

1. C:\Program Files\LAPACK_3.1.1_for_Windows\LAPACK 3.1.1 for Windows\ に移動
2. set_environment.bat x86 Intel
 と入力(Blasはデフォルトを使用)
4. nmake /nologo all

とすると

xilib.exe /OUT:"C:\Program Files\LAPACK_3.1.1_for_Windows\LAPACK 3.1.1 for Windows\blas.lib" *.obj
が実行されているときに次の旨の表示がでてうまくいきません。
"lib"を実行しています
"lib"がみつかりません

>>197
の slim に相当する形でxilibが使われているものだと思うんだけど、どう使用すればうまくいくのかわかりません。
ちなみにxilib に代えて xilink /lib を使っても同じです。

blas.lib lapack.lib を作るにはどうすればよいでしょうか?

341 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 13:51:43 ]
質問です。
fortran95を使っているのですが

do i=1, size(A)
A(i) = hoge + i * fuga
end do

みたいのを

A = hoge + [なにか] * fuga

のようにして添字を配列演算に用いて一行にまとめられないのでしょうか?
それと

do i=1, size(A)
hoge = 複雑な式
A(i) = hoge * fuga
B(i) = hoge * piyo
end do

のような場合、

A = 複雑な式 * fuga
B = 複雑な式 * piyo

と書く事で二度計算されてしまうのは無駄ですし
式が長くなって読みづらいのですが、配列演算に対する一時変数のようなものは無いのでしょうか。

342 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 21:33:40 ]
>>340
Visual Studioに含まれているlib.exe/link.exeへのパスが通ってない。

通常はset_environment.batから呼ばれている
"%IFORT_COMPILER91%\IA32\Bin\ifortVars.bat"
の中でVSへの設定も行われるはずだが
環境変数 IFORT_COMPILER91 はIVF9.1用の設定なので
IVF9.0なら IFORT_COMPILER90、10.0なら IFORT_COMPILER10
に変更する必要がある。

ifortVars.bat を実行してもlib.exe/link.exeが使えない場合は
ifortVars.bat を修正するか、予めVS中の VSVars32.bat か
VCVars32.bat を実行しておく必要がある。

343 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 23:48:01 ]
>>341
A = hoge + (/(i,i=1,size(A))/) * fuga

344 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 17:01:44 ]
>>343
ありがとうございます。こんな素直な方法があったんですね。
後者については今のところ難しいでしょうか。

あと配列演算に使える関数が作れるといいのですが、これも難しいですかね。
配列をもらって配列を返すようなタイプだと一次的に戻り値用の配列を確保しなくてはいけないので現実的ではないんです。

345 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 19:36:29 ]
>>344
しかし>>343のようにやると、いったん暗黙のテンポラリ配列が生成されて
それから積が取られることになるので、DO LOOPの展開式とは等価ではない。

>あと配列演算に使える関数が作れるといいのですが、これも難しいですかね。
elementalだったかpureオプションつければ可能だった気がする。
調べてくれw





346 名前:345 mailto:sage [2007/09/11(火) 01:37:16 ]
>>344
MODULE m_elemental
CONTAINS
ELEMENTAL REAL FUNCTION watson(x)
IMPLICIT NONE
REAL, INTENT(IN) :: x
watson = x**2
RETURN
END FUNCTION watson
END MODULE m_elemental
!
PROGRAM holmes
USE m_elemental
IMPLICIT NONE
INTEGER :: i
REAL :: x(10), y(10)
DO i = 1, 10
x(i) = REAL(i)
END DO
y = watson(x)
PRINT '(10f7.1)', x
PRINT '(10f7.1)', y
STOP
END PROGRAM holmes


1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0
1.0 4.0 9.0 16.0 25.0 36.0 49.0 64.0 81.0 100.0
Press any key to continue . . .

elemental ⊂ pure だったw


347 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 12:33:44 ]
>>345
試してみましたが確かにテンポラリ配列作られてますね。
elementalは便利ですね。ありがとうございました。

348 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 19:16:35 ]
>>347
a(1:n) とか部分配列の類もテンポラリを作ることが多いので、
ソースコードが短くなるからと調子に乗って、DO LOOPの代わりに乱用すると、
思わぬところでスタックオーバーフローとかで憤死する。

ベクトル機の場合は一旦テンポラリ配列に展開したほうが早くなるだろうが、
パイプラインのスカラー機の場合はDO LOOPのままの方が早いのではないかと思う。

まぁ勝手に最適化するかも知れんし、トレードオフが色々あるので、なんとも胃炎が。


349 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 15:26:34 ]
age

350 名前:デフォルトの名無しさん [2007/09/18(火) 22:17:04 ]
ageも満足にできんのか!!

351 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 00:26:58 ]
intel Visual fortran 10.0 日本語版 発売

352 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 01:08:09 ]
「日本語版」つーてもFortranの場合、コンパイラのメッセージは英語のままだからありがたみがないなぁ。
日本語マニュアルは別途ダウンロードできるし。

353 名前:デフォルトの名無しさん [2007/09/21(金) 23:56:06 ]
質問です。
fortran77を使っているのですが、コンパイラ時にはノーエラーで、実行のときランタイムエラーと表示されるのですが、

WARNING - Label 170 has not been referenced
NO ERRORS,1 WARNINGS [<MAIN@>FTN77 Ver 4.03]
Creating executable: sinchouryuu.exe
*** Unable to create executable file: sinchouryuu.exe

実行可能なファイルの作り方を教えて下さい。

あと、実行時のエラーの
00401000 MAIN# [+174f]

て書いてあるのですが、どういう意味でしょうか?


因みに170行は
166:* cnbの転置行列
167:
168: do 70 j=1,10
169: do 80 i=1,6
170:
171: cbn(j,i)=cnb(i,j)
172:
173: 80 continue
174: 70 continue

こんなんなんです。

354 名前:デフォルトの名無しさん [2007/09/22(土) 00:01:51 ]
ヤコビアン行列がつくれません!!


どういった風に作るのか、作り方をどなたかおしえてください!

355 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 21:55:29 ]
>>353
>fortran77を使っているのですが
それは「規格の種類」であってこの場合、それよりも使用しているコンパイラや
OSの名前を書いてくれた方がありがたい。

> WARNING - Label 170 has not been referenced
「170行」ではなく文番号の170が参照されていない。

> *** Unable to create executable file: sinchouryuu.exe
> 実行可能なファイルの作り方を教えて下さい。
おそらくsinchouryuu.exeを実行中で書き換えられないのだろう。
すべてのsinchouryuu.exeを終了させてからコンパイルするのだ。

> 00401000 MAIN# [+174f]
> て書いてあるのですが、どういう意味でしょうか?
MAIN#(プログラムの開始位置)から 5919バイト目の位置でエラーが発生した。
エラーの種類はFTN77の場合、ダイアログの上の方に書いてある。

>>354
つ google



356 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 01:37:18 ]
FTN95をインストールしました。
plato3(日本語不使用)でコンパイル実行可能でした

fcpadを利用しては出来ないですか?
コンパイラパス
C:\Program Files\Silverfrost\FTN95\ftn95.exe
と入力
*** Invalid executable file suffix - only .EXE is permitted
とでてコンパイルできない。

秀丸でマクロを使おうかと思いきや、
PATHが通らず失敗。

誰か、ご指導願います・・・。

357 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 02:17:02 ]
>>356

くだすれFORTRAN(超初心者用)その2
pc11.2ch.net/test/read.cgi/tech/1164121236/355

358 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 23:51:02 ]
Intel Visual Fortranで/Qparallelを使って並列化したところ、
あまり高速化しませんでした。プログラムによってはむしろ遅くなることも。
サポートに問い合わせたら、こちらでも2コアでは確かにスピードダウンが
確認できましたが、4コアではスピードアップが確認できました、と回答。
まるでリフォーム詐欺のようだ・・・
単純な行列×ベクトルのみの計算でも最大30%アップ程度なのだが
並列計算ってそんなものですか?


359 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 01:28:55 ]
マシンの構成によるし・・・
QuadコアなCPU?

360 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 01:48:48 ]
>>358
自動並列化は、そんなもんだよ。スパコンでも同じ。

まぁ並列化よりSSEの方が簡単に簡単にスピードが出るようになる。

361 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 03:04:44 ]
SSEは適当に-O3とかするだけでも有効になるはず(多分

Qparallelって要するに自動でOpenMPディレクティブ入れてるだけだよね?
最近のOpenMPはどうなんだろう・・・古い古いとよく言われるけど、今後のマルチコアCPUで通用しなくなるのだろうか

362 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 09:34:52 ]
>>360
行列積とか素朴な演算ならSSEを入れれば単精度は4倍速、倍精度は2倍速とか、素直に早くなる。
コンパイル時のメッセージにベクトル化云々と出ればSSE使ってる。


363 名前:358 mailto:sage [2007/10/24(水) 11:02:26 ]
ありがとうございます。
現在はOpteron1210(DualCore)を使っています。
インテルからはまるでQuadCoreのCPUを買えというような回答だったので、
詐欺商法のように聞こえました。
SSEは使っています。
CPUのクロック数があがらなくなった現在では並列計算にしないと
スピードアップが望めなくなると思い、並列を検討しています。
自分の勉強不足も大きいのですが、誇大広告にがっかりです。


364 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 11:20:56 ]
Intelのサポートに聞いたの?
こういうのって大抵まともな(役に立つ)回答は期待できないものでは?
MSよりはマシだけど・・・

結局ググるなり2chなりどっかのコミュニティなりで探すしかないんだよね

365 名前:358 mailto:sage [2007/10/24(水) 12:58:59 ]
>>364
バージョンアップ込みで年間数万円(いくらか忘れた)のサポート料を払っているので、
使ってみたのですが、本当にがっかりです。
サポート料金を10倍にしてもいいので、まともな回答を期待したいです。
ググってますがなかなかいい情報が出てこないです。
私の最高は3割増が最高で、実務的な計算ではほとんど役に立ちません。
あれこれ考えている間に、時間をかけて計算したほうがいいのかと思えてきました。




366 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 12:59:13 ]
>>363
いや詐欺ではない。
既存プログラムを自動並列化して場合、スピードダウンするのはごく普通の現象。
はじめから並列化を前提に設計して、かつ指示行を入れまくってもいまいちなのは、実は常識だw


367 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 15:53:27 ]
>>365
スレ違いな話だけど、本気のガチンコサポートをするなら商売する側としては10倍でもペイしないと思うけどね・・・
そこはしょうがないっすよ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<180KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef