Windows Server 2003 Enterprise X64 Edition で Intel Visual FORTRAN を使用して fortran90 コードをコンパイルしています。32 ビット構造のコードをコンパイルし、自動および手動のベクトル化オプションを使用する場合。コードはコンパイルされ、ベクトル化されます。8 コア システムで実行すると、コンパイルされたコードは CPU の 70% を使用し、ベクトル化が機能していることを示しています。しかし、64 ビット コンパイラでコードをコンパイルすると、コードがベクトル化されていると表示されますが、実行すると、CPU 使用率が約 12% しか表示されず、8 つのコアのうち 1 つのコアが完全に使用されます。は、コードがベクトル化されていることを示していますが、ベクトル化は機能していません。
X64 Edition Windows 上にあり、逆の結果が表示されることを期待していたので、私にとっては奇妙です。64 ビット Windows で 64 ビット アーキテクチャ用にコンパイルされたコードを実行する方がよいと考えました。
コンパイルされたコードが 64 ビットのコンパイル済みバージョンで複数のコアをフルに活用できない理由を知っている人はいますか?