NITTE MEENAKSHI INSTITUTE OF TECHNOLOGY
(AN AUTONOMOUS INSTITUTION)
(AFFILIATED TO VISVESVARAYA TECHNOLOGICAL UNIVERSITY, BELGAUM, APPROVED BY AICTE & GOVT.OF KARNATAKA)
CASE STUDY REPORT
ON
“Hybrid Programming using CUDA and OpenMP”
Submitted by:
1. KARTHIK GA 1NT15CS073
2. T KISHORE 1NT15CS081
3. M ASHWIN 1NT15CS088
In partial fulfillment of the requirements for the completion of VIII Semester Parallel
Programming Principles Case Study work during the academic year 2018-2019.
Department of Computer Science and Engineering
Academic Year 2018-19
NITTE MEENAKSHI INSTITUTE OF TECHNOLOGY
(AN AUTONOMOUS INSTITUTION)
(AFFILIATED TO VISVESVARAYA TECHNOLOGICAL UNIVERSITY, BELGAUM, APPROVED BY AICTE & GOVT.OF KARNATAKA)
CERTIFICATE
This is to certify that the Case Study Report
“Hybrid Programming using CUDA and OpenMP”
Is an authentic work carried out by
1. KARTHIK GA 1NT15CS073
2. T KISHORE 1NT15CS081
3. M ASHWIN 1NT15CS088
In partial fulfillment of the requirements for the completion of VIII Semester Parallel
Programming Principles Case Study work d uring the academic year 2018-2019.
Signature of the Guide Name & Signature of HOD
Mr. Sathish E G Dr.Thippeswamy M N
(Asst. Prof, Dept of CSE) ( HOD,Dept of CSE)
ACKNOWLEDGEMENT
Before we get into thick of things, we would like to add a few words of appreciation for the
people who have been a part of this project right from its inception .The writing of this project
has been one of the significant academic challenges we have faced and without the support,
patience, and guidance of the people involved, this task would not have been completed. It is to
them we owe our deepest gratitude.
We also feel heartiest sense of obligation to our Principal Dr.H.C.NAGARAJ, HOD
Dr.Thippeswamy M N, Mr. Sathish E G Assistant Prof. Dept of CSE and Staff members ,who
helped us in collection of data and resource material and also in its processing as well as in
drafting manuscript .The project is dedicated to all those people ,who helped us while doing this
project.
ABSTRACT
OpenMP is an industry-standard, platform-independent parallel programming library built into
all modern C and C++ compilers. Unlike complex parallel platforms, OpenMP is designed to
make it relatively easy to add parallelism to existing sequential programs, as well as write new
parallel programs from scratch. Increasingly, parallel processing is being seen as the only
cost-effective method for the fast solution of computationally large and data-intensive problems.
The emergence of inexpensive parallel computers such as commodity desktop multiprocessors
and clusters of workstations or PCs has made such parallel methods generally applicable, as have
software standards for portable parallel programming. This sets the stage for substantial growth
in parallel software.Data-intensive applications such as transaction processing and information
retrieval, data mining and analysis and multimedia services have provided a new challenge for
the modern generation of parallel platforms. Emerging areas such as computational biology and
nanotechnology have implications for algorithms and systems development, while changes in
architectures, programming models and applications have implications for how parallel
platforms are made available to users in the form of grid-based services.
TABLE OF CONTENTS
SL.NO TOPIC PAGE NO
1 INTRODUCTION 1
2 DESIGN 2
3 HISTORY 3
4 CORE ELEMENTS 4
5 IMPLEMENTATIONS 8
6 PROS AND CONS 10
7 PERFORMANCE EXPECTATIONS 11
8 REFERENCES 12