Fortranプログラムでpthreadsを使いたいのですが、コンパイルすることさえできません。私は、Cプログラムでpthreadsを使用して、私のFORTRANのプログラムのためにそれを必要とするが、次のエラーでuse f_pthread
結果に呼び出しています:fortranのpthreadsを使用する
Fatal Error: Can't open module file 'f_pthread.mod' for reading at (1): No such file or directory
のでかなり明らかに私はf_pthread.modリンクを持っていません。 f_pthread.modはどこにありますか?それをどうやって作るのですか?私が見たすべてのものは、プログラム例の冒頭で「f_pthreadを使う」というように、fortranでpthreadを使う方法について話しましたが、そのモジュールを正しくリンクする方法を理解できていないようです。
pthreadsにスレッドプールを作成する方がはるかに簡単であるため、openmpが必要です。私は何千回も何千ものエコーを受けた小さな(〜800)ループを持っています。 openmpを使用すると、ループを呼び出すたびに新しいスレッドが起動する可能性があり、これは非効率的なので、私はこれをスレッドしたいと思います。 – drjrm3
この時点でOpenMPの実装を信頼したいだけかもしれません。現在のOpenMPの実装では、スレッドプールを作成し、スレッドを常に作成および削除するのではなく、再利用します。その後、標準に準拠したプログラムで終わり、どこでもFortranコンパイラで動作するはずです。 –
@ JonathanDursiとHighPerformanceMarkの場合、Fortranプログラムでは、並列化だけでなく、別々のタスクに2つの別々の機能スレッドが必要な場合はどうなりますか? – patrickvacek