Tag Archives: GPU

Experimental Studies on the Performance of Algorithms for CFA Interpolation

Iva Nikolova

Abstract: This paper deals with the challenging task of reconstructing a full three-color representation of color images captured by a single image sensor – CCD or CMOS, which samples the image according to a color filter array (CFA). The output images feature a certain kind of pattern in which every pixel has only single-color information. The process of modifying the raw image sensor data to obtain full RGB color information at each pixel is called demosaicing or CFA interpolation. Seven popular algorithms CFA interpolation are regarded. The results of timing performance analysis of their sequential implementations are presented and discussed. The performance speedup analysis and scalability tests with multithreading and CUDA-based GPU implementations are analyzed.
Keywords: Bayer pattern, CFA interpolation, GPU, Image sensors, Multithreading, Parallel computations, Performance and speedup analysis.

Download article

Evaluation of Instruction Dependencies in Multithreaded Application Executed on Heterogeneous Architectures

Maria Marinova, Dimitar Garnevski, Vladimir Lazarov

Abstract: Modern heterogeneous architectures include advanced computing devices with great multi-threading capabilities. Unfortunately not all applications utilize all these capabilities due to the specific or complexity of algorithms. One of the obstacles which come from the natural execution of algorithms is “data dependencies”. The main objective of this paper is to provide results from research in area of data dependencies in multi-threaded parallel applications and show influence of these dependencies on the particular applications.

Key words: data dependencies, multi-threaded applications, heterogeneous architectures, GPU.
Download Article

Introduction in Stream Programming – The OpenCL Platform Layer

Nikolay Landzhev

Abstract: This paper looks into the platform layer of OpenCL, the most widely used standard for
stream programming. The platform layer allows us to query the compute devices, such as CPUs,
GPUs, and other programmable parallel processors. It also provides us with functions to: discover
all OpenCL capable devices in a system, list their capabilities, and create contexts that contain one
or more compute devices. We are also going to look at how to create, compile and run a program
that uses OpenCL on Microsoft Windows. The program will utilize the OpenCL platform layer in
order to get information for the compute devices in our system.

Key words: GPU, GPGPU, Multicore, OpenCL, AMD Stream, Stream Programming

Download Article

Stream Programming – OpenCL Basics

Nikolay Landzhev, Plamenka Borovska

Abstract: In recent years a new parallel programming paradigm emerged and it is called stream programming. This paper looks into stream programming and it’s specifications OpenCL. In the different chapters of the paper you will find information about the hardware which most benefits from the stream programming – the Graphic Processing Unit(GPU). Also we will look into the model of the OpenCL specification.

Key words: GPU, GPGPU, Multicore, OpenCL, AMD Stream, Stream Programming

Download Article