A kérdés ugyanaz, mint: "van egy x86-os, egy ARM és egy MIPS processzorom, mire fordítsak".
Semmire. Az OpenCL bináris nem hordozható. Vagy belerakod a programba a forrást, és on-the-fly / programindításkor fordítasz, vagy azt csinálod, mint a Java: Fordítasz bájtkódot (ez a SPIR az OpenCL esetében), amit az adott hardver saját runtime-ja majd szépen lefordítja a kártya saját utasításkészletére.