First Meeting
Dr. Cem Özdo
˘
gan
LOGIK
First Meeting
Lecture Information
Course Overview
Text Book
Grading Criteria
Policies
Installation of Required
Tools/Programs
Linux System
Others
1.1
Lecture 1
First Meeting
Lecture Information, Installation of required tools/programs
IKC-MH.57 Introduction to High Performance and Parallel
Computing at October 13, 2023
Dr. Cem Özdo
˘
gan
Engineering Sciences Department
˙
Izmir Kâtip Çelebi University
First Meeting
Dr. Cem Özdo
˘
gan
LOGIK
First Meeting
Lecture Information
Course Overview
Text Book
Grading Criteria
Policies
Installation of Required
Tools/Programs
Linux System
Others
1.2
Contents
1 First Meeting
Lecture Information
Course Overview
Text Book
Grading Criteria
Policies
2 Installation of Required Tools/Pro grams
Linux System
Others
First Meeting
Dr. Cem Özdo
˘
gan
LOGIK
First Meeting
Lecture Information
Course Overview
Text Book
Grading Criteria
Policies
Installation of Required
Tools/Programs
Linux System
Others
1.3
First Meeting & Introduction
IKC-MH.57 Introduction to High Performance and Parallel
Computing 2023-2024 Fall
FRIDAY 16:00-18:00 (T) H1-86
Instructor: Cem Özdo
˘
gan, Engineering Sciences Dept.
Faculty of Engineering and Architecture Building, H1-33
TA: NA
WEB page: http://cemozdogan.net/
Announcements: Watch this space for the latest updates.
Wednesday, October 9, 2023 In the first lecture, there
will be first meeting. The lecture notes will be
published soon, see Course Schedule section.
All the lecture notes will be accessible via
Tentative Course Schedule & Lecture Notes.
All the example c-files (for lecturing and hands-on
sessions) will be access ible via the link.
First Meeting
Dr. Cem Özdo
˘
gan
LOGIK
First Meeting
Lecture Information
Course Overview
Text Book
Grading Criteria
Policies
Installation of Required
Tools/Programs
Linux System
Others
1.4
Lecture Information I
Almost all computer systems today are multi-core
processors systems. Parallel programming must be used
to take benefit of the full performance of such systems.
Visit https://top500.org/ & https://www.truba.gov.tr/.
Parallel programming also describes the processes and
instructions for dividing a larger problem into smaller steps.
A practical approach to parallel program design and
development will be presented in the course content.
Awareness of potential design and performance conc epts
in heterogeneous computer architectures will be gained.
You will be expected to do significant programming
assignments, as well as run programs we supply and
analyse the output.
First Meeting
Dr. Cem Özdo
˘
gan
LOGIK
First Meeting
Lecture Information
Course Overview
Text Book
Grading Criteria
Policies
Installation of Required
Tools/Programs
Linux System
Others
1.5
Lecture Information II
Since we will program in C on a UNIX environment, some
experience using C on UNIX will be important.
In Hands-on sessions, we will concentrate upon the
message-passing method of parallel computing and use
the standard parallel computing environment called MPI
(Message Pass ing Interface).
Each student will complete a project based on parallel
computing, (distributed computing, cluster computing) for
the midterm/fi nal exam.
Important announcements will be posted to the
Announcements section of the web page, so please check
this page frequently.
You are responsible for all such announcements, as well
as announcements made in lecture.
First Meeting
Dr. Cem Özdo
˘
gan
LOGIK
First Meeting
Lecture Information
Course Overview
Text Book
Grading Criteria
Policies
Installation of Required
Tools/Programs
Linux System
Others
1.6
Course Overview I
IKC-MH.57 is intended to provide students an introduction
to parallel/distributed computing and practical experiences
in writing parallel programs by using C.
MPI (Message Passing Interface) message passing in
distributed memory systems and Open MP (Open
Multi-Processing) in multi-core systems will be taught for
parallel programming.
MPI is the industry standardized parallelization paradigm in
high-performance computing and enables programs to be
written that run on distributed memory mach ines.
OpenMP is a thread-based approach to p arallelize a
program over a single shared memory machine.
An introduction to the basic concepts of hybrid and
accelerated paradigms as Cuda (, OpenCL) programming
will be given.
First Meeting
Dr. Cem Özdo
˘
gan
LOGIK
First Meeting
Lecture Information
Course Overview
Text Book
Grading Criteria
Policies
Installation of Required
Tools/Programs
Linux System
Others
1.7
Course Overview II
The course consists of theoretical topics and hands-on
practical exer cises on parallel programming.
Upon completion of this course the students will be able to
understand/explain/apply;
Learn how to work in a scientific computing environment.
Gain awareness of Parallel and Hig h Performance
Computing concepts for systems with shar ed/distributed
memory.
Can write parallel programs b oth for systems with shared
memory using threading (OpenMP ) and systems with
distributed memory using message passing (MPI) .
Gains basic knowledge of Cu da OpenCL hybrid and
accelerated paradigms.
Gains the ability and u nderstanding to develop parallel
programs to solve a given big numerical/engineering/
scientific problem.
First Meeting
Dr. Cem Özdo
˘
gan
LOGIK
First Meeting
Lecture Information
Course Overview
Text Book
Grading Criteria
Policies
Installation of Required
Tools/Programs
Linux System
Others
1.8
Text Book
Lecture material will be based on them.
It is strongly advised that student should read textbooks
rather than only content w ith the lecture material supplied
from the lecturer.
Required: No & Recommended:
An Introduction to Parallel
Programming by Peter Pacheco and
Matthew Malensek, Morgan
Kaufmann, 2nd edition, 2021,
Elsevier
.
Paralel Al goritmalar: Modeller ve
Yöntemler (Yüksek Ba¸sarımlı
Hesaplama ) by Abdulsamet
Ha¸sılo
˘
glu, 2020, Papatya Bilim
.
Parallel Programming: Techniques
and Application Using Networked
Workstations and Parallel
Computers by Barry Wilkinson and
Michael Allen, 2nd edition, 2005,
Pearson
.
Recommended Recommended
Recommended
First Meeting
Dr. Cem Özdo
˘
gan
LOGIK
First Meeting
Lecture Information
Course Overview
Text Book
Grading Criteria
Policies
Installation of Required
Tools/Programs
Linux System
Others
1.9
Online Resources
The following (some) resources are available online.
https://www.cs.purdue.edu/homes/ayg/book/Slides/
https://sites.cs.ucsb.edu/ tyang/class/240a17/
https://hpc-tutorials.llnl.gov/
First Meeting
Dr. Cem Özdo
˘
gan
LOGIK
First Meeting
Lecture Information
Course Overview
Text Book
Grading Criteria
Policies
Installation of Required
Tools/Programs
Linux System
Others
1.10
Grading C riteria
Midterms & Final Exams: There will be one take-home
midterm and one take-home final exam, will count 40%
each and 60% of your grade, respectively.
Homewor ks/Assignments (or Term Project): ??
First Meeting
Dr. Cem Özdo
˘
gan
LOGIK
First Meeting
Lecture Information
Course Overview
Text Book
Grading Criteria
Policies
Installation of Required
Tools/Programs
Linux System
Others
1.11
Policies
Attendance is not compulsory (30%), but you are
responsible for everything said in class.
Academic Regulations:
Derslere devam zorunlulu
˘
gu ve denetlenmesi
MADDE 18 - (1) Ö
˘
grencilerin derslere, uygulamalara,
sınavlara ve di
˘
ger çalı¸smalara devamı zorunludur. Teorik
derslerin % 30’undan, uygulamaların % 20’sinden
fazlasına devam etmeyen ve uygulamalarda ba¸sarılı
olamayan ö
˘
grenci, o dersin yarıyıl/yılsonu ya da varsa
bütünleme sınavına alınmaz. Tekrarlanan derslerde
önceki dönemde devam ¸sar yerine getirilmi¸s ise
derslerde devam ¸sar aranıp aranmayaca
˘
ilgili birim
tarafından hazırlanarak Senato onayına s unulan usul ve
esaslar ile belirlenir.
You can use ideas from the literature (with proper citation).
The code you submit must be written completely by you.
You can use anything from the textbook/notes.
I encourage you to ask questions in class. You are
supposed to ask questions. Don’t guess, ask a question!
First Meeting
Dr. Cem Özdo
˘
gan
LOGIK
First Meeting
Lecture Information
Course Overview
Text Book
Grading Criteria
Policies
Installation of Required
Tools/Programs
Linux System
Others
1.12
Linux System under VirtualBox
Assuming you are using Windows OS.
Download & Install VirtualBox-7.0.10-158379-Win.exe
Download & Install kubuntu-22.04.3-desktop-amd64.iso
under VirtualBox
Post-Installation Steps of Kubuntu
ping google.com
# Setu p "Display Configuration" for resolution
cat /proc/cpuinfo
sudo apt-g et install lib openmpi-dev openmpi-bin libomp-dev
# End of Post-Installation Steps of Kubuntu
mpicc -o mpi_helloWorld mpi_helloWorld.c
./mpi_helloWorld
mpirun -np 2 mpi_helloWorld
mpirun --machinefile mf.txt -np 3 mpi_helloWorld
gcc -o omp_he lloWorld -fopenmp omp_helloWorld.c
expor t OMP_NUM_THREADS=3
./omp_helloWorld
expor t OMP_NUM_THREADS=8
./omp_helloWorld
cuda_helloWorld.cu later!
sudo apt-g et update # Re gular Updates
sudo apt-g et upgrade # Regular Upgrades
First Meeting
Dr. Cem Özdo
˘
gan
LOGIK
First Meeting
Lecture Information
Course Overview
Text Book
Grading Criteria
Policies
Installation of Required
Tools/Programs
Linux System
Others
1.13
Others
See video for Ins tallation of Kubuntu & Parallel Tools
under VirtualBox.
In take-home exams:
Prepare your report/codes.
Copy your files into a directory named as your ID.
Upload/send a sing le file by compressing this directory.
Check the web page: IKC-MH.57 2023-2024 Fall
frequently.