• ベストアンサー

Fortranを最速で動作させるハードウェアのセット

インテル Core i7-975EE プロセッサーを使って インテル Visual Fortran コンパイラー Windows版を 数週間~1ヶ月ほど連続で動作させたいです。 計算だけを行いますので、他のソフトはインストールしません。 予算は30~40万円です。 以下の点についてアドバイスをお願いいたします。 (1)同じ性能の場合、DELL、HP、フロンティア、マウスコンピュータ、その他メーカのどこを選びますか? 壊れやすいメーカーは避けたいです。 (2)メモリはどの程度にしますか?メモリ容量と計算速度は比例しますか? よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • ariseru
  • ベストアンサー率56% (930/1659)
回答No.1

>1. 私ならDELL製は避けますね。DELLはメーカーサポートが最悪なので、初期不良に当たったら何週間も無駄にする可能性があります。初期不良に当たらなければ問題ないんですけど当たった場合のデメリットが大き過ぎます。 個人的にはHPがおすすめメーカーですかね。法人向けパソコンなどもそれなりに販売しているメーカーですし、DELLのようなサポート品質の低さなども聞きません。 >2. どのような処理を行うのか分からないので必要なメモリ容量は不明です。ただ、32bit版OSを搭載した機種を購入した場合は3GBちょっとまでしかメモリを認識しないので2GB×3枚か1GB×6枚で6GBのトリプルチャンネルが上限でしょうね。これ以上の容量を搭載することも可能ですがOSの認識できない無駄なメモリを増やすだけですから。 ちなみに、メモリ容量を必要以上に増やしてもデータの処理速度には基本的に影響しません。メモリの機能はHDDやSSDから読み込んだデータ、CPUが処理したデータなどを読み書きするだけですから。メモリ容量を増やすことで微妙に速度が向上することもありますが、Windows XP搭載のパソコンで2GB→4GBに増量した場合で数%程度です。512MB→1GBの場合には大きな差が出ますが、2GBという十分なメモリを搭載した状態からの増量での効果は非常に小さくなります。 >予算は30~40万円です。 これだけ予算があればSSDのみ搭載でHDD無しとかハイエンドグラフィックボードでも選ばない限りはメモリ容量を選択可能な範囲で最大にしても余りますよ。Core i7 975EE+メモリ1GB×3枚+HDD500GBでVista Home Premium搭載のパソコンが23万円ほどですからね。仮にメモリを2GB×6枚の12GBにしても30万円を越えることはありません。せいぜい26万円程度です。

nakama-yukie
質問者

補足

ご回答、ありがとうございます。 1. DELLは避けますね。 DELLを購入した知り合いに聞きましたら、1度パソコンから煙が出たそうです。 2. 解析コードの資源が沢山ありまして、 インテル Visual Fortran コンパイラー+Windowsで 誰でも計算ができるように整理する必要が生じました。 現在、WindowsXPで計算できるように整理していますが、 そろそろWindows7も販売されますので、 新しいパソコンを数台購入しようと思います。 64bitで動作させようと思っていましたので、 メモリは4GB以上がいいのかな?と思っていました。 SSDのみ搭載でHDD無しの選択もあるのですね。 SSDの購入は初めてです。調査してみます。 3次元の熱流動解析コードを動作させるつもりです。 OutputはExcel等に読み込んで描画させるので ハイエンド・グラフィックボートは必要ありません。

その他の回答 (2)

  • manjorin
  • ベストアンサー率42% (79/185)
回答No.3

 CUDA対応Fortranコンパイラっていうのがあるようです。 http://www.nvidia.co.jp/object/io_1254473941529.html  GPU使うから、CPUより数段速いと思います。  まぁ、業務で使用するのでしょうが、用途が特定されているのでしたら、メーカーに相談して見積もりを作ってもらうのがいいのでは。

nakama-yukie
質問者

お礼

ご回答、ありがとうございました。 GPUを使って解析する手法は徐々に広がっていますね。 Fortranコンパイラがあることは知りませんでした。

回答No.2

コンパイラを高速で動かしたいのに Windowsを使う事自身 本末転倒でしょう

関連するQ&A

  • 演算速度が Xeon E5405(2GHz) と同等の Core2 を教えて頂きたいです。

    演算速度が Xeon E5405(2GHz)と同等のCore2を教えて頂きたいです。 使用目的は、流体の数値計算です。 言語はFortran、コンパイラはIntel Fortran Compilerです。 もちろん演算速度には、コードそのものや並列化の仕方、メモリ等、 他の要因もあるとは思いますが、CPUとしての性能で比較するならどうか、 ということをご教授頂きたいです。 宜しくお願い致します。

  • Fortranのバージョンアップと古いソースコード

    Fortranは科学技術計算の古い資産が使えるということでまだ使われていると思います。 しかも、コンパイラ・リンカは製品としてバージョンアップしているわけですが、新しくなっても古いコードはコンパイル・リンク・実行できると思っていました。最近、intel fortranの更新をしたのですが、動作がかなり違ってきました。F77,F90,F95などの更新ではなく、intel社の製品としての最新版への更新です。コンパイル・リンクまでは行くのですが、実行させたとたん、ゼロ割のようなメッセージが出て、実行が打ち切られてしまいます。1時間ぐらい走るプログラムなのですが、1秒で打ち切りでした。必ずそうなるということではありません。特定のライブラリで生じます。そのライブラリは古い(言語としてはF77)ので当然ながら新しいコンパイラで動くなどと書いていません。ただソースコードの塊であり、古いコンパイラでは動いていたのです。古いと行っても2009年ぐらいに買ったintel visual fortran ver.11ぐらいのもので2016年のコンパイラと大幅な変更はないはずなのですが。例えば最新版(2016年2月時点)の方は並列関係の設定の方がデフォルトで並列計算しない設定をコンパイラオプションで指定しないとおかしくなるということでしょうか(たぶんGPUには対応していないと思いますが)。どっかに書いてあるかなと思案していますが。 何か心当たりがあればよろしくお願いします。

  • intel fortranコンパイラについて

    現在intel visual fortran コンパイラー11を使用しています その中で大規模な配列を使用する必要があり プラットフォームをx64にしコンパイルをしたところ LNK1248 イメージ サイズ ('size') が最大許容サイズ (80000000) を超えています と出てリンクができませんでした。x64でも4GBを確保する事は出来ないのでしょうか 以上宜しくお願い致します

  • 数値計算の高速な実行

    Fortranで記載している数値計算プログラムを高速に実行したいのですが、 1) コンパイルは64bitで行なった方が早いでしょうか? 2) 現在お薦めなCPUはCore 2 Duoでしょうか? コンパイラはintel fortran、OSはCentOSを使用予定です。 その他、数値計算の高速化に関してお薦めがありましたらお願いいたします。

  • 計算機のスペックとプログラム実行速度について

    以下のような2つのPCがあります。 A Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz 2.81 GHz B Intel(R) Core(TM) i9-10900X CPU @ 3.70GHz 3.70 GHz この計算機に全く同じソースコードで同じコンパイラで実行させてみました。両者とも高速化に関する工夫を全くしない状態です。 言語はFortranで、コンパイラはgfortranです。時間発展計算で、計算の実行時間は1時間ぐらいでしょうか。 私はコンパイラの性能の分だけの違いが出るはずだと思っていましたのでBの方が3割ぐらい早いかなと思っていたのですが。実行の様子をみるとほぼ互角でひょっとするとAが勝っているような感じです。 計算の進行に従って画面にプリント表示する時間ステップの進行速度での印象です。 高性能のCPUの力を出し切るような環境になっていないとその性能は引き出せないし、逆の結果にさえなるということでしょうか。 CPUの性能をフルに引き出すにはソースコードの工夫、高機能コンパイラ、最適なコンパイラオプションの選択ということになるのでしょうか。Aの方も同様に工夫しても高速化が改善されずBがどんどん早くなる、ということなのでしょうか。

  • fortranプログラミングでの数値計算と可視化環

    現在fortran77により数値計算し、可視化する環境を探しています。素人なので、アドバイス頂ければ幸いです。 背景:matlabで既にプログラム済みファイルを、fortranで書き直したい。プログラムは数値計算をしてその結果をグラフ(2D,3D)で可視化する物。matlab環境では計算時間がかかる為、fortranで時間短縮したい。 環境:Win XPへ所有しているマイクロソフトビジュアルFortran77(Ver調査中。7年くらい前の物)をインストールして、それを使おうと考えています。 疑問:どうやって計算結果を可視化するか?ポストプロセッサーとして、gnueplotやmatlabを使用するのは可能だと思うがそれが一番効率的なのでしょうか?ビジュアルFortranには可視化ライブラリみたいな物があるのでしょうか? 不足情報あればアップいたします。初心者ですが、アドバイスを宜しくお願いします。 追伸:研究室の過去の資産の関係でFortranを考えています。多言語でのメリットもあれば教えて頂たいですが、基本古い言語使用に対する中傷「のみ」はご遠慮下さい。

  • MPIを用いたFortranプログラムのコンパイル

    バンド構造などをシミュレーションできるソフトPHASE ver. 4.00を下のサイトからダウンロードし、makeしようとしたのですが出来ません。 http://www.fsis.iis.u-tokyo.ac.jp/result/software/ エプソンダイレクト TP715LR CPU名称 Pentium III CPU動作周波数 700MHz メモリ 128MB OS Fedora Core 5 Linux Fortranコンパイラ intel Fortran Compiler 9.0 for Linux Cコンパイラ gcc MPI mpich-1.2.7 PHASEはMPIを使ったFortranのプログラムで、オブジェクトファイルは作られたのですが、最後のリンクのところで IPO link: can not find -lfmpich というエラーメッセージが出てしまいます。 リンクはifortで、オプションに-lfmpich -lmpichなどを指定しました。 -lのオプションは後に続くディレクトリ名をライブラリの検索先として指定するようなので、どこかにfmpichというディレクトリがあるかどうか調べたのですが存在しませんでした。本来ならばどこかにあるものなのでしょうか。

  • 複数のソースファイルのコンパイルの仕方

    とある人からいただいた,fortranの計算プログラムを使おうと思っております.ソースファイルが1個だけというのであれば,フリーのコンパイラを使って実行した経験があるのですが,今回譲り受けたものは,ソースファイルが複数あります(メインプログラムとサブルーチンプログラム数個). コンパイラはvisual fortranなのですが,マニュアル等がない状態です.どなたか,お教え願えませんでしょうか? よろしくお願いいたします.

  • intelのfortran, Cのコンパイラ

    intelのfortran, CのコンパイラのWindows版についてお尋ねします。 コマンドラインで実行しており、そのような使い方で何も困らないのですが、Microsoft Visual studioを使うことも推奨されるようなのです。デバッガはその方が良さそうですが。 そこでお尋ねします。 1.今一度、用途は何でしょうか。 2.Microsoft visual studioは有償のものでないとダメでしょうか。一度、販売店に聞いたら無償のもの(express)は利用できないということでした。腑に落ちないので両者の方の意見を聞きたいのですが。 3.ずっとコマンドラインで使っていましたが、後からvisual studioをインストールしても問題ないでしょうか。 4.ウィンドウズ上で並列処理(CPUを分割して並列処理する)のに必須でしょうか。mpich2を利用するためにvisual studioの環境を利用するという人がいましたが。Linux版はもちろん関係ないわけですが、並列環境を整えることは可能です。考え方がだいぶ違うわけですがどのように考えるのでしょうか。(質問が漠然としています)。 以上、よろしくお願いします。

  • 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を使用しています。 足りない情報は出来るだけ追記していきますので,ご教示宜しくお願いします。