3

コンパイル後に AMD と Nvidia の両方のカードで OpenCL コードを動作させることが可能かどうか、またその一般的な手順を教えてください。両方の OpenCL SDK (AMD/Nvidia) をインストールし、"if" 構造を使用してケースごと (AMD デバイスまたは Nvidia デバイス) に異なるコードを作成する必要がありますか? いくつかの見出しで少しだけ明確にしていただければ幸いです。ありがとう。

4

1 に答える 1

4

はい、可能です。これが CUDA 上の OpenCL の目的です (NVIDIA ハードウェアでのみ動作します)。基本的に、C99 でカーネルを記述するコードを作成します。これは、中間の「製造元に依存しない」コードにコンパイルされます。その最後のコードは、ランタイム中にカード (AMD または Nvidia) によって解釈されます。通常、別のカード固有のコードを記述したり、別の SDK を使用したりする必要はありません (ただし、私は Max OS 10.7 を使用しており、他の環境とは異なる可能性があります)。

于 2012-03-23T18:31:31.787 に答える