Selection algorithm of graphic accelerators in heterogeneous cluster for optimization computing
A. M. Lavreniuk, Mykola Lavreniuk · 2013
The accelerators, especially graphic (GPU) are commonly used while constructing large and small clusters. A lot of such clusters already are available as grid nodes in Grid [1]. To increase the productivity of calculations on these clusters and Grid it is recommended to use many GPU that are available on the node simultaneously, for task execution [2]. Accordingly, the situation may occur when a program is executed in GPU of different architecture and different generations [3]. We can define two leaders in the production of graphic cards that support parallel computing. They are NVIDIA, AMD and have some differences. For example, vector operations are not supported in the GPU NVIDIA but are supported in the AMD, besides at different GPU the lengths of certain types vectors are different. Kernel written in OpenCL [4] works with the different productivity on GPU with diverse architecture and different generations [2]. Even GPU computers that where produced with one manufacturer but belong to different generations have various productivity with almost identical parameters. This is confirmed by an experiments that have been carried out. When the execution time of the program in very short (up to several minutes), then this problem is not significant. But if the program runs for many hours or even days, for example, while solving the problem of rapid synthesis of 3D seismograms in 2.5D model [5], then the non-optimal choice of GPU for kernels execution in OpenCL on cluster total execution time can increase almost in 1.5 times. It can be several hours or even several days depending on the problem.