私のアプリケーションのクラッシュダンプがあります。私のアプリは、私がそこに持っているいくつかのSSSE命令を実行しようとしている "無効な命令"と言うユーザーのために失敗します。ユーザーモードのクラッシュダンプがある場合のCPUモデルを確認
WinDBGでは、CPUモデルを調べることで、その命令セットを見つけて、命令セットをサポートするか、アプリケーションの最小ハードウェア要件を更新できますか?
はここ!cpuid
の出力です:
CP F/M/S Manufacturer MHz
0 16,4,3 <unavailable> 3000
1 16,4,3 <unavailable> 3000
2 16,4,3 <unavailable> 3000
3 16,4,3 <unavailable> 3000
Googleは役立つかもしれないと言うコマンドの残りの部分の印刷「が見つかりません輸出」(errrec、cpuinfoを、SYSINFO!!!)。
入力いただきありがとうございます。 はい、ビジュアルスタジオでビルドします。 これらの命令を発行するのはコンパイラではありません。私は組み込み関数を使ってコードを手作業でベクトル化しました。 AFAIRはAVX2への自動ベクトル化に比べて約2倍速くなりました。私のアルゴリズムは大部分が整数/ビットマスク(GB)を処理し、これらの__m128i値を処理する多くのビットトリックをコーディングしました。私は自動ベクトル化が私がここで行ったことに匹敵する最適化を行うことができるとは思わない。 – Soonts
ご覧のとおり、CPUの互換性はそのアプローチの欠点です。私は過去10年間、x86命令セットのようなものはもうなくなり、Intel/AMDは発散してしまったことに本当に失望しました。私はSSE4.1以下に頼ることができるように見えます。彼らはすでに9歳です... – Soonts
ちょうど私が追いついていると思うとき、私はまだどれくらい増やす必要があるかを増幅するこのような投稿があります。あなたはむち打ちに直面しているかもしれませんが、それを教育的にすることを選択した、それは控えめな話です。本を書く。買います。 –