OpenMP を使用して Fortran の for ループを並列化しようとしています。
正常に動作しているように見えます。間違いなく適切な数のスレッドが作成され、元のシリアル バージョンよりもはるかに高速に動作します。
ただし、%CPU 使用率が非常に高く、スレッドが 1 つまたは 2 つのコアに集中しているのではないかと心配しています (各スレッドが独自の PID で表示されるオンラインで見た例とは対照的です)。
$ export omp_num_threads=12
$ nohup ./z90nr&
$ ps aurx
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
ty 25350 7771 0.0 1564928 26868 pts/9 Rl 14:18 169:40 ./z90nr
これは問題ですか? もしそうなら、どうすれば修正できますか? GOMP_CPU_AFFINITY を設定してみましたが、問題は解決しませんでした。
ありがとうございました!!