4

特定のオプションが指定され、適切な条件が与えられた場合、GCC はループを自動的にベクトル化できます。同じことができる広く利用可能な他のコンパイラはありますか?

4

9 に答える 9

8

ICC

于 2009-01-03T17:10:58.690 に答える
6

llvmもそれを行うことができ、ベクターパスカルも無料ではないVectorCです。これらは私が覚えているほんの一部です。

于 2009-01-04T10:01:11.273 に答える
2

MicrosoftのSilverlight プロジェクトに代わるオープン ソースであるMonoプロジェクトは、SIMD 命令を使用するオブジェクトを追加しました。コンパイラではありませんが、Mono CLR は、ネイティブにベクトル操作を生成する最初のマネージ コード システムです。

于 2009-01-22T02:14:41.203 に答える
2

PGIのコンパイラも。

于 2009-01-12T04:49:13.403 に答える
2

IBM の xlc は、C および C++ をある程度自動ベクトル化することもできます。

于 2009-06-11T21:33:20.320 に答える
1

これは古いスレッドですが、このリストに追加します。VisualStudio11にも自動ベクトル化があります。

于 2012-03-11T21:14:50.620 に答える
1

VectorCもこれを行うことができます。すべてのターゲット CPU を指定して、さまざまな命令セット (MMX、SIMD、SIMD2 など) を利用することもできます。

于 2009-02-03T15:14:34.710 に答える
1

Visual C++ (私は VS2005 を使用しています) は、SSE 命令の使用を強制できます。Intel のコンパイラほど良くないようですが、誰かが既に VC++ を使用している場合、このオプションをオンにしない理由はありません。

プロジェクトのプロパティ、構成プロパティ、C/C++、コード生成: 拡張命令セットを有効にするに移動します。「ストリーミング SIMD 命令」または「ストリーミング SIMD 命令 2」を設定します。浮動小数点モデルを高速に設定する必要があります。他のいくつかのオプションも変更する必要がありますが、コンパイラはそれについて教えてくれます。

于 2009-08-21T09:33:30.307 に答える