トップページ⇒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/
06526512009/10/29(木) 02:15:09
書き方が悪かった。
POINTERにALLOCATEしたときは連続にメモリーを取るだろうが、
POINTERには、ストライド付きのとびとびメモリーを指示させることもできるので、
最適化には制限が係ることがあるようである。

0653デフォルトの名無しさん2009/10/29(木) 10:15:13
>>651,652
なる〜。Fortran77で

i=10000
call hairetu(i)

subroutine hairetu(i)
integer i
real    data(i)

みたいな使い方で任意の大きさの配列data()をサブルーチン内で扱えるけど、
これがメモリ上でキチンと並んでいるとは限らない(とんだ部分
の取り扱いはOSがするのか?)からね。
77より後のallocatable属性は、出来るだけ連続して確保してね、の
おなじないというか願掛けと思えばいいのだろうな。
0654デフォルトの名無しさん2009/10/29(木) 10:49:44
http://codepad.org/lbdDTMLE

moduleが使う変数や関数、サブルーチンを外部から指定したいのですが可能でしょうか?上のコードは間違ってますが雰囲気を掴んでもらえたらいいかなと思い載せました
0655デフォルトの名無しさん2009/10/29(木) 21:41:04
>>651
じゃあもうallocate使わない理由はないな
コードも綺麗になるしな
0656デフォルトの名無しさん2009/11/02(月) 01:28:57
FORTRAN2008では、メモリー連続を保障する contiguous の属性が導入されるようだ。

まだ2003も碌にコンパイラが無い時点で言っても鬼も大笑いだが。
0657デフォルトの名無しさん2009/11/02(月) 01:52:59
>>653
FORTRAN95/2003 Explained 20.2.1 p.331
"A non-pointer array occupies a sequence of contiguous storage sequences 云々"
とあるので、ALLOCATABLE 配列や AUTOMATIC 配列は、連続メモリーが保障されているんじゃないかな。

0658デフォルトの名無しさん2009/11/02(月) 06:43:35
英語をみると、連続した”複数の”保存領域を数珠つなぎに占有する、だけど、
まあ、自動配列も連続したメモリに確保しようとAllocateの時と同じ程度の努力はするよん、ということか。

配列全部が”一つの”連続したメモリ空間に収まるかどうかは、その瞬間のメモリ使用状況によるんだろうな。
大きめの計算機だと、一つのマシンではOSやI/O以外の部分は排他的に使えるから問題は少ないのだろう
といってみるテスト。
0659デフォルトの名無しさん2009/11/02(月) 11:58:03
>>658
いや、完全にひとつの連続したメモリー領域なんで内科医?
努力義務ではなくて、必須義務だと思う。
0660デフォルトの名無しさん2009/11/03(火) 19:38:25
というか、contiguous と sequenceって意味的に似てるよなw
もう少し明確に書いて欲しいもんだ(書いてるのかもしれんが)
0661デフォルトの名無しさん2009/11/04(水) 03:39:24
・・・べっ別にあんたのために連続したメモリ領域を確保してるわけじゃないんだからね、
といったところか。努力はするしアテにしてくれてもいいけど、絶対じゃないぞなもし。
0662デフォルトの名無しさん2009/11/04(水) 04:25:42
フォートランってフォーミュラ・トランスフォーマーっていうくらいだから、
科学計算以外には向いていないのか?
0663デフォルトの名無しさん2009/11/04(水) 07:40:31
大昔は、他に言語がなかったから、なんでもFortranで書いてた。

現在では、向いてる向いてない以前に、言語として古い。
0664デフォルトの名無しさん2009/11/04(水) 12:39:17
そういえばなんでトランスフォーマーなんだろう

数式を変形せずになるべくそのままの書き方でコードにできるのが
Fortranのメリットだったはずなのに。
今では使っちゃいけないとされる文関数なんてモロその名残だよね。
0665デフォルトの名無しさん2009/11/04(水) 12:56:16
>>663
古いゆえにコンパイラもライブラリも枯れていて、まずバグはない
最適化も一番今の所進んでいる

というわけで信頼性と速度が要求される局面で現在も使われているわけだ
0666デフォルトの名無しさん2009/11/04(水) 13:02:36
トランスフォーマーじゃなくてトランスレータだぜ。
FORTRAN以前は演算式もアセンブリで書かなければならなかった、
数式そのものでプログラムを記述出来る事は画期的だったんだよ。
0667デフォルトの名無しさん2009/11/04(水) 13:47:03
= で代入、という規則をプログラミングの世界に普及させてしまった
張本人でもあるな。
0668デフォルトの名無しさん2009/11/04(水) 17:57:51
.eq.とか.and.とか使えるのはCよりも好き
0669デフォルトの名無しさん2009/11/04(水) 20:30:22
C++も and や or 使えるわい
0670デフォルトの名無しさん2009/11/04(水) 20:50:32
>>668
.eq.は==のほうが見やすくない?
.and.と.or.も早く&&と||が使えるようになって欲しいわ
0671デフォルトの名無しさん2009/11/05(木) 00:25:28
.EQ. はともかく .AND. とか .OR. は変な記号より文字の方がわかりやすいと思うがなぁ
0672デフォルトの名無しさん2009/11/05(木) 01:44:31
>>671
賛成。
等号不等号は数学記号のほうがいいが、.AND. .OR. はこっちのほうがいい。
&&、||は見てくれからしてイマイチ。
歴史的にもEBCDICに無い記号だから、FORTRANに入ろうはずも無かった。
APL端末使えばいいのかも知れんがw
0673デフォルトの名無しさん2009/11/05(木) 05:16:55
コンマが
10進数浮動小数点の小数点、理論演算子の飾り、structureの区切り
で使われるからメンドイw。

目の慣れだろうな。自分は .AND. .OR. の方がみやすいけど。
スペース無しだとみにくいけど。
0674デフォルトの名無しさん2009/11/05(木) 13:53:38
>>671,672
これはもう好みの問題だろうなぁ。
自分は記号のほうが、英数字に対して違いが際立つんで好きだな。
あと、文字数が少ないのもいい。.AND.は5文字もあるし。

>>673
>10進数浮動小数点の小数点、理論演算子の飾り
揚げ足じゃないが、これはコンマじゃなくてピリオドじゃ
0675デフォルトの名無しさん2009/11/05(木) 14:16:56
>>674
C言語は特殊事情があるんだよ

史上最も記号が多い言語はAPLで、未だにこの言語を超えるものは
出ていないが、第二位にC言語となっている(今はC++)

C言語はとにかく予約語をできるだけ減らしたくて、多くのワードを記号に
したと言われている

そのためC言語の予約語はわずか32個しかない

C++はCより記号が多いにも関わらず予約語はかえって増えた
C++0xでは更に増える
0676デフォルトの名無しさん2009/11/05(木) 17:40:23
そりゃ言語に機能をてんこもりにしてるんだから
記号も予約語も増えるよなぁ

FortlessはUnicodeで演算子を定義できるらしいから、もしかしたら使える記号の
数ではAPLを越えるかもw
0677デフォルトの名無しさん2009/11/05(木) 17:41:11
Fortressだったorz
0678デフォルトの名無しさん2009/11/05(木) 19:23:08
Fortressは死んだんじゃなかった?

Sun・・・(´;ω;`)ブワッ
0679デフォルトの名無しさん2009/11/05(木) 19:28:56
Guy Steele が blog 始めたりとかしてるけど...
ttp://projectfortress.sun.com/Projects/Community/blog
0680デフォルトの名無しさん2009/11/06(金) 02:10:17
>>675
そういわれるとFortranは0-9,a-Z以外に使う文字は少ないね。
{}[]@^_%~`;<>?|\ は使わないでも済むね。[]%\ は使う状況はあるけど代替があるし。
固定書式で継続行に使うとかしないと使わない文字が多い。
$は微妙。規格外だけどたまに使う。#はプリプロセスしてれば使うなけど標準ではないな。
0681デフォルトの名無しさん2009/11/06(金) 08:04:00
だからEBCDICだと
0682デフォルトの名無しさん2009/11/06(金) 11:19:25
>>680
ASCIIコードを使ってるのは、ミニコンとかWSとかパソコンとかしょぼいマシンだけだったんだよ。
F90の規格に、やたらと固有文字コードとASCIIコード変換とかあるのはそのため。
小文字が端末から使えないことも多かったし。

数値フォーマットもバラバラだったから、数値の基数や有効ビット数を尋ねる関数もそろってる。

0683デフォルトの名無しさん2009/11/06(金) 12:09:53
>>682
System/360にもASCIIとの切り替えスイッチは付いてたんだけどなw
0684デフォルトの名無しさん2009/11/06(金) 12:19:22
>>683
そうなのかwww


0685デフォルトの名無しさん2009/11/07(土) 02:57:41
ぱっとキーボードをみて・・・必須なのは
0-9 A-Z .,()=+-*/'
だけか。見落としなければ46文字。Spaceが必須でないところがなんともイカす。
使われる文字数が少ないのはパンチカード時代があるからだろうな。
Viで編集しやすいわけだw
0686デフォルトの名無しさん2009/11/07(土) 08:52:27
C言語だってパンチカード時代に設計されたんだよ
scanf()なんてあれはパンチカード時代の名残
とにかくタイプ量を減らしたくて多くの予約語を演算子に変えた
0687デフォルトの名無しさん2009/11/07(土) 10:01:38
それは違う。printfやscanfは、Fortran用のランタイムルーチンを流用したなごり。
C言語の発祥は主にミニコン文化圏で、パンチカードじゃなく、紙テープとテレタイプが主流。
記号だってEBCDICにないものを多用するし(そのせいでトライグラフなんてものも
できたりしたがw)
0688デフォルトの名無しさん2009/11/09(月) 03:54:20
creat(笑)
0689デフォルトの名無しさん2009/11/09(月) 09:36:45
>>685
機能の代替がない、という点では:の添字範囲指定もかな、ってあれ
1以外から範囲指定可なのはF77でも出来たっけ?
0690デフォルトの名無しさん2009/11/09(月) 09:37:57
標準の機能として、という意味ね。
0691デフォルトの名無しさん2009/11/09(月) 23:59:27
>>689
77では配列の宣言のところだけだったか、文字列では部分文字列の指定に使えた。
あとフォーマットでもコロンが使えたはず。
0692デフォルトの名無しさん2009/11/11(水) 02:45:21
character*7 mojiretu
mojiretu = 'smtwtfs'
write(*,*) mojiretu
mojiretu(2:6) = 'sssss'
write(*,*) mojiretu

みたいな使い方の事だね。規格が30年くらい前だけど、その後のベクトル表現の匂いがする。
そういう文字列取扱いの需要があったからだろうけど、先をいってたんだな・・・たぶん。

フォーマット中の例が思いつかなかった。
0693デフォルトの名無しさん2009/11/30(月) 16:44:28
今後GPGPU系のスパコンが主流になってきたら、いっそCに乗り換えたほうがいいのかな・・・
もうしばらくは様子見だけど

そういえば、CUDAが徐々にFortranに対応してきてるようだけど、使ってる人いる?
0694デフォルトの名無しさん2009/12/01(火) 00:04:39
>>693
PGI が CUDA 対応 Fortran2003 を出荷し始めたみたいだけど、誰か使ってないのかな?

GPGPU も昔のアレイプロセッサとよく似ているから、すぐ廃れて終わるとか言う話も聞いて
なんなんだかなーw 
0695デフォルトの名無しさん2009/12/01(火) 21:46:47
PGI頑張ってるよな
まぁ、うまくいけばIntelの二番煎じなポジションから脱却できるしな
0696デフォルトの名無しさん2009/12/14(月) 01:04:11
フォートランを研究室で指定されて使おうとしてるんですけど
>>2の
http://www.salfordsoftware.co.uk/
のどこからダウンロードするのかみつからないんですけど教えてくれますか?お願いします
06976962009/12/14(月) 01:05:55
間違えました
すみません
0698デフォルトの名無しさん2009/12/17(木) 14:58:51
http://www.ftc.gov/opa/2009/12/intel.shtm
Intel secretly redesigned key software, known as a compiler,
in a way that deliberately stunted the performance of competitors’CPU chips.

だってさ
0699デフォルトの名無しさん2009/12/18(金) 00:24:24
いろいろ考えるもんだねー
0700デフォルトの名無しさん2009/12/18(金) 22:51:01
Fujitsu製Fortran&C Package Windows版が製造・発売中止となったため、
今後Windows XPの提供が終了すると新しいPCに使用出来なくなるので
新たなコンパイラーと数値計算ライブラリを探しています。
どなたかお勧めのメーカを教えてください。
条件は、Windows Vista & 7上で動作するコンパイラーとライブラリで
リーズナブルなもの。
パソコンは私1人で70台くらい使っています。
(Fujitsu製のライセンスは使用する人数にかかり、
PCの台数には関係なかったので重宝していたのですが。)
よろしくお願いします。
0701デフォルトの名無しさん2009/12/18(金) 23:31:05
富士通がPC用Fortranやめるなら、OEMやってるアメリカのLaheyはどうすんだろ?
0702デフォルトの名無しさん2009/12/19(土) 15:46:30
>>698
HPCが盛んになりつつある時代にこんなことやってたら
某機関に目を付けられて即死なんじゃw
0703デフォルトの名無しさん2009/12/20(日) 05:34:39
某機関とは話をつけてからやらかしたのではw
0704デフォルトの名無しさん2009/12/21(月) 18:27:54
FORTRAN使いなんかホントにいるのかいな・・・
0705デフォルトの名無しさん2009/12/22(火) 10:23:48
cygwin、MPICH2でCompaq Visual fortran 6.6 を動作させる方法があれば教えてください。
MPICHのインストール時に set F90=~/Microsoft Visual Studio/DF98/Bin/f90
としてみたのですが、認識しませんでした。
0706デフォルトの名無しさん2009/12/26(土) 10:50:24
あっそう
0707デフォルトの名無しさん2010/03/28(日) 18:31:28
今,Intel Visual Fortran と PGI Visual Fortran のどちらを買おうか迷っています。
皆さんのお勧めはどちらですか?

実行速度とか,GPGPUとか,並列化とか,Visual Studio 2008 に統合してコーディングしているときの
使い勝手の良さとか,コンパイラの厳密さとか(← 変数宣言部で配列を a(3) と宣言しているのに,
実行部で a(4) = 1 と書いたとき,IVF のコンパイラはエラーを出してくれたけど,PVF のほうは
エラーなしでコンパイルが成功してしまった),その他色々な面でどうでしょう。
0708デフォルトの名無しさん2010/03/28(日) 21:32:36
個人的には PGI はあまり信用していない
つか、Windows 環境で Fortran が信用できていない
# Intel は, まぁ, ましな部類だと思う
0709デフォルトの名無しさん2010/03/29(月) 00:21:06
>>707
>実行部で a(4) = 1 と書いたとき,IVF のコンパイラはエラーを出してくれたけど,PVF のほうは
>エラーなしでコンパイルが成功してしまった),その他色々な面でどうでしょう。
66時代は整合配列が未整備だったので、サブルーチンとかの先では配列サイズを適当に固定して
はみ出して使うことがよくあった。歴史的事情から一概にエラーにするわけにもいかんのよ。

コンパイラのオプションとかで厳格な判断ができるはずだと思うから、調べてみてちょ。
IntelFortranにも90,95,2003毎の規格違反警告オプションが有る。

そういえば最近のPGI Fortranは米国大学研究機関に所属であれば、Win用が無償で使えたような?
キャンペーンはもう終わったかもしれないが。

0710デフォルトの名無しさん2010/03/29(月) 03:32:41
IVF って GPGPU ができるのですか?
0711デフォルトの名無しさん2010/03/29(月) 12:08:17
>>710
できない。

CUDAのAPIをCALLするという意味でならできなくも無い。
Fortranのラッパーを書くオープンソースなプロジェクトが動いていたはず。
GPU側で実行する部分は無論Cで用意するのだとおもうが。

0712707, 7102010/03/29(月) 21:38:52
>>708-709 >>711
レスありがとうございました。参考になりました。
0713デフォルトの名無しさん2010/03/30(火) 03:50:29
>>707 コンパイラの厳密さとか(← 変数宣言部で配列を a(3) と宣言しているのに,実行部で a(4) = 1

インテルのは添字範囲チェックが甘いよね。柔軟ともいえるけど・・・。
コンパイル時の警告のよさ?では gfortran -Wall あたりがいちばんかなぁ
以前はDEC系でいいのがあったんだけどね。さすがに今では。
0714デフォルトの名無しさん2010/03/31(水) 06:17:02
(メイン階層で)
real a(10)
call hoge(a)

subroutine hoge(a)
real a(2)
a(10) = 1.0

というのがあって、スルーする大人がインテル。実際メイン階層では配列a(10)の内容に問題ないわけだ。
文句いうのがGfortranやFujitsuやPGIやIBMやNEC
0715デフォルトの名無しさん2010/03/31(水) 16:56:36
>>714
そのsubroutineはモジュールじゃない、普通の外部サブルーチンという前提だよね
a(11)=1.0をやるとエラーになる?
0716デフォルトの名無しさん2010/04/01(木) 02:37:19
>>715
そ、ただのSubroutine.
Module は値の追跡が面倒臭いし、コンパイル時に順番が関係するし、
Commonと同じような奇妙な振舞をする事もあるので自分では使わない。なれると便利らしいけどね。

a(11)=1.0
そのものにたいしては、コンパイル・実行時ともに文句をいわなかった。(以下ぜんぶIntel.他のはしらない)。
でも実行時にはcall hoge()のあとに a 以外の変数が壊れたりw、 hoge() 内で Invalid なんたららが
でたり・・コンパイルオプションでも変わる。何事もなかったかのように実行終了することもあるw
Intel Fortran は速度的には良いコンパイラだとおもうけど、
開発中に使うには危険な香りがするのでふだんはgfortran。
Intel のでも Visual がつく方はまだいいのかなあ? HPはもうDEC系譜のFortranは終了だよね。
0717デフォルトの名無しさん2010/04/01(木) 11:50:28
>>716
MODULEつかえよw
型チェックとか便利だろ。
場合によっては最適化度もあがるはず。

まぁカスケード型のリコンパイルの嵐が起きるのがウザイのはわかるが、
あれもF2008でSUBMODULEが導入されてなんとかなる。
0718デフォルトの名無しさん2010/04/01(木) 13:34:16
2008興味あるけど、使ってる人が周りに誰もいない・・・
というかググってもあんま情報ない気が
どこで勉強すればいいの?
0719デフォルトの名無しさん2010/04/01(木) 14:28:48
716 の添字範囲うっかりさんはIntelだけの話ね。
他のはコンパイルエラーでそれ以上進めなかったから。

>>717
ある程度なれてマイModuleつくるともう戻れないくらいイイらしいね。
麻薬のようにもう抜けれなくなる、わけではないのだろうけどw
でも不慣れなときにコンパイルするだけにかなりもがいた
つらい経験をしてしまったので敬遠中。でもそのうち使うと思うよ!
>>718
F2008って規格の部分だけでも読めないのかな?
ベンダが対応するとかしないと商業レベルの本は出ないと思うので
(出ても日本語のがでるのかはあやしいが)せめて予習wくらいはしておきたい。
0720デフォルトの名無しさん2010/04/01(木) 16:57:44
>>719
初心者だけど動的割付配列のためにモジュール使ってます
やっぱりコンパイルエラーやらは多いですね
0721デフォルトの名無しさん2010/04/02(金) 01:32:14
>>718
それはたぶんF2003。
まだ完全対応コンパイラがCRAYしか出してない。
勉強の手始めは、PDF直リンだが
ttp://www.itscj.ipsj.or.jp/forum/forum2008SC22fortran/Fortran20032008.pdf 
The New Features of Fortran 2003
ttp://www.ipc.bas.bg/PPages/Bogi/newFortran2003.pdf

F2003は英文なら、なんぼか教科書もではじめている。しかし2003部分は1章程度だったりでいまいち。


F2008は
The new features of Fortran 2008
ftp://ftp.nag.co.uk/sc22wg5/N1701-N1750/N1729.pdf
こっちはまだ規格の最終ドラフトができた段階で、正式規格ではない。最終ドラフトはただで見れる。
ここで↓
ISO規格の議論をしている本家
ttp://www.nag.co.uk/SC22WG5/
0722デフォルトの名無しさん2010/04/02(金) 08:05:25
ナグさんちが本家なのか
0723デフォルトの名無しさん2010/04/02(金) 09:13:00
NAGが本家なのかよw
0724デフォルトの名無しさん2010/04/02(金) 10:58:31
本家っつっても書記だけど、まぁ議事録的情報はここに集約されてるな。
0725デフォルトの名無しさん2010/04/02(金) 12:15:07
softekみたいなもんか?w
0726デフォルトの名無しさん2010/04/06(火) 06:01:13
教えて頂きたいのですが、
2次元配列の一部分だけをサブルーチンに送った場合、その部分的な要素だけを
繋げた別の配列が一時的に作られて処理をされるのでしょうか?

例えば、主プログラム冒頭で
integer :: x(10 , 20)
とした場合、メモリ上に10 * 20 の配列が出来ますよね?
これを call hoge( x(3:8 , 12:19) , ... ) とすると、
6 * 8 の一時的な x’ が別途メモリ上に作られたうえで
それがサブルーチンへ送られるのでしょうか?

膨大な配列を扱うので、なるべく効率的なプログラムを書きたいのです.
勉強し始めの者なので、トンチンカンなことを言っていたら恐縮です...
0727デフォルトの名無しさん2010/04/06(火) 10:22:37
>>726
そういう連続していないのはcopy in - copy outで中間のテンポラリ配列が暗黙に作られる。

一次元に還元したときに連続している場合は、コピーを作るかどうかは場合によると思う。


0728デフォルトの名無しさん2010/04/06(火) 17:30:33
データがシーケンシャルだって指示するオプションあったような?
いずれにしても、call hoge( x(3:8 , 12:19) , ... ) だと「一次元に還元したときに連続」していないから、コピーは避けられないだろうな
0729デフォルトの名無しさん2010/04/06(火) 17:55:20
うひょー!Fortran!!11
0730デフォルトの名無しさん2010/04/06(火) 18:10:43
Fortran2011の策定が始まったのかと思った
紛らわしいぞw>>729
07317262010/04/07(水) 07:28:05
>>727, 728
なるほど。どうもありがとうございます。
 
余計なメモリを消費させないためには、
call hoge( x(3:8 , 12:19) , ... ) は避け、
call hoge2( x, 3, 8, 12, 19, ...) などとして、サブルーチンへは x のまま渡して
実際に操作したい配列要素番号も別に指定するといった方法が良いって理解でよいでしょうか

もう一点質問があるのですが、
call hoge2( x, ... ) と call hoge2( x(:), ... ) は全く同じものでしょうか?
コンパイラーによりけりですか?
0732デフォルトの名無しさん2010/04/07(水) 19:52:50
>>731
あくまで自分の理解だけど
>理解でよいでしょうか
yes
>全く同じものでしょうか?
yes
0733デフォルトの名無しさん2010/04/08(木) 00:15:00
はとやまwwwwwwwww

天然バカwwww

07347332010/04/08(木) 00:16:10
すまん、笑いすぎて、誤爆したwwwwww


★「政治家がばかでは国もたぬ」=公務員研修の訓示で鳩山首相

・鳩山由紀夫首相は7日の国家公務員合同初任研修開講式で訓示し、入省したばかりの
 新人を鼓舞したが、その中で「政治家がばか者の集団では(国は)もたない」などと
 脱線気味に発言する場面があった。

 首相は弟である鳩山邦夫元総務相が政治家を志した際、大蔵事務次官を経て
 政界入りした父威一郎元外相が「政治家なんてものは物ごいをする情けないばか者だ」と
 反対した話を紹介。「父親は役人だったことに誇りを感じていた」と語る一方で、
 「トップの首相が大ばか者であれば、そんな国がもつわけがない」と繰り返した。

 首相としては、政治主導への決意を示しつつ鳩山内閣の優秀さを強調したかったようだが、
 指導力不足や自らの発言をめぐる迷走が指摘されているだけに、新人公務員も複雑な
 表情だった。
 http://www.jiji.com/jc/c?g=pol_30&k=2010040700743
0735デフォルトの名無しさん2010/04/08(木) 08:05:38
スレタイも読めないバカ
0736デフォルトの名無しさん2010/04/08(木) 11:25:29
>>735
鳩山さんこそスレタイ見てください。
0737デフォルトの名無しさん2010/04/08(木) 17:04:56
>>736
バカ
0738デフォルトの名無しさん2010/04/09(金) 23:07:01
このスレ2000でも90でも77でも66でもなく、未だにIVかよ。
0739デフォルトの名無しさん2010/04/17(土) 01:15:02
    LOOPY = 737
    PRINT *, LOOPY
END
0740デフォルトの名無しさん2010/06/19(土) 00:14:19
test
0741デフォルトの名無しさん2010/07/05(月) 17:00:13
コンパイラのFortran2008対応時期っていつ頃になるでしょうかね?
GNU, Intel, PGIなどのメジャー所でいいので、ざっくり予想してくれませんか?
0742デフォルトの名無しさん2010/07/06(火) 00:14:50
>>741
F2003すらまだだというのにF2008を予想せよとはきつい。
そもそもまだISOのFinalDraftの段階で、正式な規格にすらなっていない。
ジェッターマルスの時代*1を超えて、ケムール人*2の時代くらいじゃないか?

*1 ttp://www.youtube.com/watch?v=Xpxb55WHx2s
*2 ttp://www.youtube.com/watch?v=S6q-lbd6WVM
0743デフォルトの名無しさん2010/07/06(火) 15:10:37
>>742
Intel Fortranを調べてみましたが、確かに2003は完全対応してないですね。
コンパイラの対応ってスピード的にもこんなもんなんですかね?

あと、ジェッターマルスっていうのは鉄腕アトムのリメイクなんですね。
40後半とお見受けしました。
0744デフォルトの名無しさん2010/07/08(木) 01:29:34
>>743
Intel掲示板のSteve Lionelのカキコでは、IVFの2003完全対応はv12.0になってからということだった気がします。
(ソースカキコが見つからないw) 今のところ新機能のうちでは、parametric type が全く手付かずなので、
今年中は完全対応は無理かな?

ただ規格への対応スピードはこんなもんじゃないですかね。C99なんかも10年くらいかかっていますし。

ACM SIGPLAN Fortran Forumに、コンパイラのF2003対応度の記事が毎号載っていますので、御参考までに。
ttp://portal.acm.org/browse_dl.cfm?coll=&dl=ACM&idx=J286&linked=1&part=newsletter
有料ですが・・・

ジェッターマルスは、著作権の関係で手塚治虫自身が作ったアトムのパチモンで、リメイクとはちと違うんです。
パチモンらしく、なんとも冴えない・・・
0745デフォルトの名無しさん2010/07/08(木) 13:03:50
VisualStudio2010ってもう出てるのね
IntelFortranには今度こそIntellisenseに対応してもらいたいものだ
0746デフォルトの名無しさん2010/07/08(木) 13:13:33
質問させて下さい。
64*64*128元の連立方程式Ax=bを解くためにmklを使っています。

係数行列の因子分解までは並列化して計算されるのですが、
求解の部分ではCPU使用率が100%になって並列化されません。

解を求めるところをコメントアウトするとCPU使用率が800%になるので
求解の部分で並列化されていないのは確かだと思います。

pardiso、dssを試しましたが、両方とも同じでした。

抽象的な質問で申し訳ないですが、どうして上のようなことが起きるのでしょうか?
そもそも求解の部分は並列化されていないのでしょうか

mklのバージョンは
Math Kernel Library 10.1 for Mac OS* X
ifortのバージョンは
ifort (IFORT) 11.0 20081105
計算機は
Mac OS X 10.4.11
Quad-Core Intel Xeon 3.0GHz x2
コンパイルオプションは
-ipo -O2 -unroll2 -openmp -openmp-report2 -lmkl_solver_lp64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
pardisoでは
export OMP_NUM_THREADS=8 とした上で、iparm(1)=0,iparm(3)=8としています。

よろしくお願いします。
0747デフォルトの名無しさん2010/07/08(木) 14:24:28
64x64x128
よりほんのり大きい数字の配列にして・・・・とか、かな?あてずっぽ。

MKL って最近使ってないけど同じく OpenMP で扱う予定なので・・・
偉い人の出現を一緒に待とうねw
0748デフォルトの名無しさん2010/07/08(木) 14:26:07
と思ったけど、
-unroll2
を
-unroll0 (アンローリング Off)
-unroll (適当なデフォ値、たぶん8)
にしても同じかな?
0749デフォルトの名無しさん2010/07/08(木) 14:29:52
さらに・・・
Inter-procedural Optimizer を切るか、
もし743さんの作ったソースが一個だけなら、
-ip にして自作ソース内だけにInline 最適化を控える・・とか。

・・・でも100%きっちりで止まってるのなら、あまり関係なさそうだw
0750デフォルトの名無しさん2010/07/08(木) 15:43:18
とうか何で解いてるの?
普通は行列のタイプ(粗密とか)で選ぶと思うけど
0751デフォルトの名無しさん2010/07/08(木) 19:29:00
レスありがとうございます

>>750
対象としている行列は疎行列です。
使ったのはmklの中にある
pardiso(並列化対応直接法スパース ・ ソルバー)と
dss(直接法スパース ソルバー)です。

>>747-750
すべて試してみましたが解決はできませんでした。。。
あと、ソースは複数あります。
■ このスレッドは過去ログ倉庫に格納されています