問題タブ [intel-fortran]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
performance - インテル Fortran における MD と MT の違い
私はこのコードを持っておりMT
、MD
Fortran ランタイム ライブラリ オプションを使用してコンパイルしました。私が得るものは
MD で 10 回実行: 平均 5.29 秒
MTで10ラン:平均6.5秒
誰でもこの違いについて考えがありますか? この場合、結果は同じはずだと思いますよね?
fortran - 不明な方言と不明なライブラリの Fortran コードをコンパイルする方法
ドキュメントによると、「Intel Fortran Compiler 11」でコンパイルすることが知られている Fortran コードをコンパイルしようとしています。しかし、インテル® Fortran Composer XE 2013 for OS X (ここ: http://software.intel.com/en-us/fortran-compilers ) に付属の ifort のバージョンを使用してコードをコンパイルしようとすると、エラーの数。私は、1) 使用されている Fortran の正確な方言と互換性のないコンパイラを使用しているか、2) 必要なライブラリをいくつか含めていないかのいずれかであると考えています。
私は Fortran プログラマーではないので、より経験豊富な人がコードを見て、別のコンパイラーを使用し、特定のライブラリーを含むいくつかのコンパイラー・オプションを設定するという単純な問題であるかどうかを認識できることを願っています。または、何か他のものを完全に見逃している場合。
完全なソース コードは、コンテンツのすぐ上にあります: http://baydeltaoffice.water.ca.gov/modeling/deltamodeling/models/dsm2/dsm2.cfm
最初に、/DSM2_v8_0_6_src/dsm2_v8_0/src/common の groups.f をコンパイルしようとしていますが (これには、他のいくつかのモジュールを最初にコンパイルする必要があります)、最終的な目標は DSM2_v8_0_6_src/dsm2_v8_0/src/ptm をコンパイルすることです/native/fixedData.f とそのすべての依存関係。
私が使用している構文は、次の基本的なパターンに従います。
発生しているエラーの種類を把握するために、繰り返し発生するエラーの種類をいくつか示します。
visual-studio-2012 - Fortran を使用した更新された Visual Studio での負の文字長のデバッグ
私は最近、Windows XP と Visual Studio 2005 から Windows 7 と Visual Studio 2012 に更新し、大量の Fortran コードを持ってきました (Intel コンパイラで VS に組み込まれています)。関連する場合と関連しない場合があるいくつかのエラーが発生しています。
foo(char1,real1,real2) 形式のサブルーチンが呼び出され、char1 が呼び出し側サブルーチンと foo の両方で長さ 200 の場合、「forrtl: 深刻な (408): fort: (18): Dummy character variable 'char1 ' has length 200 で、実際の変数の長さよりも大きい -858993460 Image PC Routine Line Source libifcoremdd.dll 02AED3FE Unknown Unknown Unknown スタック トレースが異常終了 しました" 長さの代わりに無意味なアドレスを渡すのはなぜですか?
問題をデバッグしようとすると、サブルーチン呼び出しにブレークポイントを設定してステップインしようとすると、「No Source Available No Symbol are loaded for any call stack frame. The source code cannot be displayed.」というエラーが表示されます。
また、「PDB ファイルが見つからないか、開けません」というメッセージが数十件表示されることにも気付きました。ソース コードに直接関係していないように見えるエラー。
残念ながら、エラーは何千行もの独自のコードに埋め込まれているため、すべてを投稿することはできず、簡単な例でエラーを再現することもできません.
試してみるべきことの提案はありますか?ありがとう!
fortran - Fortran で派生型を比較する
ここで入手可能な球体でNavier-Stokesを解決するプロジェクトをコンパイルしようとしていました: https://fms.gfdl.noaa.gov/gf/
使用されるデフォルトのコンパイラは ifort であり、gfortran を使用したかったのは、それを使用したい人が最終的に利用できるようにしたいからです。
コードのいくつかのポイントで、次のようなステートメントがあります
ここで、x と y は両方とも、整数、実数、およびポインターを含む派生型 (domain1d/2d と呼ばれます) です。gfortran は、比較は非数値と終了の間であると不平を言います。
その後、ifort の試用版をダウンロードしたところ、問題なくコンパイルされました。
それで、これが型/構造体の各メンバーの実際の比較に対するある種の ifort の省略形なのか (C の用語の方が快適です!)、それとも基本的な何かが欠けているのか、fortran に慣れていないのか知りたいと思いました。
派生型を比較することはあまり意味がないことは理解していますが、ここでは、両方が同じ情報を保持しているかどうかを単純にチェックしているように見えます。
ありがとう、ジョイ
command-line - devenv を使用してプリプロセッサー変数をインテル® Fortran コンパイラーに渡す
Intel(R) Fortran Compiler バージョン 10.1.025 で VS 2008 を使用しています。
ソリューションを構築するために、次の構文のバッチ ファイルを使用しています。
devenv /rebuild "Release|Win32" "c:...\solution.sln" /Project "ProjectName_InTheSolution"
構成 "Release|Win32" を使用して、VS ProjectProperties->Fortran->Proprocessor->Preprocessor Definitions で値 "test" を指定します。
私のコード内で、「テスト」変数が定義されているかどうかをテストしています。これはすべて正しく機能しています。
コマンドラインを使用してFortranコンパイラの「プリプロセッサ定義」を変更する方法を知っている人はいますか? 値「commandLine」も追加したいので、「Preprocessor Definitions」の「test;commandline」になります。
いくつかのメモ:
前もって感謝します
あなたの答えをありがとう、多分私はあなたの解決策を完全には理解していませんでしたが、これは私が試したことです:
1)「追加オプション」(AO) を /Dtest に変更します。1.1) Visual Studio またはコマンド ラインからコンパイルする場合、チェック「!DEC$ IF DEFINED (test)」は true です。
2) AO を "$(DEFINE)" に変更し、: 2.1) Visual Studio から次の警告が表示されます: "コマンド ライン警告 #10161: 認識されないソース タイプ '$(DEFINE)'; オブジェクト ファイルは ifort と見なされます" およびチェック " !DEC$ IF DEFINED (test)" は false 2.2) Define 変数を "User environment variables" に追加します。2.1 と同じエラーです。
3) AO を "/D$(DEFINE)" に変更すると、"Bad syntax, '=' expected while processing '@$(define)' fortcom" というエラーが表示されました。
4) AO を "$(DEFINE)" と SET DEFINE=/test に変更しましたが、どちらも機能しませんでした。"!DEC$ IF DEFINED (test)" は false です。
@cupあなたのソリューションをもう少しよく理解する必要があると思います。あなたのソリューションに関する追加情報を教えていただければ幸いです。
私がやろうとしているのはこれです:
ここで、次のようにして、コードのどの部分をコンパイルするかをコマンドラインから制御したいと思います。
これは可能ですか?前もってありがとう、るい
fortran - 独自の TYPE を定義すると、ifort と gfortran の結果が異なる
私は Fortran を初めて使用しますが、モジュールと型について理解すれば、C や Matlab でできるほとんどのことができることに一般的に気付いています。ただし、gfortran (gcc バージョン 4.6.2) と ifort(13.0.2) のどちらを使用するかによって、この結果の違いに困惑しています。Gfortran では期待どおりの結果が得られますが、ifort では 3 行の空白行が表示されます。理由はありますか?
gfortran でコンパイルした結果は次のとおりです。
ifort を使用すると、正常にコンパイルされますが、空白行が 3 行だけ表示されます。
前もって感謝します。