Besides the use of multi-core central processing units (CPUs) there has been an increase in use of evermore powerful graphics processing units (GPUs) for the purpose of parallel computing.
But this kind of simultaneous computing on different types of processing units, called heterogeneous programming, brings on a new set of challenges, especially those concerning software portability.
One of the more commonly used solutions to this problem is OpenCL framework, which is aimed at maximising portability across platforms, but is not the easiest to use.
To solve this and other issues, a new standard, named SYCL, that aims to simplify heterogenous programming was released.
This thesis describes and compares the OpenCL and SYCL standards.
It introduces an open-source implementation of the SYCL standard called sycl-gtx and continues with the presentation of test results on different kinds of hardware, from CPUs and GPUs with different levels of performance, to the Intel's manycore processor Xeon Phi.
Finally, the results are compared to those obtained by the original author of sycl-gtx and a conclusion is presented.
|