View Proposal


Proposer
Umar Farooq
Title
Comparative Analysis of CPU and GPU platforms using a Computationally Intensive Application
Goal
Description
The increasing demand for high-performance computing has led to the widespread use of Graphics Processing Units (GPUs) as an alternative to conventional Central Processing Units (CPUs) for computationally intensive applications. While CPUs are primarily designed to efficiently execute a relatively small number of complex and sequential tasks, GPUs provide massive parallelism that can offer substantial performance improvements for problems containing large numbers of independent or similar computations. However, the effectiveness of GPU acceleration depends strongly on the characteristics of the problem, algorithm design, data size, memory access patterns, and implementation strategy. This project aims to design, implement, and experimentally compare CPU and GPU-based solutions to a selected computationally intensive problem. It will investigate potential application areas and select an appropriate problem that has sufficient computational complexity and parallelism to enable a meaningful comparison. A functionally equivalent solution will be developed for both CPU and GPU platforms, with appropriate optimization techniques applied to each implementation. The project will investigate suitable parallel computing technologies and programming approaches such as multi-threaded CPU programming and CUDA based GPU programming. The implementations shall be evaluated under different workload sizes and configurations using quantitative performance measures such as execution time, throughput, speedup, scalability, resource utilization and computational or energy efficiency. Particular attention shall be given to identifying the conditions under which GPU computing is advantageous over CPU computing and the cases where CPU computing remains preferable. The project shall analyse the impact of data size, degree of parallelism, memory transfer overhead, algorithmic complexity and implementation optimizations on overall performance. In short, this study shall provide an empirical comparison of CPU and GPU computing for the selected application and demonstrate the practical considerations involved in selecting and optimizing computing architectures for high-performance applications.
Resources
Background
Url
Difficulty Level
Moderate
Ethical Approval
None
Number Of Students
2
Supervisor
Umar Farooq
Keywords
cpu, gpu, multithreaded programming, gpu programming
Degrees
Bachelor of Science in Computational Sciences and Software Engineering