intelのfortran, CのコンパイラのWindows版についてお尋ねします。
コマンドラインで実行しており、そのような使い方で何も困らないのですが、Microsoft Visual studioを使うことも推奨されるようなのです。デバッガはその方が良さそうですが。
そこでお尋ねします。
1.今一度、用途は何でしょうか。
2.Microsoft visual studioは有償のものでないとダメでしょうか。一度、販売店に聞いたら無償のもの(express)は利用できないということでした。腑に落ちないので両者の方の意見を聞きたいのですが。
3.ずっとコマンドラインで使っていましたが、後からvisual studioをインストールしても問題ないでしょうか。
4.ウィンドウズ上で並列処理(CPUを分割して並列処理する)のに必須でしょうか。mpich2を利用するためにvisual studioの環境を利用するという人がいましたが。Linux版はもちろん関係ないわけですが、並列環境を整えることは可能です。考え方がだいぶ違うわけですがどのように考えるのでしょうか。(質問が漠然としています)。
以上、よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
ANo.2&3です。
OpenMPはMultiProcessing、OpenMPIはMessage Passing Interfaceですから全然別物です。
前者は共有メモリモデルなのでSMP環境でないと使えないですが、後者はメモリを共有しない通信モデルなので別のマシンだろうと同一マシンの別プロセスだろうとお構いなく使えます。
単一マシンでもマルチプロセッサならちゃんと設定すれば効果は出ると思います。
グリッドの設定は自分のマシンの分だけ記載すれば良いのではないかと思いますが。
No.3
- 回答日時:
ANo.2です。
Visual Fortranは付属のMicrosoft Visual Studio 2010 Shellがあるのでコマンドライン利用にはVisual Studioを入れる必要はないですね。ただこのShellはFortran専用なのでComposer XE等でC++のコンパイルをするときには別途Visual Studioが必要なようです。
/Qparallelとmpich2については並列化のレベルが異なります。
/Qparallelはコンパイラによる自動並列化で、普通にシーケンシャルに書かれているソースプログラムに対して独立性の高いループなどをコンパイラが自動的に抽出して並列化します。使うのに手間はかかりませんが、元のプログラムに分かりやすい並列性がないと大して速くなりません。
mpich2はMPI(メッセージ・パッシング・インタフェース)のライブラリで、MPIを使って並列化したプログラムを書くことで複数マシンの分散環境などで並列実行できるプログラムになります。並列化部分を明示する必要があるので手間はかかりますが並列性能は上げやすいです。
なおmpich2を使うのにVisual Studioが必要ということはないかと思いますが、ソースからビルドするのにC/C++が必要かもしれません。
有難うございます。私が少し混乱していることがあるので、整理させて頂きたいと思います。
複数台のPCで並列計算を行うためのツール(メモリ分散型、グリッド):mpi, mpich2, LAM,OpenMPI
1台のPCで並列計算を行うためのツール(CPU分割、メモリ共有型): OpenMP
(OpenMPIとOpenMPは名前がそっくりですが、中身は違うとのこと)
インテルのコンパイラのオプション /Qparallel (←windows), -parallel (←Linux)はコンパイラにOpenMPのライブラリが既に含まれているので、自動化で実行するものであるということのようです。
このように解釈してくると、mpich2で1台のPCで並列計算(メモリ共有で)を行うというのは意味がおかしいのでしょうか。私の知り合いで1台のPC(WIndows)でmpich2を使って並列環境を整備したと言っています。できれば私もそうしたいと思っているのです。OSはLinuxかWindows(できればVSなしで)です。
Linuxの場合、mpich2をインストールすることは割と容易なのですが、設定を進めていくと、やはり別のマシン(グリッド)の設定に進んでいくことになります。だから途中でやめるのですが。
少し話がずれてきましたが、よろしくお願いします。
No.2
- 回答日時:
Intelコンパイラも色々ありますが、どれでしょ? 以下はインテル® Composer XEについて。
http://www.xlsoft.com/jp/products/intel/compiler …
1. リンク環境のためらしいですが・・・。Visual Studioが入ってなくてもビルドできる?
2. GUIでコンパイルするには有償版が必要ですが、コマンドラインツールのみならExpress版でも良いようです。Excpress版はGUIのアドオンができませんからね。あとExpress版だと動作保障対象外かも。
3. 後から入れてダメならIntelコンパイラを再度インストールすれば良いかと。
4. コマンドラインでならライブラリ設定で済むのではないかと。
有難うございます。
使用しているコンパイラはIntel(R) Visual Fortran(R) ..Version 11.1.048です。
Visual studioは仰々しいというか、ウィンドウ開いて、裏で難しいことやってそうですが、コマンドラインは昔ながらの環境設定という感じでギャップを感じています。ただ、前者はデバッグは得意なのだろうなという感じはあります。
並列処理ですが、コンパイラオプションで/Qparallelを指定するのと、mpich2の環境設定によるものとは違うのでしょうか。
/Qparallelを指定すると、タスクマネージャーで明らかに仕事が分割されていることが実感できます。それで本当に高速化されるかどうかは全く別の話ですが。とりあえず環境設定だけのことです。mpich2でやるともっと高速化するのかも知れませんが。
No.1
- 回答日時:
1.
MS VSを使う意味はデバグのためだけでしょうね。というかそれ以上のメリットは感じられない。
2.
昔に同じことを言われました。今のバージョンではどうなのかは知らない。試してみればいいんじゃないかな?
3.
問題ないが,ちゃんと環境が整えられるのかはわからない。問題があれば,もう一度intelコンパイラをインストールすればよい。
4.
並列処理にMS VSが必須かといえばそんなことはない。私の場合はexeを作るのにintelコンパイラwith MS VSを使って,実行時にのみmpich2を使った。
有難うございました。
1つお尋ねするのですが、並列処理にmpich2をお使いになったとのことですが、コンパイラオプション /Qparallelを指定するとそれだけでOKなのではないでしょうか。
intel fortran ver.11.1.048というものです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ソフトウェア VisualStudio のデータブレークポイントを有効にする方法 1 2023/05/01 09:42
- Windows 10 Visual StudioとVisual C++ Build Toolsについて 1 2023/04/16 03:42
- その他(プログラミング・Web制作) Visual StudioでDjangoのプロジェクト配下のappを作成する方法 1 2022/05/01 03:47
- C言語・C++・C# Microsoft Visual Studio Community 2019 タブキーが入力できない 1 2022/04/30 06:39
- C言語・C++・C# Microsoft visual studioはインストールだけであれば無料でしょうか? また、vi 2 2022/04/03 21:24
- Windows 8 SSD換装の注意点? アプリケーションインストールでの弊害? 4 2023/01/06 04:18
- Java EclipseとVisual StudioをPC1台にインストールしただけではPCは重くならない? 3 2022/12/08 15:35
- Visual Basic(VBA) VSコードでバックスペースキーが効かない(パイソン) 1 2022/11/09 04:00
- C言語・C++・C# 「using Windows」でエラーが出る 3 2022/12/23 19:53
- Visual Basic(VBA) フレームワーク「4.8.1」で、[Sub Main]が動かない。助けて下さい 3 2022/11/14 15:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C++ で、「)」が必要 というエ...
-
0除算して、落ちるプログラムと...
-
コンパイルできない
-
C++でアボート(Abort)で処理が...
-
graph.hがincludeできない
-
io.hをincludeするとそのような...
-
プリコンパイラとは?
-
javaと.net frameworkの性能に...
-
pro*cにて
-
Visual C++では問題があるのにg...
-
isnanの取り扱いについて
-
C言語のコンパイラ
-
BCB5 「コンパイラ内部エラー」...
-
【エラー】Cpadで初めてコンパイル
-
Visual C++とVisual C++.NETの違い
-
コンパイラの制限 : ヒープの領...
-
COBOLのEVALUATE文について
-
コンパイラフラグ(compiler fla...
-
文字化け
-
変数(関数)名の頭に_
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0除算して、落ちるプログラムと...
-
C++でアボート(Abort)で処理が...
-
変数(関数)名の頭に_
-
C++ で、「)」が必要 というエ...
-
io.hをincludeするとそのような...
-
C言語のワーニングメッセージの...
-
Eclipseの環境設定について
-
ABAQUS ユーザーサブルーチン...
-
Visual C++とVisual C++.NETの違い
-
コンパイルできない
-
volatile修飾について
-
コンパイラについて
-
コンパイラフラグ(compiler fla...
-
Delphiの逆コンパイル
-
fortranでのNaNについて
-
cobolの文法チェックソフト
-
不要なインクルードファイルの検出
-
__extension__
-
IPアドレス表示プログラム
-
isnanの取り扱いについて
おすすめ情報