トップページ⇒tech
991コメント434KB

FORTRAN �W

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/11/12(日) 17:13:35
FORTRAN総合スレッドです。
FORTRAN77/90/95/2003, HPF等、FORTRAN全般に関する話題を書き込んで下さい。

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

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

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

・前スレ
FORTRAN III
http://pc8.2ch.net/test/read.cgi/tech/1104724162/
FORTRAN II
http://pc5.2ch.net/test/read.cgi/tech/1068351911/
Fortran
http://pc2.2ch.net/test/read.cgi/tech/1003214738/
0369デフォルトの名無しさん2007/10/24(水) 19:20:01
>>368
言語のサポートの場合、コンパイラのバグに対する対応の早さだと思う。
そういう点でIntelはパッチの出方は早い。

あとサポート掲示板には、様々なレベルの質問が出ているのでこっちも見てみたらいいかも。
ttp://softwarecommunity.intel.com/isn/Community/en-US/forums/1005/ShowForum.aspx
0370デフォルトの名無しさん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
0371デフォルトの名無しさん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

0372デフォルトの名無しさん2007/11/02(金) 13:20:39
このままPS2クラスタのようにお遊びで終わるのかと思ったが、そうでもないのか・・?
でも低価格の普及ゲーム機を使えるってのがそもそものウリなんだから、今のXboxやwiiに苦戦してる状況じゃ厳しいんじゃないか?
0373デフォルトの名無しさん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 シリーズを導入して以来、
ベクトル型スーパーコンピュータを採用している。
http://japan.internet.com/busnews/20071101/3.html
0374デフォルトの名無しさん2007/11/06(火) 14:00:01
阪大は10ノードらしい。
http://opentechpress.jp/enterprise/07/10/26/0340253.shtml
0375デフォルトの名無しさん2007/11/06(火) 23:51:09
>>374
阪大センターはハッカーにやられてから、セキュリティーが強化されすぎて
使いにくくなったって知り合いが言ってたなー。
数年前のことだが。

0376デフォルトの名無しさん2007/11/23(金) 16:54:32
休みだし、何か新しいネタを出してくれ。
0377デフォルトの名無しさん2007/11/23(金) 17:13:22
暇ならFortran2003の処理系作ってくれ。
0378デフォルトの名無しさん2007/11/29(木) 13:22:06
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     日本ニューメリカルアルゴリズムズグループ株式会社
      LAPACKサンプルプログラム集を公開開始
        LAPACKの利用がより身近に!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
日本ニューメリカルアルゴリズムズグループ株式会社(東京都中央区、以下
日本NAG)は、netlibにより公開されている線形代数パッケージ「LAPACK」の
サンプルプログラム集を公開いたします。これによりLAPACKを利用するユーザ
プログラムの開発が、よりスピーディーに行えるようになります。

公開URL:http://www.nag-j.co.jp/lapack.htm

また、日本ニューメリカルアルゴリズムズグループ株式会社ではより高性能な
LAPACKを、NAGライブラリ製品(NAG Fortran SMP Library)と共に提供してい
ます。

■ LAPACKについて
LAPACKはLinear Algebra PACKageの略で、netlib(http://www.netlib.org/)
により公開されている高性能線形代数パッケージです。(日本語ではエルエー
パック、もしくはレイパックと発音されます)連立一次方程式、最少二乗問題
固有値問題、特異値問題を解くためのサブルーチンが含まれています。

■ NAG Fortran SMP Libraryについて
1500以上のサブルーチンから構成される並列科学技術、統計計算ライブラリ
です。1500のサブルーチンの中には並列化済みのLAPACKルーチンも数多く含ま
れており、LAPACKを利用するプログラムを1行も変更することなく、性能を
更に高めることが可能です。
0379デフォルトの名無しさん2007/12/06(木) 03:09:49
初心者で最小二乗法のプログラムが組めないんですがどうすればいいんでしょうか?
0380デフォルトの名無しさん2007/12/06(木) 10:03:56
>>379
図書館へ行って、データ処理の本を読むんだ!
0381デフォルトの名無しさん2007/12/06(木) 19:03:50
データ読み込んでΣ求めて公式通り計算すればおk
0382デフォルトの名無しさん2007/12/07(金) 22:27:07
>>379
いますぐ俺の口座に3000円振り込むんだ!
0383デフォルトの名無しさん2007/12/09(日) 12:57:37
最小二乗法くらいならいくらでも転がってるだろ・・・
0384デフォルトの名無しさん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]

誰かこのエラーの意味ならびに解決策をご教授していただけないでしょうか?
ちなみに○○○○のところは私の名前が入ってるので、伏せておきました。
0385デフォルトの名無しさん2007/12/12(水) 22:23:51
>>384
コプロの機械語の命令に対応物が無いのだから、コンパイル時に対象機種以外の命令が入るような
最適化をしたのではないかと思われる。
Pen4SSE2を無印ペンチアムで動かすとか、AMD用SSE命令をIntelで動かすとか。

そうだとすれば、最適化を落とすか、対象機種を明示的に指定するか、全機種対象にオプションを変えればいい。

0386デフォルトの名無しさん2007/12/13(木) 01:46:25
>>384
ちょうどfsqrtのところ(00401ef8)で例外が起きているので
GOENTRの中でSQRT()に負の数を渡す等の不正な計算を
しているように見えるが。
0387デフォルトの名無しさん2007/12/13(木) 16:42:46
386に一票
0388デフォルトの名無しさん2007/12/13(木) 23:13:02
コンパイラは何だろう?
0389デフォルトの名無しさん2007/12/14(金) 18:44:44
384です。
自己解決しました。
ありがとうございました。
0390デフォルトの名無しさん2007/12/15(土) 00:00:18
>>389
今後、他の方の問題解決に役立つこともありますので
出来ればコンパイラの種類や解決方法を公開できる範囲で良いので
書き込んでもらえると有難いです。
0391デフォルトの名無しさん2007/12/22(土) 10:35:08
CONTINUE
0392デフォルトの名無しさん2007/12/23(日) 10:22:03
stop
end
0393デフォルトの名無しさん2007/12/25(火) 23:51:38
最近の Intel Fortran って Traceback 機能が効いてなくね?
0394デフォルトの名無しさん2007/12/26(水) 21:28:28
そうか?
-traceback オプションででちゃんとソース名と行番号まで表示されるぞ。
0395デフォルトの名無しさん2007/12/26(水) 21:50:42
年明けでよかったらv10.1で試してみるよ
0396デフォルトの名無しさん2007/12/26(水) 23:18:42
>>395
頼む。やってみてくれ。

漏れの環境だと、Windows+VisualStudioのビルドオプションでtracebackをつけているのだが、
9.1だとTracebackを吐くが、Ver10.0やVer.10.1だと普通の実行時エラーしか出ない。

ツール+オプションでコンパイラだけ変えているはずなので、オプション指定は共通だと思うのだが・・
0397デフォルトの名無しさん2007/12/27(木) 01:48:12
手元のPCに10.1しか入ってないので他のバージョンと比較できないが、10.1の場合:

・VS上で[デバッグ] -> [デバッグ開始] (F5) で実行
 VSのデバッガ上でブレイクがかかる(「呼び出し履歴」にスタックトレースを表示)

・VS上で[デバッグ] -> [デバッグなしで開始] (Ctrl + F5) で実行
 トレースバック情報を表示せずに終了

・別途コマンドプロンプトを開いて実行
 トレースバック情報を表示して終了

となった。
0398デフォルトの名無しさん2007/12/28(金) 01:15:49
>>397
�dクス
確認・把握した。

漏れは近年デバッグ実行をまったく使っていなかったのと、エラーの出る奴は
コマンドラインから実行したことがなかったので気づかなかったw

多分、デバッグなし実行でもトレースバックは呼び出し履歴に強制リダイレクトされているが、
(error出力かなんかで)
この場合呼び出し履歴を見るメニュー項目が無いというバグなのだろうw 空想だがw


0399デフォルトの名無しさん2007/12/29(土) 19:18:05
せっかくVisual Studioを使っているんだからデバッガも使おうぜ。
0400デフォルトの名無しさん2007/12/30(日) 11:51:04
>>399
いや、昔は使っていたけど、なんというか、Fortran向きでない感じがして。
巨大配列のはみだしとかの検出に向いてないせいかな?
0401デフォルトの名無しさん2008/02/21(木) 23:04:14
Fortran2003の処理系はよ出せ
0402デフォルトの名無しさん2008/02/21(木) 23:57:48
>>401
IBMのコンパイラが一番進んでるって聞いたんだけど。
どうなのかね?
NAGも最近おとなしいし。
0403デフォルトの名無しさん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を使おうかと思っています。

並列計算に移行するちょっと前くらいの大きさの疎行列連立方程式を解くのにおすすめのライブラリあったら
教えてください。
0404デフォルトの名無しさん2008/03/16(日) 18:23:17
>>403

LAPACK か ATLAS ではダメ?そんな大規模な計算をやった事が
無いので、使い物になるかどうかは分かりません。

Linux ならパッケージでインストールできるはず。
ウチの Debian には aptitude で入れた。
04054032008/03/16(日) 18:44:46
>>404さん
レスサンクスです。

LAPACKとATLASも使ってます!MKLもLAPACKとかLAPACK95を使います。素晴らしい
ライブラリだと思います。
漏れがやりたいのは、疎行列連立方程式なので、LAPACKとかATLASをベースにして
そのラッパーが欲しいという感じです。LAPACKがすでにBLAS/ATLASのラッパーなわけ
ですが。。。

0406デフォルトの名無しさん2008/03/16(日) 19:57:43
>>405
一般論からすれば、反復法か直説法かの選択は行列の内容によるんでね?
たちの悪い行列でなければ、反復法の方が有利だと思うけど。
直説法なら確実に有限回で終了することが分かっているが、反復法は直交性が数値誤差で腐るから
数学的にはおかしいが、現実には有限回で終わらなかったりするし。

行列が、ほんとにスカスカの疎か、singularに近いか、固有値が縮退しまくっているかとか、
その辺は使用者しか分からんから、なんともいえないような。

中身の分からん奴に機械的に使わせるから安全第一で行きたいとか、運用面にも依存するし。
04074052008/03/16(日) 21:00:50
>>406さん
仰るとおりっす。
とりあえず、自分一人で使う(研究)ので、ブラックボックス的で安全なものでなくとも
高速で、導入やコーディングが楽なのが希望です。

行列の状態は悪いです。4x4のブロックに分かれてる感じで、離散化を細かくやると
主対角が卓越して、対角ブロックのみに不完全分解系の前処理掛けると、
それなりに収束しますが、係数行列のサイズが増大するというジレンマです。

疎行列性は、5万x5万で、非零要素が0.1%切ってるくらいです。

ご指摘のように、問題依存性が高いので、なかなかご意見いただくのは難しいかなとは
おもっております。

とりあえず、みなさん、10万x10万くらいの疎行列連立方程式(差分法や有限要素法
なら頻出だと思います)を解くときって、どんな言語で、どんな実装してるんですかね。。。
反復法ソルバもSaadのtemplateの擬似コードから自分で書いてるのか、とりあえず
いろいろソルバライブラリ試してるのか。。。たぶん、疎行列の格納形式から考える必要が
あると思うので、そのあたり、Fortran使いの皆さんがどうやってるのか知りたいです。
0408デフォルトの名無しさん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/
0409デフォルトの名無しさん2008/05/17(土) 02:00:17
EXCEL VBAである計算をしてたのですが、時間がかかって仕方がないので
PCにFORTRANをインストールしてfortranでプログラミングやろうかと
思っています。学生時代にFORTRAN 77を使った経験がある程度。
たしかMS FORTRAN ぱわーすてーしょんつうのも使ったことがあります。

専門家の多そうなこのスレで恐縮なのですが、現行のwinXPが入ってるPCで
動かすとよさげなFORTRANコンパイラは何がいいでしょうか・・。
計算内容は簡単なモンテカルロ法です。

0410デフォルトの名無しさん2008/05/17(土) 10:28:08
>>409
http://www.nminoru.jp/~nminoru/programming/x86-fortran.html
見れ。無料でとりあえず試すならcygwin+g77 かminGW+g77でしょう。
コストパフォーマンスならインテルコンパイラか。

どっちにせよ今EXCEL VBAで組めているのなら、今からわざわざFortranなんぞやらずに、
コンパイラ買う金で速いCPU買ったほうがマシだと思うけどね。
0411デフォルトの名無しさん2008/05/17(土) 22:05:46
>>どっちにせよ今EXCEL VBAで組めているのなら、今からわざわざFortranなんぞやらずに、
>>コンパイラ買う金で速いCPU買ったほうがマシだと思うけどね。

レスありがとうです。
VBAって異常に遅いなと思っていたのですが、CPU速くすれば
FORTRANに追いつける程度なのか・・・。
そこらへんがよくわかってないので。
0412デフォルトの名無しさん2008/05/17(土) 22:13:50
VB2008Expressでも使えば?
VBAよりはだいぶ速いしタダだよ
0413デフォルトの名無しさん2008/05/17(土) 22:41:52
どのくらいスピードを要するのか知らんがVBはインタープリタだろう?
SilverFrostのFTN95とかフリーコンパイラも転がっていることだし、
77でよければWatcomとか昔なつかしいのもあるし、g77のWin用もあるし、
Fortranで素直にやらせてやれw
0414デフォルトの名無しさん2008/05/19(月) 22:54:50
モンテカルロ法とかだとCPU周波数にほぼ比例して
速くなると思っておいていいのですか・・・
0415デフォルトの名無しさん2008/05/19(月) 23:35:44
>>411
その速いCPUで動かせばFortranはもっと速くwwww
マジレスするとパラメータサーベイとかなら今の4コアとか使えばかなり効率はあがる。
さすがにBASICがFORTRANを超えることは無理。
自分のプログラミングスキルと作るコードの複雑さから、コーディングやデバッグの
労力を見積もって自分で判断すべし。別にfortranとかVBAに限らんけどな。

VBAはクソ遅いと聞くが使ったことがないのでなんともだが、
Free BASIC VS intel Fortran ではFORTRANが速いといっても高々数倍程度〜コードによってはBASICが勝っている。
http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=ifc&lang2=fbasic
さすがにIntel Fortranはgnu fortranやJava, Mono Ruby なんかには楽々勝利。

>>414
だいだいYES。と言いたいがモンテカルロ法だけでは「乱数を使った確率的解法」ぐらいしか
わからんからなんとも。ランダムウォークのシミュレーションなんかだとCPU周波数に
比例してくれるようなコーディングができる場合が多い。
0416デフォルトの名無しさん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

すいませんが、どなたか教えてください。
0417デフォルトの名無しさん2008/05/22(木) 11:44:17
>>416
正直質問の意味がよく分からん。
コンパイラのバグでなければ、ありえない症状なので
ここに書いてない部分がおかしいとしか言いようが無い。

f77の範囲ならg77とか他のコンパイラもあるのでそれで試してみるとか、
salfordのf95で試してみるとかして見るのも一つの案。
0418初心者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
0419デフォルトの名無しさん2008/05/23(金) 23:58:39
>>418
エラーでないぞw

エラーメッセージをコピーしてみせてくれ。
0420初心者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に変えてからエラーが出るようになったように感じます.

お手数をかけて申し訳ないです.
よろしくお願いします.
0421デフォルトの名無しさん2008/05/26(月) 17:55:54
そりゃおめぇ,”デスクトップ”で実行しようたって無理な話よ
マイドキュメントに移動させな
0422デフォルトの名無しさん2008/05/26(月) 23:07:33
>>421
お前ひどい奴だなwww

>>420
最初ッからそう言ってくれれば、すぐに答えられる。
それはCVF時代のFAQで、日本語のパスやファイル名が入るとコンパイラが対応していない
のでエラーを吐く。2バイト文字を使わないディレクトリでやればおk。

0423初心者2008/05/27(火) 13:41:47
デフォルトの名無しさん
解決しました!!!
簡単な質問に親切に答えていただいてありがとうございました!!!
0424初心者2008/05/30(金) 15:38:10
重ね重ね質問すみません.

fortranをまわした結果をexcelかテキストファイルに出力したいのですが,
どのようなコマンドを打てばよいのでしょうか?
また,長い結果(10万桁以上)をファイルに出力したいのですが,
御教授お願いします.
0425デフォルトの名無しさん2008/05/30(金) 16:32:44
本人はできるだけ鼻につかない文章で丁寧に質問してるつもりなんだろうな。
0426デフォルトの名無しさん2008/05/30(金) 17:59:33
>>424
それ、先生に聞いた方がいいよ。お金払ってるんでしょ。
0427デフォルトの名無しさん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


「ご教示」を「ご教授」って書いちゃう男の人って。。。
0428デフォルトの名無しさん2008/05/31(土) 00:19:23
>>427
hogeはUNIX系の連中の使う言葉だ。
メインフレームの誇りを持つFortrannerは使っちゃいかんw

0429デフォルトの名無しさん2008/05/31(土) 11:14:03
foo bar baz は?
0430デフォルトの名無しさん2008/05/31(土) 16:02:34
鋼鉄の撃墜王
0431デフォルトの名無しさん2008/06/01(日) 18:28:25
>>415
これみるとIntel C/C++使ったほうがいいみたいだな
0432デフォルトの名無しさん2008/06/01(日) 19:41:18
>>431
単にFortranの書き方知らないだけだべ。
0433デフォルトの名無しさん2008/06/01(日) 19:44:49
つまりFortranを知ってる人が少ないと。
技術者を集めにくいと。
0434デフォルトの名無しさん2008/06/04(水) 01:08:45
>>431
INTEL Fortran と C++ はバックエンド部は共通だろうから、そもそもそれほど大きな違いが
出るはずが無い。
0435デフォルトの名無しさん2008/06/07(土) 20:13:52
慶大の生協運営の書店に
FORTRAN入門(FORTRAN77入門)が普通において有って驚いた
0436デフォルトの名無しさん2008/06/07(土) 20:25:26
>>435
浦昭二君、名誉教授だから当然でしょ
0437デフォルトの名無しさん2008/06/07(土) 20:33:09
もうf77は教えないほうがいいだろ。常識的に考えて。
0438デフォルトの名無しさん2008/06/07(土) 20:50:45
>>437
講義の教科書ではなくて、研究室用だと思うよ。
研究室にはf77の遺産があるから、参考図書として必須。
0439デフォルトの名無しさん2008/06/07(土) 23:48:11
>>435
大学の生協なら売ってるのが普通だと思ってた。
俺は慶応じゃないけどね
0440デフォルトの名無しさん2008/06/08(日) 00:29:15
阪大にも置いてあるよ。
どこでも置いてあると思う。
0441デフォルトの名無しさん2008/06/08(日) 00:51:54
浦昭二のFortran66の方はさすがに絶版になってしまったな。

0442デフォルトの名無しさん2008/06/08(日) 01:30:36
>>441
遺産プログラムがFortran66(ブロックIFなし)で書かれていて驚愕した orz
0443デフォルトの名無しさん2008/06/08(日) 02:26:31
>>442
俺のもらった遺産プログラムは、拡張DO LOOPを使っていたせいでコンパイラを通らず
すごく困った。

拡張DO LOOPとは、DO LOOP の中からGOTOで飛び出して、なんかやった後DO LOOPの
中に帰ると、またさっきのLOOPの続きが出来るというもので、当時の俺の想定外の悶絶機能で
何がおきているのか全く理解できなかったw

FORTRAN77で廃止になったはずなんだが、たいがいのコンパイラは密かに対応していた。
まぁ、怖いので書き直したがw

そういう事もあるのでFORTRAN66の教科書も無くしてはいけないと思うですよ。
0444デフォルトの名無しさん2008/06/08(日) 11:39:03
そうか、塾生は君付けなんだなw
0445デフォルトの名無しさん2008/06/18(水) 02:23:23
今、本屋で買える範囲で、おすすめのFortranの教科書は何ですか?

絶版は困ります。アマゾンの古本で買えるならいいですが。
0446デフォルトの名無しさん2008/06/18(水) 04:13:42
Michael Metcalf, John Ker Reid, "Fortran 90/95 Explained"
0447デフォルトの名無しさん2008/06/18(水) 10:04:59
>>445
Fortranを勉強する目的などを明確にせよ。
 規格:わからない、f77、f90以上
 目的:講義対応、研究室対応、趣味、業務対応

以下はとりあえずの推薦
規格わからない 講義対応
 Fortran 90プログラミング 冨田博之
 http://www.amazon.co.jp/dp/4563014095/

f77規格 講義対応
 FORTRAN77入門 浦昭二
 http://www.amazon.co.jp/dp/4563013587

f90規格 研究室対応
 数値計算のためのFortran90/95プログラミング入門 牛島省
 http://www.amazon.co.jp/dp/4627847211/
0448デフォルトの名無しさん2008/06/18(水) 10:10:18
テンプレに追加きぼん
0449デフォルトの名無しさん2008/06/19(木) 00:50:25
>>446-447
さんくす
0450デフォルトの名無しさん2008/06/29(日) 02:12:38
>>434
バックエンド共通ってだけで速度が同じになるなんてありえない。
字句解析や最適化は言語仕様とコンパイラ実装に強く依存する。

Fortranのシンプルさはその点強みだったけど、
最近のFortranはその他言語にどんどん近づいているからねえ。
0451デフォルトの名無しさん2008/06/30(月) 03:11:59
>>450
>>415のベンチマークの話だから。
0452デフォルトの名無しさん2008/07/03(木) 00:26:47
>>450
ベンチマークサイトのような、汎用アルゴリズムならfortranは速くなくて不思議は無いですよ。
C/C++とfortranのユーザー数考えたら、intelだってどちらにリソース割くかは自明でしょう。
ナンバークランチング用途ならfortranは多分まだ速いと思いますけど。
0453デフォルトの名無しさん2008/09/06(土) 00:53:21
Intel Fortran の次期バージョンベータテストが始まっている。
V.11が来年一月までの期限付きだが、無条件に配布されている。
Windows版はVisualStudio(Fortran 専用)つきで。

気になる人はチェキラ!w
0454デフォルトの名無しさん2008/09/21(日) 14:52:15
もともとIntel FortranとC++は非商用目的なら無料で使えるんじゃない?
0455デフォルトの名無しさん2008/09/21(日) 23:57:43
>>454
無期限はLinuxだけじゃないか?
0456デフォルトの名無しさん2008/09/22(月) 15:10:37
Linux版だけだな
Linux版ならIntel FortranとIntel C++が無期限で無償で使える
0457デフォルトの名無しさん2008/09/22(月) 15:12:37
非商用目的限定の話だけどね
0458デフォルトの名無しさん2008/10/07(火) 00:50:36
1秒間プロセスを寝かせるのはsleepという関数があるけど,
10msとか100msとか,ミリセカンドオーダーで寝かせるようにするには
どうすればいいですか?
Intelコンパイラを使っているので,Intelコンパイラ依存の関数でも
いいです.
今は,無駄な計算ループを作って待たせているのですが,
それだとCPU負荷になるので,できればCPU負荷にならないで
10msとか100msとか待たせられると嬉しいです.
0459デフォルトの名無しさん2008/10/07(火) 01:03:04
>>458
Windowsなら、USE IFWIN して Win32 の API の Sleep 関数でやれた気がする。
Linux は知らないが、同じようにやれると思う。
0460デフォルトの名無しさん2008/10/07(火) 01:30:30
nanosleep(2)
0461デフォルトの名無しさん2008/10/07(火) 03:06:27
>>458
ifort依存ならWin/Linux共に SLEEPQQ で
USE IFPORT
CALL SLEEPQQ(3000)
とミリ秒で指定できる。

但しあくまでも指定できるだけであって実際の休止時間をミリ秒単位の精度で
制御できるかどうかは別だが。
04624582008/10/07(火) 10:32:59
>>459-461
皆さん,ありがとうございます.
461さんのやり方でできました.
それほど正確性を求めていないので,このやり方で十分です.
ありがとうございました.
0463デフォルトの名無しさん2008/10/24(金) 15:08:54
おまいら、CUDAでFORTRANがサポされたらどうする?逝く?
0464デフォルトの名無しさん2008/10/24(金) 17:01:26
キュダってなに?
0465デフォルトの名無しさん2008/10/24(金) 20:17:32
>>464
GPGPUの開発環境 >CUDA
GPUを計算に転用して10倍以上の高速化を実現するらす
http://journal.mycom.co.jp/articles/2008/07/23/gpgpu/
0466デフォルトの名無しさん2008/10/25(土) 10:45:52
倍精度に対応したのか
0467デフォルトの名無しさん2008/11/11(火) 02:36:04
CUDAよりインテルのLarrabeeが来そうだな。
ベクトル長を長くする方向だから80年代のプログラミングモデルが復活するし、
Intelのコンパイラは必ずサポートするだろうし。

04684672008/11/11(火) 14:06:01
ルンゲ・クッタ・ギル法を用いて連立の方程式を解きたいのですが,
時間刻みを小さくしても発散してしまうのですが,何かサブルーチン内に欠陥があるのでしょうか?
QA0=QA
CKA0=H*FNCT1(X0,YA0,YB0,W0,W1,A,A0,A1,B,B1,H0,L,PI)
RA1=(CKA0-2.0*QA0)/2.0
YA1=YA0+RA1
QA1=QA0+RA1*3.0-CKA0/2.0
XX=X0+H/2.0
CKA1=H*FNCT1(XX,YA1,YB1,W0,W1,A,A0,A1,B,B1,H0,L,PI)
RA2=(1.0-1.0/sqrt(2.0))*(CKA1-QA1)
YA2=YA1+RA2
QA2=QA1+RA2*3.0-(1.0-1.0/sqrt(2.0))*CKA1
CKA2=H*FNCT1(XX,YA2,YB2,W0,W1,A,A0,A1,B,B1,H0,L,PI)
RA3=(1.0+1.0/sqrt(2.0))*(CKA2-QA2)
YA3=YA2+RA3
QA3=QA2+3.0*RA3-(1.0+1.0/sqrt(2.0))*CKA2
XX=X0+H
CKA3=H*FNCT1(XX,YA3,YB3,W0,W1,A,A0,A1,B,B1,H0,L,PI)
RA4=(CKA3-2.0*QA3)/6.0
YA=YA3+RA4
X=X0+H
QA=QA3+3.0*RA4-CKA3/2.0
return
end
function FNCT1(X0,YA0,YB0,W0,W1,A,A0,A1,B,B1,H0,L,PI)
FNCT1=-2.0*W1*H0*YA0-(W1**2.0+(W0**2.0)*(A/A0+(B**2.0)/(2.0*L*A0)-(L*A1*B)/(2.0*A0)))*YB0+((W0**2.0)*(3.0*L*A1)*(YB0**2.0))/(PI*A0)
* -((W0**2.0)*(PI**2.0)*(YB0**3.0))/(4.0*L*A0)+(W0**2.0)*((-2.0*B1)/(PI*(W0**2.0))+(4.0*(L**2.0)*A1*A)/((PI**3.0)*A0)+(2.0*L*A1*(A**2.0))/((PI**3.0)*A0)
* -(2.0*(L**3.0)*(A1**2.0)*B)/((PI**3.0)*A0))
return
end
長々と申し訳ないです.お願いします
■ このスレッドは過去ログ倉庫に格納されています