shは C++上に構築されたプログラミング言語の1つです。これを使えば、最新のグラフィックスプロセッシングユニット(GPU)上で実行できるシェーダを書いたり、あるいは、GPUやCPU上で実行できるストリームプログラムを書けます。これは C++ライブラリとして実装されおり、多くのメタプログラミング技術を使って、プログラムを実行時に生成できます。異なるケースに対応するプログラムの変形を簡単に生成でき、あるいは、変形プログラムを入力データから全て実行時に生成できます。このシステムは明確にフロントエンドとバックエンドに分離されており、そのため移植が容易です。