Co je OpenCL?
Standard OpenCL pro paralelní programování vyvinulo průmyslové konsorcium Khronos Group s cílem řešit problémy spojené s programováním vícejádrových a heterogenních výpočetních platforem. Specifikace OpenCL definuje jednotný programovací model a sadu abstrakcí na systémové úrovni, které jsou podporovány všemi hardwarovými platformami vyhovujícími standardu. To znamená, že se softwarový inženýr může naučit jediný programovací model a používat jej přímo na zařízeních od různých dodavatelů.
OpenCL poskytuje programovací jazyk a běhové rozhraní API na podporu vývoje softwaru blízkého kovu, který je efektivní a přenositelný. Kromě toho OpenCL poskytuje hardwarové abstrakce na nízké úrovni, které umožňují implementacím OpenCL odhalit mnoho detailů základního hardwaru. Těmito nízkoúrovňovými abstrakcemi jsou modely platformy, paměti a provádění popsané ve specifikaci OpenCL. Pochopení toho, jak se tyto koncepty promítají do fyzických implementací na FPGA, je nezbytné pro optimalizaci aplikací.
Tato kapitola poskytuje přehled modelu platformy OpenCL a jeho rozšíření na zařízení FPGA. Vysvětluje mapování modelu platformy OpenCL a paměti do implementace generované pomocí SDAccel. Tato kapitola se také zmiňuje o tom, jak lze využít současné FPGA k dosažení vysoké úrovně výkonu pomocí nástroje Xilinx® SDAccel.
.