The video cards have gone through significant changes since their appearance in the 1970s. Originally, they were designed to support picture rendering, but later on, they were able to generate graphical output independent of other computing units as well. Therefore, their role has changed over time, their performance has increased so that nowadays their computing capacity is comparable to that of central processing units (CPUs). In the case of some special tasks, video cards can even outperform CPUs. Recently, there has been an growing demand to use this increased computing capacity not only to deliver graphical output but also to carry out more general processing tasks. The larger hardware manufacturers have granted this opportunity in their products since the end of the 2000s.
In my thesis, I will examine those conditions under which the widespread and publicly available graphical card processors (GPUs) can efficiently use their performance and outperform the central processing units (CPUs) in the case of a specific task (the k-mean clustering algorithm). When I started to examine this question, my initial working hypothesis was that without taking into consideration the unique features of the video cards, their performance will not exceed that of CPUs. However, if these unique features are taken into account, then it may be possible to achieve a significant acceleration and a much better video card performance.