CPU 手順

CPU はコンピューターの頭脳とも呼ばれ、分岐予測、メモリーの仮想化、命令のスケジュールなどを含む複雑な回路/アルゴリズムで構成されています。このような複雑性を考慮し、CPU は幅広いタスクを処理するように設計されています。

SYCL* および OpenMP* オフロードを利用するプログラミング・モデルにより、異種 CPU および GPU システムでのアプリケーションの実装が可能になります。SYCL* および OpenMP* オフロードにおける “デバイス” は、CPU と GPU の両方を指す場合があります。

最新の CPU は、並列計算に利用可能なハイパースレッディングと広い SIMD 幅を備えた複数のコアを搭載しています。ワークロードに計算集約型で並列実行可能な領域が存在する場合、そのような領域は GPU や FPGA などのコプロセッサーではなく CPU へオフロードすることを推奨します。これはまた、データを PCIe* を介してオフロードする必要がないため (コプロセッサーや GPU とは異なり)、データ転送のオーバーヘッドを最小限に抑えてレイテンシーを軽減します。

CPU でアプリケーションを実行するには、CPU で直接実行される従来型の CPU 手順と、CPU デバイスで実行される CPU オフロードの 2 つのオプションがあります。CPU オフロードは、SYCL* または OpenMP* オフロード・アプリケーションで使用できます。OpenMP* オフロードと SYCL* オフロード・アプリケーションは、どちらも OpenCL* ランタイムとインテル® oneAPI スレッディング・ビルディング・ブロック (oneTBB) を使用して、CPU デバイスで実行できます。

ヒント

ワークロードが CPU、GPU、または FPGA に最適であるか不明な場合は、さまざまな oneAPI 計算ワークロードで CPU、GPU、FPGA の利点を比較してみてください (英語)。