トップページ⇒tech
992コメント455KB

くだすれFORTRAN(超初心者用)その4

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん2009/01/24(土) 18:32:01
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
FORTRAN使いが優しくコメントを返しますが、
お礼はFORTRANの布教と初心者の救済と次期Fortran2008規格でのCOMEFROM文採用をお願いします。

●注意事項
・質問する前にGoogle等の検索サイトで検索しましょう。
・回答者にわかりやすい様に、質問内容はできる限り詳しく書きましょう。
・エラーの場合は起きた状況、環境(OS・コンパイラ・バージョン)、エラーメッセージも詳しく書きましょう。


●前スレ
くだすれFORTRAN(超初心者用)その3
http://pc11.2ch.net/test/read.cgi/tech/1196384126/

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

くだすれFORTRAN(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1138063703/


●関連スレ
FORTRAN �W
http://pc11.2ch.net/test/read.cgi/tech/1163319215/
0883デフォルトの名無しさん2010/02/01(月) 18:38:34
へぇそんなんあったんだ
0884デフォルトの名無しさん2010/02/02(火) 00:00:51
>>880
66スタイルで何やってるかわからんなw
NUMPACK使っているところを見ると、富士通、名大・九大・京大あたりの流れか。
ライブラリ関数が無いから実行することもできないしもっと詳しく書いてくれないと誰も答えられないだろう。

まぁ定数や関数の一部が単精度のままなので倍精度にしている意味がない可能性が高い。
その辺かな?w
0885デフォルトの名無しさん2010/02/02(火) 00:04:41
>>882
FLUSHはFortran2003で導入された命令。
IntelのHELPはF2003命令がいまいち入ってなかったりしてアレなので、
文法解説書を買って学ぶがよろしい。

0886デフォルトの名無しさん2010/02/06(土) 09:14:48
>>885
そうなんだ。何年か前に g77 でサブルーチン版の flush をつかったことあがった。
今確認したら、やっぱり使えた。因みに g95 だと関数版の flush が使えた。関数
版だと戻り値でエラーチェックできるから有り難い。
0887デフォルトの名無しさん2010/02/07(日) 15:54:15
FFTについて質問させてください。

大学の講義で、離散フーリエ変換のプログラムについて勉強中です。
講義の最後に、「バイオリンの音のデータをフーリエ変換し、
フーリエ変換した結果を横軸:周波数、縦軸:振幅としてグラフ化せよ」
という課題が出ました。
配布されたデータの読み込みを試みたのですが、どう読み込ませたらいいのかが分かりません。
配布されたデータは2列で構成されており、左の列が時刻データ、右の列は音の振幅を表しています。

↓にプログラムを書きます。よろしくお願いします。
0888デフォルトの名無しさん2010/02/07(日) 15:56:08
--前半--

program fft

implicit none
!========================================================================
include "fftw_f77.i"
integer*8 ::plan
!========================================================================
!サンプリング条件の設定
!サンプリングデータ数N , aの数Ma , bの数Mb
!サンプリング間隔dt = 1/44100 [s] , サンプリング周波数 f0 = 44100 [Hz] , N, Ma, Mb
!周波数分解能df=1/(N・dt)
integer,parameter:: N=10000,Ma=5000,Mb=4999
real(8),parameter:: df=44100/dble(N) , dt=1.0d0/44100
!入力波形のデータの設定fin=100Hz
real(8) ::fin,a0
!作業用の変数
complex(8):: in(N),out(N),c(0:n-1)
integer ::i
real(8) ::t,a(0:Ma),b(1:Mb),x,y
0889デフォルトの名無しさん2010/02/07(日) 15:57:26
--後半--
!入力データの設定
write(*,*) 'Input data:'
open(unit=11,file='violin.dat')
do i=1,N
※ここが分かりません!※
end do
close (11)
!========================================================================
!ライブラリを利用したフーリエ変換(作業領域作成と実行)
call fftw_f77_create_plan(plan,N,FFTW_FORWARD,FFTW_ESTIMATE) !準備
call fftw_f77_one(plan,in,out) !実行
!========================================================================
!結果の変換
c(0:N-1)=out(1:N)
a(0)=c(0)
a(1:Ma)=dble( c(1:Ma)+c(N-1:N-Ma:-1) )
b(1:Mb)=dble( (c(1:Mb)-c(N-1:N-Mb:-1))*(0.0d0,1.0d0) )
!========================================================================
!結果の出力
write(*,*) 'Output data after forward FFT:'
open(unit=22,file='ab-.csv')
open(unit=21,file='c-.csv')
do i=1,N
write(21,'(i6,'','',1pe16.8,'','',1pe16.8)') i,out(i)
end do
write(22,'(1pe16.8,'','',1pe16.8,'','',1pe16.8)') 0.0,a(0),0.0
write(22,'(1pe16.8,'','',1pe16.8,'','',1pe16.8)') (i*df,a(i),b(i),i=1,Mb)
if (Ma/=Mb) write(22,'(1pe16.8,'','',1pe16.8,'','',1pe16.8)') Ma*df,a(Ma),0.0
close (21)
close (22)
0890デフォルトの名無しさん2010/02/07(日) 15:59:09
--ラスト--

!========================================================================
!フーリエ変換(作業領域消去)
call fftw_f77_destroy_plan(plan)
end program fft
0891デフォルトの名無しさん2010/02/07(日) 19:29:00
>>889
クラスの友達に聞いた方が早いよ。
0892デフォルトの名無しさん2010/02/07(日) 20:20:13
むしろ、データファイルの中身が必要なんじゃね?
0893デフォルトの名無しさん2010/02/07(日) 20:37:52
>>891
きっとボッチなんだよ。
0894デフォルトの名無しさん2010/02/07(日) 22:48:06
そうなんすよ。
彼女と遊びすぎて留年しちゃったもんで・・・。
0895デフォルトの名無しさん2010/02/07(日) 23:02:40
お前はこのスレを敵にまわした。
0896デフォルトの名無しさん2010/02/07(日) 23:10:16
>>894
教えようと思ったがやめた
0897デフォルトの名無しさん2010/02/08(月) 03:48:18
自分が今いるサブルーチンの名前を取得する方法ってありますか?
デバッグするときにどのサブルーチンで止まってるか確かめたいんですが。
0898デフォルトの名無しさん2010/02/08(月) 07:30:51
終了したのが
なんていうサブルーチンで何行目か、とか
ソースファイルの何行目だったか、とか教えてくれるようにする
オプションってあったと思うけどなぁ。というわけでマニュアルを読もう!

Fujitsuだと超最適化かけてもこの機能はついてくるのが素晴らしいが
PC向けではなかったような・・・。出してくれんかねぇ
0899デフォルトの名無しさん2010/02/08(月) 07:59:22
>>898
いえ、それがめんどくさいことに終了せずにどこかで停止してるんですよ。
write文の中身をいちいち変えてもいいんですけど、
出来るだけコード汚さないように書きたいので。
0900デフォルトの名無しさん2010/02/08(月) 11:25:45
すみません、もう一つ。subroutineの最後に

return
end

って書くのはなんででしょう。サブルーチンでのendってreturnと
同じ意味じゃないんでしょうか?returnが無いと困るケースってあります?
0901デフォルトの名無しさん2010/02/08(月) 12:13:11
ヒント: returnはサブルーチンの最後である必要は無い。
0902デフォルトの名無しさん2010/02/08(月) 13:12:13
大昔はEndSubroutineが無かったから、
このEndはサブルーチンのですよ、とチェックをいれる意味で
推奨されてた名残だね。ぶっちゃげ無くてEndだけでもいい。
Returnはサブルーチン抜けを意味するのだからメイン階層では絶対出てこないので。
0903デフォルトの名無しさん2010/02/08(月) 18:54:13
900じゃないけどreturnとか使った事ありませんでした
勉強になるスレです
0904デフォルトの名無しさん2010/02/08(月) 22:05:26
>>897
__FILE__ を使って後はゴニョゴニョとよくやってた。
Fortran 自体を使わなくなって数年(足を洗ったので)。
0905デフォルトの名無しさん2010/02/08(月) 23:08:56
>>899
Fortranにはそういう命令はない。
しかしコンパイラのtracebackオプションを使えばいい。
大抵のコンパイラにはそういう機能がある。
だがそれは、処理系に依るのでマニュアルでオプションを調べるしか無い。

コンパイラの種類とバージョンを言えばわかる可能性はある。

0906デフォルトの名無しさん2010/02/08(月) 23:13:26
__LINE__使えるんじゃないの?
0907デフォルトの名無しさん2010/02/09(火) 00:35:53
>>906
標準のFortranにはないべ。
Unix系のプリプロセッサの機能だろ。方言のなまりがきつすぎる。
0908ごめんなさい、お願いです。2010/02/10(水) 00:51:22
このプログラムを
明日までに作ってください!!お願いします。

Fortranで,

階乗 n! を計算する関数を作成し,

順列
n個の異なるものからr個取り出して並べる。
このときの順列の総数をnPrとあらわす。
nPr=n(n-1)(n-2)・・・(n-r+1)
を計算する関数を作成し,

組み合わせ
異なるn個からr個取り出して組を作る。
このときの組合せの総数をnCrとあらわす。
nCr = nPr/r!
を計算するプログラムを作成してください。
おねがいします。
0909デフォルトの名無しさん2010/02/10(水) 01:55:59
>>908
最近勉強しているのでFortran95 で書いてみた。
たぶん君が求めているのはF77ヴァージョンだろうw

MODULE m_2chan
IMPLICIT NONE
CONTAINS

ELEMENTAL INTEGER FUNCTION factorial(n)
INTEGER, INTENT(IN) :: n
INTEGER :: i
factorial = PRODUCT( (/ (i, i = 1, n) /) )
RETURN
END FUNCTION factorial

ELEMENTAL INTEGER FUNCTION permutation(n, r)
INTEGER, INTENT(IN) :: n, r
INTEGER :: i
permutation = PRODUCT( (/ (i, i = n, n - r + 1, -1) /) )
RETURN
END FUNCTION permutation

ELEMENTAL INTEGER FUNCTION combination(n, r)
INTEGER, INTENT(IN) :: n, r
combination = permutation(n, r) / factorial(r)
RETURN
END FUNCTION combination

END MODULE m_2chan
!
0910デフォルトの名無しさん2010/02/10(水) 01:57:29
PROGRAM twochannel
USE m_2chan
IMPLICIT NONE
INTEGER :: n, k
PRINT *, 'INPUT n and k'
READ *, n, k
PRINT *, 'nCk = ', combination(n, k)
STOP
END PROGRAM twochannel

77育ちの俺様は、暗黙の型に従っていないのですげー気持ち悪いぜwww
0911デフォルトの名無しさん2010/02/10(水) 02:27:41
>>908
数学的にチューニングすべきだが、提示された式のとおりに作った。PROGRAMは改行多杉になるので省略
integer function factorial(n)
implicit none
integer i, n
i = n
factorial = 1
do while(i .gt. 0)
factorial = factorial * i
i = i - 1;
end do
end
integer function permutation(n, r)
implicit none
integer n, r, i
i = 1
permutation = 1;
do while(i .le. r)
permutation = permutation * (n - i + 1)
i = i + 1
end do
end
integer function combination(n, r)
integer n, r, factorial, permutation
combination = permutation(n, r) / factorial(r)
end
0912デフォルトの名無しさん2010/02/10(水) 08:48:40
908の人気に嫉妬
0913デフォルトの名無しさん2010/02/10(水) 08:58:43
>>901
>>902
あ、そうなんですか。別に書かなくてもいいってことですね?

>>904
>>905
>>906
ありがとうございます。でも、エラーが出て終了するんじゃなくて、
ジョブは走ってるんですけどどこかで止まってるっぽいんですよ。
出力ファイルが計算途中で更新されなくなるんです。
で、どこまで進んでどこでどうなってるか調べたいのでいちいちwrite文挟んでるんですが…
tracebackって終了したときしか使えないですよね?
0914デフォルトの名無しさん2010/02/10(水) 10:05:57
デバッガー無いのか? アタッチ出来れば楽勝だな。
0915908です。2010/02/10(水) 11:57:13
みなさん、ありがとうございました!!(泣
0916デフォルトの名無しさん2010/02/10(水) 23:09:07
>>913
仰る通り Traceback は異常終了しないとでない。
しかし、望みの機能が存在しないのは、世の中の人がその機能を欲していないということなので
がんばってPRINT文をばらまいて解決しなさいw

プログラム相談員とか、そういう人に聞くのも、連中の人を小馬鹿にしたような寝言を我慢しないと
駄目だが、有効w
0917デフォルトの名無しさん2010/02/11(木) 13:16:13
>>916
>連中の人を小馬鹿にしたような寝言を我慢しないと駄目だが
ワロタw
あの目線はどうにかならんのか
0918デフォルトの名無しさん2010/02/11(木) 22:18:28
ちょっとお聞きしたいのですが、
fortranでguiプログラミングはできないのでしょうか?
0919デフォルトの名無しさん2010/02/11(木) 23:26:53
>>918
C用のライブラリのAPIを呼びまくるという形ではできる。
0920デフォルトの名無しさん2010/02/13(土) 17:03:50
つ Digital Visual Fortran
0921デフォルトの名無しさん2010/02/14(日) 19:08:39
>>918
NAG社の Fortran Builder for Windows なら,GTK+ というライブラリが付いてきて,
「GTK+を利用して、ウィザードから簡単にGUIアプリケーションの構築が可能です。
 Windows + Fortranという環境で、シミュレーションプログラムや各種計算プログラム、
 及び可視化プログラムなどの作成が容易に行えます。」
↑ ttp://www.nag-j.co.jp/nagfor/fb/index.htm より引用
0922デフォルトの名無しさん2010/02/15(月) 00:03:25
AbsoftもLaheyもQuickWin相当のGUI開発用の付録は付けている。
0923デフォルトの名無しさん2010/02/16(火) 06:07:45
>>920
なつかしいw

use dflib
(中略)
call YesOrNo()
で「はい・いいえ」ボタンが出てきてそれだけで感動したなw
0924デフォルトの名無しさん2010/02/25(木) 07:35:58
絶対に通らないIF文が速度に与える影響ってどんなもんでしょうか
つまり、IF(ndebug==0) THEN....って感じでデバッグ用の表示を各所に
挟みこみたいんですけど、これってndebug.ne.0の時でも速度に影響しちゃいますか?
0925デフォルトの名無しさん2010/02/25(木) 12:37:36
ndebug の値が静的に(Paramete文とかで)与えられていると
そのIF〜Endifブロック全体を無視するコンパイラ(IntelとFujitsuはそうだった)も
あるよ。その場合には速度に影響なし。
Ndebugが動的に変わる数の場合にはいちいち判定処理するから
少しは遅くなるだろうね。でも、検算やデバッグの部分は躊躇せず
ガンガン埋め込んで使うほうが(精神的にw)いいとおもう。

プリプロセス有りのコンパイラなら
#if 文つかっていろいろ出来るけどね。
Fortranの標準機能ではないからなぁ。
0926デフォルトの名無しさん2010/02/25(木) 12:55:38
タイトなループ中だとパイプラインが乱れて遅くなる場合もある。
投機実行等の手法もあるけど、分岐は無い方がCPUに優しい。
0927デフォルトの名無しさん2010/03/03(水) 16:30:25
くだすれがなんの略語なのか最近気付いた…
0928デフォルトの名無しさん2010/03/04(木) 04:01:58
なに?
0929デフォルトの名無しさん2010/03/05(金) 06:08:16
皆さん専門はなんです?
今時FORTRAN使ってるてことはアカデミックな人ですよね?
私は物性物理です。
0930デフォルトの名無しさん2010/03/07(日) 06:35:47
流体
0931デフォルトの名無しさん2010/03/07(日) 06:43:42
>>927
なに?
0932デフォルトの名無しさん2010/03/07(日) 11:55:01
>>931
しゅくだいスレ
0933デフォルトの名無しさん2010/03/07(日) 17:28:28
全然気付かないというか気にもとめてなかたぜよ
0934デフォルトの名無しさん2010/03/07(日) 17:48:54
プログラム技術
くだすれFORTRAN(超初心者用)
くだすれC++Builder(超初心者用)
くだすれPython(超初心者用)
くだすれDelphi(超初心者用)
くだすれCUDAスレ

WEBプログラミング
くだすれPerl
くだすれPHP
0935デフォルトの名無しさん2010/03/07(日) 17:55:15
web制作管理
くだすれAjax(超初心者用)
0936デフォルトの名無しさん2010/03/08(月) 06:11:10
で、なんで「宿題」が「くだすれ」になったの?
0937デフォルトの名無しさん2010/03/08(月) 09:43:53
CUDAスレ
0938デフォルトの名無しさん2010/03/08(月) 10:16:50
>このスレッドは、他のスレッドでは書き込めない超低レベル、
>もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。

0939デフォルトの名無しさん2010/03/20(土) 00:06:59
fortran77です
各サブルーチンでcommon文をまとめてincludeしようと思いますが、
当然サブルーチンによっては使用しない箇所も出てきます。
この場合、各サブルーチンで最小限のcommonを設定するのに比べて
速度が遅くなったりするのでしょうか?
0940デフォルトの名無しさん2010/03/20(土) 03:01:50
しない。
Commonブロックそのものを一つにまとめるのならメモリ番地走査が遅くなって悪影響が出るかもしれないけど。
Commonブロックのリストを使わない分まで書いても悪さしない。
0941デフォルトの名無しさん2010/03/20(土) 13:29:50
commonなんて使うな
0942デフォルトの名無しさん2010/03/21(日) 03:16:43
>>940
たぶんそうだと思うのだが、改めてF77の規格を読んでみると、名前付きCOMMONはSAVEで
ないから、動的に取られたり消えたりしてもおかしくない気もする。

ただ、慣例から静的にとられていると思うが。
0943デフォルトの名無しさん2010/03/21(日) 05:46:40
ね。
Commom使うな教の教義は静的であることの保証がないという点にある。
でもDEC神がCommonはLabelアリ無し関係無しに静的配置にしますと規定したので後続もしたがった。
だから、規格原典にしたがえば、Allocateした変数をCommonに関連付けることもできるけど、
ほとんどのコンパイラは警告するか処理を打ち切る・・のが普通だけど、
やはり規格外のベンダ依存な部分は恐いやね。うっかりやっちゃいそうだし、
複数人でなんかコード作るときは禁忌にしておかないとあとで悲惨な事になる><

以前はコモン使いまくりだった(実際その方が速かった時期が長い、とおもう)けど
最近では固定サイズなら配列名をArgumentに羅列しても速度は違わんね。
動的配列やら自動配列みたいにコンパイルする時点でサイズ不明だと遅くなる事がおおいけど、
これはループの終端値が不定なせいでUnrollingが抑制されるからで
メモリ配置最適化ができないことの影響は無いか小さいとおもう・・・ので最近
コモン使うよ教から使わないよ教に主旨かえしたw。 コモン使うなよ教になる気はないけどね。
0944デフォルトの名無しさん2010/03/21(日) 17:50:52
毎年入ってくる新入生がfortranを勉強しようと77の本を手に取るのを
黙って見過ごすのはえも言われぬ空しさがある・・・
嗚呼負のスパイラル
0945デフォルトの名無しさん2010/03/21(日) 19:03:59
Visual Basic のように簡単に Windows用 GUI アプリケーションが作れる Fortran のベンダーを知りませんか。
Intel の Visual Fortran だとなんだか難しそうで‥‥。
Absoft Pro Fortran や PGI Visual Fortran なら簡単にできますか?
0946デフォルトの名無しさん2010/03/21(日) 20:51:54
>>944
これ以上77なソースを増やさないでくれ
たのむ
0947デフォルトの名無しさん2010/03/22(月) 08:06:59
>>945
DEC神wの系列の quickwin 以上に簡単なもの無理じゃないかねぇ
>>944,946
wwww
F77より後の機能をちゃんと間違えなく使おうとするとF77しらないと、
ということも多いからね。LatexとTexみたいなもので知ってても困らん。
まあ学生のうちに複数の計算機なり人間の言語に触れることは良い事だ
0948デフォルトの名無しさん2010/03/22(月) 12:52:03
>>947
しかし、大概の77のテキストは

100 FORMAT(1H , ・・・・・

などとなっていて、「この1H っては何ですか?」などと聞いてこられるので、
66から勉強しろとも言えず、ホレリスからイチイチ説明するのもメンドイので
いい加減に流すのであった。ラインプリンタも見ることも無いし。


テキスト書く人は、もう少し頑張って欲しい。
ほとんど情弱化している。
最近出た入門Fortranとか、g95とGNUPlotでFortranとか期待したのに、中身があまりに古くて爆死した。

0949デフォルトの名無しさん2010/03/22(月) 13:25:00
なるほど、Hは・・・聞かれるといろいろ困るなw

どこまで・どこからの線引きは難しいなあ。
Doループも長〜いやつだと意図して番号+Continueするとかあるし・・・
gfortran -Wall
だと年代wのチェックはしないしねぇ。いいチェッカがあるといいんだけど。

教科書は・・・英字のも含めてあまり進歩はないような。
教科書的なのは儲からんのだろうね。
漫画でわかる・・とかでないといかんのかね。だれか
「やる夫がFortranで何かするようです」でも作ってよ。
0950デフォルトの名無しさん2010/03/22(月) 13:58:59
やる夫がやる気のない教科書を参考にしたようなコードを書こうとする度に
やらない夫のツッコミが入るとかw
0951デフォルトの名無しさん2010/03/22(月) 18:35:01
>>947
>F77より後の機能をちゃんと間違えなく使おうとするとF77しらないと、
“ちゃんと”学ぶのであればそれでいいんだけど、大半はそこまでの探求心を持たないんだよね。
つーかこの手の問題はFortranに限った話じゃないのかもしれん・・・
0952デフォルトの名無しさん2010/03/23(火) 04:15:24
(AA略)
いまどき固定書式〜
固定書式が許されるのは50過ぎだけだよね〜

・・・むかつくな
0953デフォルトの名無しさん2010/03/23(火) 04:24:44
まったく関係ないけど、gfortran を入れるとおまけ(?)でgccも入ってくるのね。
Win機に一年前にいれてたのに今気づいた・・・
0954デフォルトの名無しさん2010/03/23(火) 06:37:25
>>953
gfortran が gcc のオマケ
0955デフォルトの名無しさん2010/03/23(火) 07:22:19
>>954
そうなんだけど、このスレ的には指摘してほしくなかったw
0956デフォルトの名無しさん2010/03/24(水) 05:31:14
Intel Visual Fortran と PGI Visual Fortran のどちらを買おうか迷っています。
Intel Visual Fortran に対する PGI Visual Fortran の優位性は何かあるでしょうか?
0957デフォルトの名無しさん2010/03/24(水) 05:48:04
ない
09589562010/03/24(水) 05:49:41
速さとかどうなんでしょう?
0959デフォルトの名無しさん2010/03/24(水) 06:46:56
GPGPUとかやるならPGI。MPIの並列デバッグとかもやりやすいはず。
0960デフォルトの名無しさん2010/03/24(水) 09:16:36
ほうほう、いいこと聞いた。
Intel のをずいぶんながく使ってきたおかげ(これはこれでよいものではある)で
他のをあまりしらない通りすがりだけど、ありがとう。参考にしよう。
0961デフォルトの名無しさん2010/03/24(水) 15:43:38
GPGPUねぇ
Fortran対応してるってのが売りだったっけか
実際使いもんになるの?
0962デフォルトの名無しさん2010/03/24(水) 23:21:08
ちょちょいとやってぱっというわけには行かないけど、
OpenMPみたいに対象のループ前後にディレクティブ挿入するだけのやつでも
それなりの高速化は図れる。MPIと同等かそれより簡単なくらい。
CUDA fortranは敷居高いけどきちんとチューニングしたらかなり早い。
勉強中だけどMPIより難しいと思う。もちろん元の計算の並列性にもよる。
0963デフォルトの名無しさん2010/03/25(木) 03:32:14
CUDAに限らないけど、CPU外部のユニットに計算を依頼するタイプのは
データ格納の配列を大量に宣言するからメモリがんがん喰うよね。
09649582010/03/25(木) 17:32:41
>>959 >>962
いい情報が聞けました。ありがとうございました。
他にもPGIの優れた点があったら,ぜひ引き続きお教えください m(_ _)m
0965デフォルトの名無しさん2010/03/25(木) 20:21:16
CUDAは難しすぎる・・・
0966デフォルトの名無しさん2010/03/26(金) 04:44:57
cuda openmp mpi...特性というかいろいろ前提が違うからねぇ。
ま〜3つとも使えるからしばらくは Fortran を使いつづけてもいいか
0967デフォルトの名無しさん2010/03/26(金) 09:28:40
openmpは簡単
0968デフォルトの名無しさん2010/03/26(金) 11:07:49
>>967
元のコードに付け足すだけだからね。簡単だしお手軽。Coreが2個以上のPCがあればWinでもLinuxでも
自宅でおてがるに並列計算ができてしまう。gfortran ならタダだし。Macはしらん。
OpenMPだけで一生めしが喰えるとは思えないけど、100CPUくらいならあんまり激烈に能率は落ちない
システムも多いし、知っていて損はしないとおもう。
・・・まあFortranの話じゃなかったね。
0969デフォルトの名無しさん2010/03/26(金) 11:10:37
>>950
文関数使ったやる夫がやらない夫に殴られる・・とか
暗黙の型宣言つかったやる夫が(略)
0970デフォルトの名無しさん2010/03/26(金) 11:16:52
do 30 i = 1. 5
 (なんとかかんとか)
30 continue
に気付かないやらない夫を笑うやる夫、とか。
0971デフォルトの名無しさん2010/03/26(金) 13:17:03
素朴な質問なんだがC/C++を使わずにFORTRANのみを
使う人って数値演算用ライブラリを使いたいためか?
0972デフォルトの名無しさん2010/03/26(金) 14:43:18
>>968
SMPで100CPUって当分先じゃない?・・・と思ったが、
今出回ってるのがせいぜい12コアのCPUが4つ(4way)で
計48コアだから、そう先の話でもないか
0973デフォルトの名無しさん2010/03/26(金) 19:53:02
>>971
>FORTRANのみを使う人
イマドキこんなやつはいないか、いても老人。
FORTRAN使う理由云々ならわかるけど
0974デフォルトの名無しさん2010/03/26(金) 19:57:43
ふと思ったんだが、大文字でFORTRANって言うと、通常は77のことを指すんだよね?
0975デフォルトの名無しさん2010/03/26(金) 20:41:50
77「以前」が正解
77だけじゃなくて66なども含む
0976デフォルトの名無しさん2010/03/26(金) 22:08:20
大文字とか小文字とか些末なこと2ちゃんで気にするなよ
0977デフォルトの名無しさん2010/03/26(金) 23:46:20
>>973
いやいやw
本職メインで、計算機はしょうがないから使ってるタイプは、Fortranしかやってないよ。
コンピュータ嫌いだから。
0978デフォルトの名無しさん2010/03/27(土) 00:10:10
本職メインの意味が分からない
0979デフォルトの名無しさん2010/03/27(土) 00:18:39
頭痛が痛い
0980デフォルトの名無しさん2010/03/27(土) 01:53:30
>>972
疑似共有ならSMP100コア以上というのは大学の計算機センタなら帝大でなくてもわりとあるよ。

980番になるとおもうけど・・・スレ立て能力ないので、どなたかプリーズ。
0981デフォルトの名無しさん2010/03/27(土) 15:59:06
>>977
だろうね。オレもそうだった。計算論いじりなんぞに費やす時間があるなら
他の事に回したい。
0982デフォルトの名無しさん2010/03/27(土) 16:05:54
>>980
そうなの?Intel、AMD系のシステム?
SGIのAltixなら使ってる(た)が、あれも100まではなかった希ガス

>>981
そういう人達のニーズもきっちり取り込むのが、Fortranが今も続いている理由だからな
レス数が950を超えています。1000を超えると書き込みができなくなります。