
OpenCL, a modern parallel heterogeneous system programming language, enables problems to be partitioned and executed on modern CPU and GPU hardware, this increases performance of such applications considerably. Since GPU's are optimized for floating point and vector operations and specialize in them, they outperform general purpose CPU's in this field greatly. This language greatly simplifies the creation of applications for such heterogeneous system since it's cross-platform, vendor independent and is embeddable , hence letting it be used in any other general purpose programming language via libraries. There is more and more tools being developed that are aimed at low level programmers and scientists or engineers alike, that are developing applications or libraries for CPU’s and GPU’s of today as well as other heterogeneous platforms. The tendency today is to increase the number of cores or CPU‘s in hopes of increasing performance, however the increasing difficulty of parallelizing applications for such systems and the even increasing overhead of communication and synchronization are limiting the potential performance. This means that there is a point at which increasing cores or CPU‘s will no longer increase applications performance, and even can diminish performance. Even though parallel programming and GPU‘s with stream computing capabilities have decreased the need for communication and synchronization (since only the final result needs to be committed to memory), however this still is a weak link in developing such applications.
Šiuolaikinių grafinių procesorių (GPU) skaičiavimų galia auga labai sparčiai ir siekia 5.10 TFLOPs (5.10x10^12) 32 bitų ir 1.27 TFLOPs (1.27x10^12) 64 bitų slankaus kablelio skaičiaus operacijų per sekundę, kai tokio pat brangumo centriniai procesoriai (CPU) siekia tik 107 GFLOPs (107x10^9) 32 bitų slankaus kablelio skaičiaus operacijų. Toliau augant GPU skaičiavimų galiai mokslininkai ieško būdų kaip pažaboti šiuos resursus sprendžiant skaičiavimams imlius uždavinius. Tačiau kurti programas nevienalytėms lygiagrečių skaičiavimų platformoms, kurių tradicinės daugiabranduolinių procesorių CPU ir GPU metodikos yra labai skirtingos, lieka sudėtingu išūkiu programuotojams, tai apsunkina galimybę lengvai išnaudoti nevienalyčių lygiagrečių CPU ir GPU platformų skaičiavimų galimybes. Šiame straipsnyje analizuojami naujausi lygiagretaus bendros paskirties programavimo modeliai heterogeninėms sistemoms ir aprašoma kalba, kuria rašant programinį kodą galima efektyviau išnaudoti šiuolaikinius programuojamus grafinius procesorius. Tokia CPU ir GPU simbiozė sukuria galimybes skaičiavimams imlias problemas (pavyzdžiui, daugiamačio kompiuterinio modeliavimo) spręsti tūkstančius kartų sparčiau nei iki šiol egzistavusiose vienalytėse sistemose.
programuojamas grafinis procesorius (GPU), open programming platform Open CL, GPGPU general purpose graphic processing units, lygiagretaus programavimo modeliai, GPU, bendrųjų skaičiavimų lygiagretinimas grafinio procesoriaus instrukcijų lygmenyje (GPGPU), parallel programming models, atvira programavimo platforma Open CL
programuojamas grafinis procesorius (GPU), open programming platform Open CL, GPGPU general purpose graphic processing units, lygiagretaus programavimo modeliai, GPU, bendrųjų skaičiavimų lygiagretinimas grafinio procesoriaus instrukcijų lygmenyje (GPGPU), parallel programming models, atvira programavimo platforma Open CL
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
