質問

いくらいが丁度いいx64構成自C++のプロジェクトをコンパイル64-bitバージョンのアプリです。もうのですがコンパイラは以下の警告:

`cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'`

はありまSSE2の最適化ではない可能で64ビットプです

役に立ちましたか?

解決

そうすべての64-bitプロセッサは、SSE2.てコンパイラオプションを常に切り替えによらないデフォルトの切り替えは必要なのです。

から Wikipedia:

SSEの指示:元のAMD64建築を採用インテルのSSE、SSE2中心ください。SSE3指示を追加した月2005年.SSE2に置き換えx87命令セットのIEEE80ビット精度のご希望に添えない場合があIEEE32-ビットまたは64ビット浮動小数点を理解する。これは浮動小数点対応その他多くの現代のCpuを搭載しています。のSSE、SSE2の指示をしても延長された操作により、本新XMM登録するSSE、SSE2用の32ビットモード現代のx86プロセッサによる;しかし、だけでなく、使用32ビットプログラム、プログラムだけに作用するシステムプロセッサーの特徴です。これは64ビットプログラム すべてAMD64のプロセッサにSSE、SSE2、SSE、SSE2の指示ではなくx87指示が減ることはないの機械にx64プンを実行することができます。 SSE、SSE2は一般的により、重複の特徴は、伝統的なx87指示MMX、3DNow!.

他のヒント

私はそのまだ愚かalthought、あなたがSSE2を選択した場合表示される警告を理解しています。 AVX:あなたは/アーチを選択した場合は、あなたはまだ警告が表示されます。私はそれがSP1で固定しますと確信しています。その少しだけスパムや迷惑ます。

コンパイラオプション/アーチ:AVXは、あなたのCPUがそれをサポートしていることを確認する必要があるので、古いCPU上で動作しません。私はサポートしていない私の古いのXeon CPUの1.12 tensorflowパッケージを再コンパイルする必要があったとき、私はこの問題に遭遇しました。

私はアーチ/に切り替えている:(キリルなど)SSE2は、上記の投稿が、まったく同じ問題を取得します。マイクロソフトのコンパイラは、このオプションは無視されることを警告(INFO)を発行します。

Command line warning D9002 : ignoring unknown option '/arch:SSE2'

Microsoftのドキュメントから、私の理解では、このオプションは、x86上でのみ利用可能であり、それはどちらか私には意味がないということです。

しかしMSDNに述べています:

/arch:SSE and /arch:SSE2 are only available when you compile for the x86 platform.

とSSEは、とにかくx64の上で使用されていること。したがって、私はちょうど今のオプションを削除します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top