• 締切済み

fortranを動かす最速なパソコンとは?

お世話になります.初めて書き込みします. 今現在 (1)Compaq Visual Fortran Standard Edision for Win32 x86 Systems(Version6.6) (2)Fortran & C Package V2.0(Fujitsu) の2つを使用してfortranのプログラムを行っています.これらを動かすのに最速なパソコンをご存知の方ぜひ教えてください.ちなみに今使用しているパソコンは Pentium4 DELL OS:Windows 2000 CPU:1.8GHz です.dual CPUを使用するとかえって遅くなるとか,macやLINUXを使用した方が速い等の噂も聞くのですがその辺ご存知の方もぜひご回答ください.(FujitsuのFortranについてはV4.0にUPグレードさせる予定です)プログラムの作り方によって速度もかなり変わるかと思いますが,個人の考えでも構いませんので宜しくお願いします.

みんなの回答

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

具体的な処理内容が不明ですので、機種やスペックを提示するのは難しいです。 思い付く点だけを雑然と… ・Fortranをコンパイルするのでしたら、動作するCPUに最適化するオプションがあると思います。 コンパイラが動作保証、最適化に対応したCPUの方が有利でしょう。 PentiumとPentium4なんかだと、比較になりませんが…。 ・現在の処理が大量にメモリを必要とし、搭載している実メモリが十分でないために仮想メモリのためのHDDのスワップの処理に時間を取られているのなら、メモリを増設すれば良いです。この場合はCPUを高速なものに変更しても効果ありません。 > dual CPUを使用するとかえって遅くなるとか,macやLINUXを使用した方が速い等の噂も聞くのですが こちらはそれぞれ根拠があっての話です。 ・dualCPUの場合、処理をどちらのCPUで行うか?分散するのなら割合は?などを別途処理しなければならないので、dualCPUの一方しか使用されないようなプログラムであれば、単純に処理を行う場合に比べて余計な処理が必要になります。こういう処理をオーバーヘッドなどとも呼びます。 ・MacとPentiumでは得意とする計算の分野が異なります。詳しくは知りませんが、単純な画像処理なんかですとMac有利のような話があったかも。 ・Linuxの場合、起動した状態でWindowsに比べて動作している処理を少なくできるので、OSによるオーバーヘッドが少ないと言えます。極端な話、コマンドラインで起動するようにすれば、余計な画面を書く処理は必要無くなります。 Windowsのコマンドラインはどちらかと言うと緊急用ですね。 -- まずは、処理に必要なメモリ容量を見積もる、dualCPUで処理できるように計算手順を2分割するなど、どこで時間がかかっているのかを調査して、そこに対して重点的な処置、強化を行うのが良いです。

ll_kutar
質問者

お礼

ご回答ありがとうございます. 計算内容としては差分法を主とするプログラムです.今現在1つの収束計算自体は10秒~1分程度(条件により)なのですが,分割数が膨大なために1日かけて1つの条件を計算することもあり,この時間をなるべく短縮したいと考えています.画像処理は他で行っているので,Fortranの使用は全て数字対象としています.以上の条件から具体的なパソコンspecがわかるようでしたら何か教えていただけると大変ありがたいのですが.それとdualCPUの処理分散方法について,詳しいことご存知でしたらぜひ教えて下さい.(参照HPでもかまいませんので)Linux使用のFortranソフトもあたってみようかと思います.

関連するQ&A

  • Compaq Visual Fortran 6 がインストールできません…

    Compaq Visual Fortran 6をWindowsXPにインストールしようと格闘してます。 でもあと2週間以内には使える様な状態にせねばならず私の1人の力ではムリなので、どうか皆さん助けてください!m(_ _)m エラーの概要についてですが、 まず、Typicalを選択して"Compaq Visual Fortran 6"というフォルダーにインストールするように選択すると 96%完了したら以下のメッセージが出てきます 《Setup was unable to create the program folder named "Compaq Visual Fortran 6". Please create a folder named "Compaq Visual Fortran 6" in the Start menu Programs folder and retry the installation. If the problem persist, contact Compaq Company. Corp.》 とでます。 そこでスタートメニューに"Compaq Visual Fortran 6"と言う名のフォルダを作って再インストールしても結果は同じです・・・。 一体どうしたらいいのでしょうか? ちなみにパソコンはFujitsuのFMV-BIBL NB18CでOSは XPのHome Edition Version 2002でService Pack 2というものです。 どうかよろしくお願いします。

  • Visual Fortran 6.0で計算結果が変わらない

    Windows Me上でCompaq Visual Fortran 6.0を使用しています。 ほぼ同じようなプログラムですが、パラメータが異なり、 明らかに違う計算結果になるはずなのですが、 まったく同じ数字が出てきてしまいます。 コンパイルして作られたexeファイルが同一であると思われるのですが、 どなたか分かりますでしょうか。

  • Fortran90/Fortran95→Fortran77

    大学の授業でFortranを使ったプログラミングを勉強しています。 以下の文が大学のPCに入っているコンパイラでは問題なくコンパイルでき実行できるのですが、家のPCだとコンパイルすることが出来ません(以下の文でエラーが出ます) 大学のPCの開発環境はFujitsu-FORTRANだと思います(^ ^; 家のPCはSalford FTN77 Personal Edition CompilerとCPad for Salford FTN77を組み合わせて使用しています なぜエラーがでるのか自分なりに考えた結果、Fortran90/Fortran95のプログラムをFortran77のコンパイラでコンパイルしているからだと思います(全くの勘違いだったら指摘して下さい) Fortran90/Fortran95の開発環境がフリーで整えばいいのですが、見つからないのでプログラムを修正したいと思います そこで、力を貸していただきたいのです 前置きが長くなりましたが、エラーが出る文は以下のところです open(8,file='freq_ex13.dat',action='write',status='replace') ここを、Fortran77のコンパイラでコンパイルできるようにアドバイスを下さい よろしくお願いします

  • Compaq Visual Fortranを使っていて困っています。

    Compaq Visual Fortranを使っているのですが、バッチファイルを使って実行を何度も行いたいのですが、毎回実行が終わるたびに「QuickWinを終了しますか?」というウィンドウが出てきてyes を押さないと次の実行に移りません。この操作をせずに何度も実行を行う方法をご存知の方、よろしければ教えてください。よろしくお願いいたします。

  • FORTRAN95を使用したいのですが・・・

    以下のサイトからフリーソフトであるFORTRAN95をダウンロードして使用したいと思っています。 http://www.silverfrost.com/11/ftn95/ftn95_fortran_95_for_windows.asp ですが、それには.NETを使用しているという条件が必要らしく、いろいろ探してみた結果、Visual Basic 2005 Express Edition のダウンロード版が無償でダウンロードできるらしいのです。 http://www.microsoft.com/japan/msdn/vstudio/express/ ですが、このVisual Basic 2005 Express Edition のダウンロード版でFORTRAN95を使用できるのかがよくわかりません。 このダウンロード版はNET Frameworkには対応しているようなので問題ないとは思うのですが、Visual Basic 2005 Express Edition のサイトにはFORTRAN95について記載されていません。 私自身がど素人であることも判断ができない要因の一つです。 Visual Basic 2005 Express Edition の無償版でFORTRAN95を使用することは可能なのでしょうか? また、使用できない場合、無償で使用できる同様のフリーソフトなどは ありますでしょうか? FORTRANやプログラミングに詳しい方、お知恵を貸してください。 よろしくお願い致します。

  • Compaq Visual Fortran6.6

    こんにちは 現在、Compaq Visual Fortran6.6をWin7(32bit)で使っていますが、マシン及びOSのアップグレードを考えています。 アップグレード内容は以下のとおりです。 CPU:pentium4からpentium5 MB:I915からpentium5が搭載可能なマザーボードへ OS:Win7pro(32bit)からWin7pro(64bit)へ 以上のことに関して類似の経験をお持ちの方は可能・不可能等、ご教示お願いします。

  • FORTRANとC++の連動について

    私は,Fortranを用いて解析の業務をしている,プログラム初心者です。 購入したのは,Intel Visual Fortran8.0(VF)ですが,Windows環境でコンパイルリンクするには,Microsoft Visual C++ .NET 2003(VC++)が必要ということで,こちらも購入しました。 普段は,Fortranのコンソールで ifort **.f といったコマンドでコンパイルリンクし,実行しているだけです。 これからは,VC++の方に移行していきたいと考えていますが,しばらくはFortranで作成したサブルーチンを有効活用したと考えています。 そこで,VC++ベースのメインプログラムからFortranのサブルーチンを呼び出すプログラムの作成方法,コンパイルリンク方法をご教授ください。よろしくお願いします。 (1)ソースにどう記述するか? void CMyDlg::OnBnClickedOk() { ここで,FORTRANのサブルーチンを呼び出したい。     Fortranなら call subroutine( a, b ) } (2)コンパイルするときは, Visual Studio開発環境で,コンパイル→実行で良いのか? それとも,あらかじめVC++とVFで.objファイルを作成する必要があるのか?

  • FortranからCの関数を呼ぶ方法

    お世話になります。 標記件、以下の通り行っていますがうまくいきません。どなたかご存知の方おりましたらご教示下さい。よろしくお願いします。 (1)環境 ・Windows XP SP2 ・Compaq Visual Fortran Professional Edition 6.5.0 ・Visual C++ 6.0 Enterprise Edition (2)作業方法 ・Visual C++ を立ち上げ、その中でCプログラムとFortranプログラムのファイルを作成し、作業。 (3)現象 ・ビルドしようとすると以下のエラーが発生し、EXEが作成されない。 ------------------------------- Linking... LINK : warning LNK4098: defaultlib "libc.lib" conflicts with use of other libs; use /NODEFAULTLIB:library test01.obj : error LNK2001: unresolved external symbol _TEST@0 Debug/system.exe : fatal error LNK1120: 1 unresolved externals -------------------------------  ・個々のファイルのコンパイルは問題なし。 (4)ソース内容  --- Fortranプログラム"test01.f90" --- PROGRAM FileRW call test END  --- Cプログラム"system.cpp" --- #include <stdio.h> void test_(void) { printf("TEST PROGRAM!!"); } 以上

  • Fortranのサブルーチン引数について

    他人が作ったFortran(恐らくFortran77)のプログラムで計算をしようとしています。 コンパイルはできるのですが,実行するとエラーが出てしまい困っています。 エラーメッセージは 「forrtl:severe(157):Program Exception - access violation」 となっていて,実行時エラー番号で調べると 「プログラムが適切な参照権を持っていない仮想アドレスに書き込み,または読み取り を行おうとした」と出ていました。 Fortran初心者の自分にはイマイチ意味が判らないのですが,エラーが出た後に サブルーチンのある決まった場所に黄色い矢印が示されます。 そこで今,その部分のサブルーチンを確認しているところです。 前置きが長くなってしまいましたが サブルーチンの中を確認している途中で疑問に思った所が一つあります。 問題のサブルーチンは --------------------------------------- call dbesl(EN,0,BX0,BY0,BI0,BK0)     subroutine dbesl(X,NOR,BX,BY,BI,BK) FN = NOR  ・  ・  ・ 11 NOR = FN               <---この行に黄色い矢印が出る return end --------------------------------------- となっているのですが,サブルーチンを呼び出すcall文の所で 2つ目の引数が『0』となっているのは正しい使い方なのでしょうか? どうもサブルーチン内の計算をしてメインプログラムに引数を返す所が おかしいような気がしています。 因みにメインプログラムに戻る際の"FN"の値は『0』となっていました。 コンパイラはCompaq Visual Fortranを使用しています。 足りない情報は出来るだけ追記していきますので,ご教示宜しくお願いします。

  • HPのdv5というノートパソコンに使える最速CPU

    お世話になっています。 表題のノートパソコンに搭載(換装?)して使用できる最速のCPUを教えてください。 宜しくお願いします。

専門家に質問してみよう