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/
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倍でもペイしないと思うけどね・・・ そこはしょうがないっすよ
368 名前:358 mailto:sage [2007/10/24(水) 16:19:19 ] 日本語がおかしかった。失礼しました。 >>367 あるソフトベンダーは年間140万円のサポートでいたれりつくせり。 (何が原因でしょうね?と問い合わせたら修正されてかえってくる) そこは最優先でサポートを継続している。 別の40万円のところは、それなりだけど解決のヒントはくれる。 (これらは言語ではなくてアプリケーションですが) VisualFORTRANは「開発に問い合わせます」のまま放置・・・。 ただ、今回の件については決して特殊な質問ではなく 広告にうたってある性能が出ないよに始まり、 そちらのもっている理想的なプログラムでいいから出してくれといっても 出てこない。いったいどんな質問だったら答えることができるのだろう。
369 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 19:20:01 ] >>368 言語のサポートの場合、コンパイラのバグに対する対応の早さだと思う。 そういう点でIntelはパッチの出方は早い。 あとサポート掲示板には、様々なレベルの質問が出ているのでこっちも見てみたらいいかも。 ttp://softwarecommunity.intel.com/isn/Community/en-US/forums/1005/ShowForum.aspx
370 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 20:49:16 ] NEC:世界最高性能のスパコン「SX−9」を発売 NECは25日、世界最高レベルの計算能力を持つスーパーコンピューター「SX−9」を開発し、 発売を始めたと発表した。1秒160億回の計算能力を持ち、最大限の512台を連結して運用し た場合、1秒839兆回の計算が可能なシステムが完成する。 新開発の高性能CPU(中央演算処理装置)を搭載した。国内外の大学や研究機関などが、 気象予測やロケットの設計、核融合のシミュレーションなどに利用することを想定している。 価格は1億5000万円。 現在の世界最速のコンピューターシステムは米IBMが開発し、秒間280兆回の計算ができる。 NECは、10年の完成を目指す世界最速スパコンの開発計画を、日立製作所や富士通と進めて いる。 ttp://mainichi.jp/select/biz/news/20071026k0000m020076000c.html
371 名前:デフォルトの名無しさん [2007/11/02(金) 00:54:14 ] プレステ3用FORTRANが動くようになった? ttp://www.ibm.com/developerworks/power/cell/downloads.html ttp://cell.fixstars.com/ps3linux/index.php/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8
372 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 13:20:39 ] このままPS2クラスタのようにお遊びで終わるのかと思ったが、そうでもないのか・・? でも低価格の普及ゲーム機を使えるってのがそもそものウリなんだから、今のXboxやwiiに苦戦してる状況じゃ厳しいんじゃないか?
373 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 23:44:01 ] 東北大学が NEC の世界最速スパコン「SX-9」16台導入へ 著者: japan.internet.com 編集部 プリンター用 記事を転送 NEC は1日、東北大学情報シナジー機構情報シナジーセンターから、世界最速の ベクトル型スーパーコンピュータ「SX シリーズ モデル SX-9」16台からなる大規模 スーパーコンピュータシステムを受注したことを発表した。新システムは、最大性能 26.2テラフロップス(テラフロップス:1秒間に1兆回の浮動小数点演算能力)に達し、 SX シリーズでは国内最大規模のシステムになるという。 同センターは、全国の大学や研究機関の研究者が利用する共同施設として、常に 最高・最新鋭の計算機システムを設置し、航空宇宙、地球環境、IT、ナノテク分野など 最先端の学術研究を支援。他では実行できない大規模シミュレーションの実行環境の 整備、専門的立場からの利用者プログラムの高速化推進を積極的に行い、長年研究者 にとって使い勝手の良いシステムが構築されている。現在、センターの利用者は学内外で1,500人を超えるという。 同センターは、その前身である大型計算機センターが1986年に SX シリーズを導入して以来、 ベクトル型スーパーコンピュータを採用している。 japan.internet.com/busnews/20071101/3.html
374 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 14:00:01 ] 阪大は10ノードらしい。 opentechpress.jp/enterprise/07/10/26/0340253.shtml
375 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 23:51:09 ] >>374 阪大センターはハッカーにやられてから、セキュリティーが強化されすぎて 使いにくくなったって知り合いが言ってたなー。 数年前のことだが。
376 名前:デフォルトの名無しさん [2007/11/23(金) 16:54:32 ] 休みだし、何か新しいネタを出してくれ。
377 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 17:13:22 ] 暇ならFortran2003の処理系作ってくれ。
378 名前:デフォルトの名無しさん [2007/11/29(木) 13:22:06 ] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 日本ニューメリカルアルゴリズムズグループ株式会社 LAPACKサンプルプログラム集を公開開始 LAPACKの利用がより身近に! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 日本ニューメリカルアルゴリズムズグループ株式会社(東京都中央区、以下 日本NAG)は、netlibにより公開されている線形代数パッケージ「LAPACK」の サンプルプログラム集を公開いたします。これによりLAPACKを利用するユーザ プログラムの開発が、よりスピーディーに行えるようになります。 公開URL:www.nag-j.co.jp/lapack.htm また、日本ニューメリカルアルゴリズムズグループ株式会社ではより高性能な LAPACKを、NAGライブラリ製品(NAG Fortran SMP Library)と共に提供してい ます。 ■ LAPACKについて LAPACKはLinear Algebra PACKageの略で、netlib(www.netlib.org/ ) により公開されている高性能線形代数パッケージです。(日本語ではエルエー パック、もしくはレイパックと発音されます)連立一次方程式、最少二乗問題 固有値問題、特異値問題を解くためのサブルーチンが含まれています。 ■ NAG Fortran SMP Libraryについて 1500以上のサブルーチンから構成される並列科学技術、統計計算ライブラリ です。1500のサブルーチンの中には並列化済みのLAPACKルーチンも数多く含ま れており、LAPACKを利用するプログラムを1行も変更することなく、性能を 更に高めることが可能です。
379 名前:デフォルトの名無しさん [2007/12/06(木) 03:09:49 ] 初心者で最小二乗法のプログラムが組めないんですがどうすればいいんでしょうか?
380 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 10:03:56 ] >>379 図書館へ行って、データ処理の本を読むんだ!
381 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 19:03:50 ] データ読み込んでΣ求めて公式通り計算すればおk
382 名前:デフォルトの名無しさん [2007/12/07(金) 22:27:07 ] >>379 いますぐ俺の口座に3000円振り込むんだ!
383 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 12:57:37 ] 最小二乗法くらいならいくらでも転がってるだろ・・・
384 名前:デフォルトの名無しさん [2007/12/12(水) 20:46:38 ] コンパイルはできたのですが、こんなメッセージが出てきて 途中で止まってしまいます。 Runtime error from program:c:\users\○○○○\documents\fortran\traje_0point.exe Unknown floating point exception 91a1 Floating point co-processor fault at address 00401ef8 00401ad0 GOENTR [+0428] 00401000 main [+059c] eax=00000b77 ebx=00000096 ecx=00000000 edx=0365fc38 esi=0365fcdc edi=0365fcd8 ebp=0365fc94 esp=0365fbd8 IOPL=0 ds=0023 es=0023 fs=003b gs=0000 cs=001b ss=0023 flgs=00010206 [NC EP NZ SN DN NV] 00401ef8 fsqrt 00401efa fmulp st(1) 00401efc fmul [0044a2c0] 誰かこのエラーの意味ならびに解決策をご教授していただけないでしょうか? ちなみに○○○○のところは私の名前が入ってるので、伏せておきました。
385 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 22:23:51 ] >>384 コプロの機械語の命令に対応物が無いのだから、コンパイル時に対象機種以外の命令が入るような 最適化をしたのではないかと思われる。 Pen4SSE2を無印ペンチアムで動かすとか、AMD用SSE命令をIntelで動かすとか。 そうだとすれば、最適化を落とすか、対象機種を明示的に指定するか、全機種対象にオプションを変えればいい。
386 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 01:46:25 ] >>384 ちょうどfsqrtのところ(00401ef8)で例外が起きているので GOENTRの中でSQRT()に負の数を渡す等の不正な計算を しているように見えるが。
387 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 16:42:46 ] 386に一票
388 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 23:13:02 ] コンパイラは何だろう?
389 名前:デフォルトの名無しさん [2007/12/14(金) 18:44:44 ] 384です。 自己解決しました。 ありがとうございました。
390 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 00:00:18 ] >>389 今後、他の方の問題解決に役立つこともありますので 出来ればコンパイラの種類や解決方法を公開できる範囲で良いので 書き込んでもらえると有難いです。
391 名前:デフォルトの名無しさん [2007/12/22(土) 10:35:08 ] CONTINUE
392 名前:デフォルトの名無しさん [2007/12/23(日) 10:22:03 ] stop end
393 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 23:51:38 ] 最近の Intel Fortran って Traceback 機能が効いてなくね?
394 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 21:28:28 ] そうか? -traceback オプションででちゃんとソース名と行番号まで表示されるぞ。
395 名前:デフォルトの名無しさん [2007/12/26(水) 21:50:42 ] 年明けでよかったらv10.1で試してみるよ
396 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 23:18:42 ] >>395 頼む。やってみてくれ。 漏れの環境だと、Windows+VisualStudioのビルドオプションでtracebackをつけているのだが、 9.1だとTracebackを吐くが、Ver10.0やVer.10.1だと普通の実行時エラーしか出ない。 ツール+オプションでコンパイラだけ変えているはずなので、オプション指定は共通だと思うのだが・・
397 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 01:48:12 ] 手元のPCに10.1しか入ってないので他のバージョンと比較できないが、10.1の場合: ・VS上で[デバッグ] -> [デバッグ開始] (F5) で実行 VSのデバッガ上でブレイクがかかる(「呼び出し履歴」にスタックトレースを表示) ・VS上で[デバッグ] -> [デバッグなしで開始] (Ctrl + F5) で実行 トレースバック情報を表示せずに終了 ・別途コマンドプロンプトを開いて実行 トレースバック情報を表示して終了 となった。
398 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 01:15:49 ] >>397 dクス 確認・把握した。 漏れは近年デバッグ実行をまったく使っていなかったのと、エラーの出る奴は コマンドラインから実行したことがなかったので気づかなかったw 多分、デバッグなし実行でもトレースバックは呼び出し履歴に強制リダイレクトされているが、 (error出力かなんかで) この場合呼び出し履歴を見るメニュー項目が無いというバグなのだろうw 空想だがw
399 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 19:18:05 ] せっかくVisual Studioを使っているんだからデバッガも使おうぜ。
400 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 11:51:04 ] >>399 いや、昔は使っていたけど、なんというか、Fortran向きでない感じがして。 巨大配列のはみだしとかの検出に向いてないせいかな?
401 名前:デフォルトの名無しさん [2008/02/21(木) 23:04:14 ] Fortran2003の処理系はよ出せ
402 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 23:57:48 ] >>401 IBMのコンパイラが一番進んでるって聞いたんだけど。 どうなのかね? NAGも最近おとなしいし。
403 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 17:47:06 ] 中規模疎行列連立方程式を解くのにFortran (Intel Win & Linux)を使おうとしてます。 小規模のものは、MATLABで、不完全三角分解前処理+BiCGSTABとかGMRESで解いてきました。 しかし方程式の大きさが1万を超えるあたりから、MATLABの組み込みソルバーのメモリ効率が悪くて Fortranに戻ってきた次第です。 今、とりあえずMKLを入れてみて、その中でおすすめ(?)ぽかったPARDISOを使ったコードを組んでみて サイズ5万くらいだとそれなりの速さで解いてくれることがわかりました。MKLのマニュアルには、普通の 疎行列用反復ソルバもあると書いてありますが、サイズが10万とか超えるようになると、PARDISOのような 疎行列直接法より、反復法の方が良いのでしょうか。 ほかのソルバライブラリでは、並列用PETScを試しています。ただ、解いている問題の係数行列が良くないのか PETScだと収束しないことがあって、PARDISOやMKLを使おうかと思っています。 並列計算に移行するちょっと前くらいの大きさの疎行列連立方程式を解くのにおすすめのライブラリあったら 教えてください。
404 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 18:23:17 ] >>403 LAPACK か ATLAS ではダメ?そんな大規模な計算をやった事が 無いので、使い物になるかどうかは分かりません。 Linux ならパッケージでインストールできるはず。 ウチの Debian には aptitude で入れた。
405 名前:403 mailto:sage [2008/03/16(日) 18:44:46 ] >>404 さん レスサンクスです。 LAPACKとATLASも使ってます!MKLもLAPACKとかLAPACK95を使います。素晴らしい ライブラリだと思います。 漏れがやりたいのは、疎行列連立方程式なので、LAPACKとかATLASをベースにして そのラッパーが欲しいという感じです。LAPACKがすでにBLAS/ATLASのラッパーなわけ ですが。。。
406 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 19:57:43 ] >>405 一般論からすれば、反復法か直説法かの選択は行列の内容によるんでね? たちの悪い行列でなければ、反復法の方が有利だと思うけど。 直説法なら確実に有限回で終了することが分かっているが、反復法は直交性が数値誤差で腐るから 数学的にはおかしいが、現実には有限回で終わらなかったりするし。 行列が、ほんとにスカスカの疎か、singularに近いか、固有値が縮退しまくっているかとか、 その辺は使用者しか分からんから、なんともいえないような。 中身の分からん奴に機械的に使わせるから安全第一で行きたいとか、運用面にも依存するし。
407 名前:405 mailto:sage [2008/03/16(日) 21:00:50 ] >>406 さん 仰るとおりっす。 とりあえず、自分一人で使う(研究)ので、ブラックボックス的で安全なものでなくとも 高速で、導入やコーディングが楽なのが希望です。 行列の状態は悪いです。4x4のブロックに分かれてる感じで、離散化を細かくやると 主対角が卓越して、対角ブロックのみに不完全分解系の前処理掛けると、 それなりに収束しますが、係数行列のサイズが増大するというジレンマです。 疎行列性は、5万x5万で、非零要素が0.1%切ってるくらいです。 ご指摘のように、問題依存性が高いので、なかなかご意見いただくのは難しいかなとは おもっております。 とりあえず、みなさん、10万x10万くらいの疎行列連立方程式(差分法や有限要素法 なら頻出だと思います)を解くときって、どんな言語で、どんな実装してるんですかね。。。 反復法ソルバもSaadのtemplateの擬似コードから自分で書いてるのか、とりあえず いろいろソルバライブラリ試してるのか。。。たぶん、疎行列の格納形式から考える必要が あると思うので、そのあたり、Fortran使いの皆さんがどうやってるのか知りたいです。
408 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:41:03 ] Steve Lionel (Intel) のコラムで、A=B+CとA(:)=B(:)+C(:)での後者の問題点について 触れられていた。最近のインテルコンパイラは少し賢くなって、この程度の単純な場合なら 後者で無駄なテンポラリへのコピーをしないようになったようだ。 とはいえ、まだ問題ありと。 ttp://softwareblogs.intel.com/2008/03/31/doctor-it-hurts-when-i-do-this/
409 名前:デフォルトの名無しさん [2008/05/17(土) 02:00:17 ] EXCEL VBAである計算をしてたのですが、時間がかかって仕方がないので PCにFORTRANをインストールしてfortranでプログラミングやろうかと 思っています。学生時代にFORTRAN 77を使った経験がある程度。 たしかMS FORTRAN ぱわーすてーしょんつうのも使ったことがあります。 専門家の多そうなこのスレで恐縮なのですが、現行のwinXPが入ってるPCで 動かすとよさげなFORTRANコンパイラは何がいいでしょうか・・。 計算内容は簡単なモンテカルロ法です。
410 名前:デフォルトの名無しさん [2008/05/17(土) 10:28:08 ] >>409 www.nminoru.jp/~nminoru/programming/x86-fortran.html 見れ。無料でとりあえず試すならcygwin+g77 かminGW+g77でしょう。 コストパフォーマンスならインテルコンパイラか。 どっちにせよ今EXCEL VBAで組めているのなら、今からわざわざFortranなんぞやらずに、 コンパイラ買う金で速いCPU買ったほうがマシだと思うけどね。
411 名前:デフォルトの名無しさん [2008/05/17(土) 22:05:46 ] >>どっちにせよ今EXCEL VBAで組めているのなら、今からわざわざFortranなんぞやらずに、 >>コンパイラ買う金で速いCPU買ったほうがマシだと思うけどね。 レスありがとうです。 VBAって異常に遅いなと思っていたのですが、CPU速くすれば FORTRANに追いつける程度なのか・・・。 そこらへんがよくわかってないので。
412 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 22:13:50 ] VB2008Expressでも使えば? VBAよりはだいぶ速いしタダだよ
413 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 22:41:52 ] どのくらいスピードを要するのか知らんがVBはインタープリタだろう? SilverFrostのFTN95とかフリーコンパイラも転がっていることだし、 77でよければWatcomとか昔なつかしいのもあるし、g77のWin用もあるし、 Fortranで素直にやらせてやれw
414 名前:デフォルトの名無しさん [2008/05/19(月) 22:54:50 ] モンテカルロ法とかだとCPU周波数にほぼ比例して 速くなると思っておいていいのですか・・・
415 名前:デフォルトの名無しさん [2008/05/19(月) 23:35:44 ] >>411 その速いCPUで動かせばFortranはもっと速くwwww マジレスするとパラメータサーベイとかなら今の4コアとか使えばかなり効率はあがる。 さすがにBASICがFORTRANを超えることは無理。 自分のプログラミングスキルと作るコードの複雑さから、コーディングやデバッグの 労力を見積もって自分で判断すべし。別にfortranとかVBAに限らんけどな。 VBAはクソ遅いと聞くが使ったことがないのでなんともだが、 Free BASIC VS intel Fortran ではFORTRANが速いといっても高々数倍程度〜コードによってはBASICが勝っている。 shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=ifc&lang2=fbasic さすがにIntel Fortranはgnu fortranやJava, Mono Ruby なんかには楽々勝利。 >>414 だいだいYES。と言いたいがモンテカルロ法だけでは「乱数を使った確率的解法」ぐらいしか わからんからなんとも。ランダムウォークのシミュレーションなんかだとCPU周波数に 比例してくれるようなコーディングができる場合が多い。
416 名前:デフォルトの名無しさん [2008/05/22(木) 09:28:10 ] 質問です。 salfordのf77を使っているのですがgoto文のループ内で配列を毎回初期化してたら ループが途中で終わってしまうのですがどうしたら良いでしょうか? 何でか分からないのですが、初期化しないと繰り返してくれます。あと、以下のプログラムの文 で初期化がi,j共に31の繰り返しだと少し長く繰り返します。 goto文の中にはガウスの消去法のサブルーチンがあります。 100 continue do i=1,32 do j=1,32 kakunou(i,j)=0 enddo enddo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 中略(以下このkakunou(32,32)に計算値を代入してます) 途中でガウスの消去法のサブルーチンを呼び出してます ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ goto 100 すいませんが、どなたか教えてください。
417 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 11:44:17 ] >>416 正直質問の意味がよく分からん。 コンパイラのバグでなければ、ありえない症状なので ここに書いてない部分がおかしいとしか言いようが無い。 f77の範囲ならg77とか他のコンパイラもあるのでそれで試してみるとか、 salfordのf95で試してみるとかして見るのも一つの案。
418 名前:初心者 [2008/05/23(金) 15:40:54 ] 失礼します. Compaq Visual fortran 6.1を使用しているものですが, 練習で以下のプログラムを書いたのですが,cpmpileを押し, 「.F」に変換しても「1errors」が出てしまいます. なぜ出るのか教えていただけないでしょうか? 初歩中の初歩で申し訳ないです. INTEGER WIDTH,HEIGHT,AREA READ(5,*) WIDTH,HEIGHT AREA=WIDTH*HEIGHT WRITE(6,*) WIDTH,HEIGHT,AREA STOP END
419 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:58:39 ] >>418 エラーでないぞw エラーメッセージをコピーしてみせてくれ。
420 名前:初心者 [2008/05/26(月) 12:58:26 ] デフォルトの名無しさん 早速の返信ありがとうございます. エラーは以下のように出ます --------------------Configuration: Text1 - Win32 Debug-------------------- Compiling Fortran... C:\Documents and Settings\Admin\デスクトップ\Text1.F f90: Severe: Invalid argument ... file is 'C:\Documents and Settings\Admin\デスクトップ\Text1.F' Error executing df.exe. Text1.obj - 1 error(s), 0 warning(s) 自分も以前OSが2000を使用していたときは何のエラーも出なかったのですが, XPに変えてからエラーが出るようになったように感じます. お手数をかけて申し訳ないです. よろしくお願いします.
421 名前:デフォルトの名無しさん [2008/05/26(月) 17:55:54 ] そりゃおめぇ,”デスクトップ”で実行しようたって無理な話よ マイドキュメントに移動させな
422 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:07:33 ] >>421 お前ひどい奴だなwww >>420 最初ッからそう言ってくれれば、すぐに答えられる。 それはCVF時代のFAQで、日本語のパスやファイル名が入るとコンパイラが対応していない のでエラーを吐く。2バイト文字を使わないディレクトリでやればおk。
423 名前:初心者 [2008/05/27(火) 13:41:47 ] デフォルトの名無しさん 解決しました!!! 簡単な質問に親切に答えていただいてありがとうございました!!!
424 名前:初心者 [2008/05/30(金) 15:38:10 ] 重ね重ね質問すみません. fortranをまわした結果をexcelかテキストファイルに出力したいのですが, どのようなコマンドを打てばよいのでしょうか? また,長い結果(10万桁以上)をファイルに出力したいのですが, 御教授お願いします.
425 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 16:32:44 ] 本人はできるだけ鼻につかない文章で丁寧に質問してるつもりなんだろうな。
426 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 17:59:33 ] >>424 それ、先生に聞いた方がいいよ。お金払ってるんでしょ。
427 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 19:26:16 ] program main integer :: i = 1 open(unit=10,file='hoge.txt',status='unknown') do write(10,'(i4)') i i = i + 1 end do close(10) end program main 「ご教示」を「ご教授」って書いちゃう男の人って。。。
428 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 00:19:23 ] >>427 hogeはUNIX系の連中の使う言葉だ。 メインフレームの誇りを持つFortrannerは使っちゃいかんw
429 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 11:14:03 ] foo bar baz は?
430 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 16:02:34 ] 鋼鉄の撃墜王
431 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 18:28:25 ] >>415 これみるとIntel C/C++使ったほうがいいみたいだな