掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
intel コンパイラで SIMD を有効にするには ? (ID:61770)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Pentium M 搭載のノートパソコンで、Visual Studio .NET 2003 と Intel Compiler 9.0 を用いています。 ---------- test.c ---------- int a[32]; int main(){ int i; for(i = 1; i < 32; i ++) a[i] = i; } -------------------- のようなプログラムを Visual Studio で SIMD 化したいのですが うまくいきません。 コマンドプロンプトから、 icl -QxB -Fa test.c を実行すると、 test.c(5) : (col. 3) remark: LOOP WAS VECTORIZED. のようなメッセージが表示され、test.asm に $B1$2: movdqa XMMWORD PTR _a[eax+4], xmm0 ;5.28 paddd xmm0, xmm1 ;5.22 add eax, 16 ;5.3 cmp eax, 124 ;5.3 jb $B1$2 ; Prob 96% ;5.3 と出力されることから SIMD 化されているのが分かります。 しかし、Visual Studio 上で同様のコードを記述し、 ・ Convert to use Intel C++ Project System を実行 ・ プロジェクトのプロパティから、最適化項目で /QxB、ファイル出力項目で /Fa を設定、 してビルドしても、SIMD 化されません。 LOOP WAS VECTORIZED のメッセージは出力されませんし、 test.asm の中身を見ても movdqa ... 相当の記述は見当たりません。 本人的には上記 2 つは同様のことを行っているつもりなのですが、 Visual Studio 上ではさらにプロパティの設定等が必要なのでしょうか ? ご教示願います。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.