A Codeplay néven ismert céget elsősorban a rendkívül hatékony fejlesztőkörnyezetei miatt tartják nagyra a piacon, így számos játékfejlesztő épít a PlayStation 3-hoz készült Offload csomagjukra, mellyel a Sony konzoljában lévő heterogén módon programozható Cell processzor rendkívül hatékonyan kihasználható. Az Andrew Richards által vezetett vállalat azonban a fejlett fordítók, illetve a különböző programozási technikák területén is komoly tapasztalattal bír, és lassan tíz éves GPGPU-s tapasztalattal a hátuk mögött végleges formába öntötték az OffloadCL nevű fejlesztőkörnyezetet, mely nem kevesebbet kínál a fejlesztőknek, mint a C++ kódok OpenCL-t támogató grafikus vezérlőkön való futtatását.
Hirdetés
Az OffloadCL-ről először egy évvel korábban lehetett hallani, de akkor még csak fejlesztési fázisban volt, és nem volt hozzá dokumentáció sem, viszont az első tapasztalatok kifejezetten kedvezők voltak. Az OffloadCL tulajdonképpen egy könyvtár, ami az OpenCL specifikációira épül. A fejlesztőkörnyezet fordítója C++11 kódokat képes fordítani, és a kód kijelölt, jól párhuzamosítható részeit áthelyezi a grafikus vezérlőn való feldolgozásra.
A Codeplay a működést az Intel Seismic példaprogramján magyarázta, mely az Intel TBB (Threading Building Block) könyvtárat használja a párhuzamos feldolgozásra. Az OffloadCL működéséhez néhány sorral kell kiegészíteni, illetve módosítani az eredeti kódot. Az OffloadCL könyvtár hasonlóan működik a TBB-hez képest. A kódot tekintve például a parallel_for_each metódust definiálja az OffloadCL.h header. Amennyiben az adott hardverkörnyezet képes OpenCL-en keresztül végrehajtani a kijelölt kódrészt, akkor az a grafikus vezérlőn fut. Akkor sincs gond, ha ez nem lehetséges az OpenCL driver vagy a megfelelő hardver hiányában, ugyanis az OffloadCL ebben az esetben a CPU-n futtatja a programot, vagyis a működés így is tökéletesen biztosított.
A Codeplay a Seismic példaprogramnál jelentős gyorsulást ért el egy Turks kódnevű AMD Radeon bevetésével, de sajnos a processzor és a VGA pontos típusa nem derült ki. Mindenesetre az ötlet kiváló, hiszen a fejlesztők jóval egyszerűbben használhatják ki a grafikus vezérlők általános számítási teljesítményét az OffloadCL GPGPU Compiler SDK segítségével. A regisztrált programozók hozzá is férhetnek a végleges fejlesztőkörnyezethez.