About us
Parallel Computing Center has been founded in Khmelnitsky, Ukraine, at the Khmelnitsky National University.
Basic directions of activity of the Center are:
- Software development for parallel computing, hybrid computing systems
- Implementation of classic and hybrid supercomputer technologies
- Realization of the distributed access system to the hybrid clusters
- Realization of complex programmatic-architectural decision of CUDA
- Porting various computational tasks to parallel architectures
- Computational tasks code optimization and adaptation for distributed systems
- Training and consulting in programming of massively parallel processes, CUDA environment
- Research activity
Introducing the parallel computing
Parallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large
problems can often be divided into smaller ones, which are then solved concurrently ("in parallel"). Parallelism has been employed for many years,
mainly in high-performance computing,
but interest in it has grown lately due to the physical constraints preventing frequency scaling. As power consumption (and consequently heat generation)
by computers has become a concern in recent years, parallel computing has become the dominant paradigm in computer architecture, mainly in the form
of multicore processors. Especially with the development of hybrid systems on the CPU and GPU.
General-Purpose computing on Graphics Processing Units (GPGPU)
GPU computing (GPGPU) is the use of a GPU (Graphics Processing Unit) to do general purpose scientific and engineering computing.
The model for GPU computing is to use a CPU and GPU together in a heterogeneous co-processing computing model.
The sequential part of the application runs on the CPU and the computationally-intensive part is accelerated by the GPU.
From the user's perspective, the application just runs faster because it is using the high-performance of the GPU to boost overall performance.
GPGPU is a fairly recent trend in computer engineering research. GPUs are co-processors that have been
heavily optimized for computer graphics processing. Computer graphics processing is a field dominated by data parallel operations - particularly linear algebra
matrix operations. In the early days, GPGPU programs used the normal graphics APIs for executing programs. However, several new programming languages and platforms
have been built to do general purpose computation on GPUs with both Nvidia and AMD releasing programming environments with CUDA and CTM respectively. The technology
consortium Khronos Group has released the OpenCL specification, which is a framework for writing programs that execute across platforms consisting of CPUs and GPUs.
Apple, Intel, Nvidia and others are supporting OpenCL.
Why GPU Computing
With the ever-increasing demand for more computing performance, the HPC industry is moving toward a hybrid computing model, where GPUs and CPUs work together to perform
general purpose computing tasks. As parallel processors, GPUs excel at tackling large amounts of similar data because the problem can be split into hundreds or thousands
of pieces and calculated simultaneously. As sequential processors, CPUs are not designed for this type of computation, but they are adept at more serial-based tasks such
as running operating systems and organizing data. NVIDIA's GPU solutions outpace others as they apply the most relevant processor to the specific task in hand.


