CPUキャッシュに直接アクセスできる言語はありません(引用されましたが、3つのURLを持つのに十分な担当者がいません...)。つまり、OpenCLがプライベートメモリをキャッシュに保持する方法がないということです。
AMDからのこのプレゼンテーションでは、
彼らは単にメモリモデルをコンテキストによって抽象化された一連のメモリオブジェクトと呼んでいます(16ページ)。コンテキスト内のデバイスでバッファが使用可能である限り、それらは読み取り可能です。さまざまな種類のカーネルメモリに関しては、GPUではなくCPUで実行した場合(DRAMにはさまざまな種類があるため)、それらの間にパフォーマンスの違いはないと安全に想定できます。
ただし、クラスターで計算している場合は、ホストメモリとローカルメモリが異なるため、転送速度を考慮する必要があることに注意してください。質問の2番目の部分については、OpenCLのメモリモデルに関するこの記事を参照してください。特定のワークグループ内でのみ通信する必要があるような方法でプログラムを構成することで得られるパフォーマンスがあります。
詳細については、-http://software.intel.com/sites/landingpage/opencl/optimization-guide/index.htmを参照してください。