News News

Microsoft brings GPU computing to C++ with C++ AMP ... more

GPU computing wades into the mainstream. The idea that the most successful technologies become invisible doesn't yet apply to GPU computing, but it's getting there ... more

NVIDIA unveiled the Tesla M2090 GPU. Equipped with 512 CUDA parallel processing cores, it delivers 665 GigaFLOPS of peak double-precision performance and ... more

NVIDIA announces CUDA 4.0
New CUDA 4.0 release makes parallel programming easier... more

On March 15, 2011 in Khmelnytsky National University held a scientific - practical conference... more

Home

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

GPU 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.