Lecture # | Topics | Handouts | HWs & Quizzes | Code Samples | Links & Extra Notes |
Week 1: 10 Oct. - 16 Oct. |
Syllabus What to Expect Linux Essentials Linux Shell Commands (CLI) WSL vs. VM |
What is WSL
00-LinuxEssentials.pptx
|
|
|
WSL: Windows Subsystem for Linux
What is WSL?
Containers vs. VMs
VirtualBox
Ubuntu Image
VirtualBox Images
cheat_sheet.pdf
|
Week 2: 17 Oct. - 23 Oct. |
Editing/Managing Files in shell
The Essentials of C Language ()
scanf(), printf()
main(int argc, char **argv)
|
01-EditingFiles.pptx
02-C-Essentials.pptx
|
|
|
The GNU C Reference Manual
The C Programming Language.pdf
|
Week 3: 24 Oct. - 30 Oct. |
More on C: functions, pointers, malloc() and free()
Dynamic: One-Dimensional & Two-Dimensional Arrays
|
02-C-Essentials.pptx |
Quiz#1 is on ejust.org topics: Linux shell commands
HW1.pdf
|
first_test_1.c
first_test_2.c
first_test_3.c
first_test_4.c
|
|
Week 4: 31 Oct. - 6 Nov. |
More on Compiling and Debugging C Programs on Linux: using GCC & GDB Makefile and the make command |
03-GDB.pdf
04-GCC.pptx
05-Makefiles.pptx
|
|
main.c
my_print.c
makefile
|
An Introduction to GCC
GDB: The GNU Project Debugger
GNU make
An Introduction to Makefiles
|
Week 5: 7 Nov. - 13 Nov. |
Introduction to Parallel Computing Why Parallel Computing ? Parallel Hardware and Parallel Software |
06-WhyParallelComputing.pptx
07-Parallel-Hardware-Software.pptx
|
Quiz#2 is on ejust.org topics: GCC, GDB, & Makefiles |
|
What is Parallel Computing?
Concepts and Terminology
Parallel Computer Memory Architectures
|
Week 6: 14 Nov. - 20 Nov. |
Parallel Programming Models |
08-Parallel-Programming-Models.pptx
|
|
|
Parallel Programming Models
Intro. to Parallel Computing Tutorial
Designing Parallel Programs
|
Week 7: 21 Nov. - 27 Nov. |
Intro. to OpenMP |
09-OpenMP-Part1.pptx
10-OpenMP-Part2.pptx
|
Quiz#3 is on ejust.org Parallel HW, SW, and programming models
HW2.pdf
|
HelloWorld_1.c
HelloWorld_2.c
HelloWorld_3.c
HelloWorld_4.c
HelloWorld_5.c
|
openmp.org
OpenMP Tutorial
Intro. to Parallel Computing Tutorial
pymp
Pymp – OpenMP-like Python Programming
|
Week 8: 28 Nov. - 4 Dec. |
OpenMP: Parallel Regions & Worksharing |
11-1-OpenMP-Part3.pptx
Mon. Nov. 29: Lecture:In Class
Wed. Dec.1: Lecture:(Recorded) Will be available on MS Teams
Please do not forget HW#2
|
|
dotprod_serial.c
dotprod_parallel_1.c
dotprod_parallel_2.c
dotprod_parallel_for.c
|
|
Week 9: 5 Dec. - 11 Dec. |
Worksharing & Nested Loops sections, master, single |
11-2-OpenMP-Part3.pptx
11-4-OpenMP-Part3.pptx
11-5-OpenMP-Part3.pptx
|
|
parallel_1.c
sections_1.c
sections_2.c
sections_3.c
single_1.c
single_2.c
master_1.c
master_2.c
|
|
Week 10: 12 Dec. - 18 Dec. |
More on OpenMP: Data Environment Synchronization Constructs |
11-6-OpenMP-Part3.pptx
11-7-OpenMP-Part3.pptx
|
|
data_shared_1.c
data_shared_2.c
data_private_1.c
data_private_2.c
data_firstprivate_1.c
data_lastprivate_1.c
data_lastprivate_2.c
data_reduction_1.c
partial_sum.c
reduction_sum.c
critical_1.c
critical_2.c
atomic_1.c
barrier_1.c
barrier_2.c
single_1.c
master_1.c
master_2.c
orderd_1.c
orderd_2.c
orderd_3.c
orderd_4.c
|
|
Week 11: 19 Dec. - 25 Dec. |
Intro. to MPI Simple Examples |
12-MPI-Basics-01.pptx
|
Quiz#4: OpenMP is on ejust.org
|
mpi_hello_0.c
mpi_hello_0.cpp
mpi_hello_0.py
|
Book: Parallel Programming with MPI
Message Passing Interface(MPI)
MPI Forum
MPICH
OpenMPI
mpi4py.pdf
Parallel programming in Python (part1)
Parallel programming in Python (part2)
|
Midterm Exam Thursday, Dec. 30, 2021 |
Time: 11:30 am -- 12:30 pm, Location: LAB N2 L-1 Topics: OpenMP |
Week 12: 26 Dec. - 1 Jan. |
Intro. to MPI |
12-MPI-Basics-02.pptx
|
|
mpi_hello_1.c
mpi_hello_2.c
mpi_hello_3.c
mpi_hello_4.c
|
Book: Parallel Programming with MPI
Message Passing Interface(MPI)
MPI Forum
MPICH
OpenMPI
mpi4py.pdf
Parallel programming in Python (part1)
Parallel programming in Python (part2)
|
Week 13: 2 Jan. - 8 Jan. |
MPI Communicators and Groups |
12-MPI-Basics-03.pptx
|
|
mpi_send_recv_1.c
mpi_send_recv_2.c
mpi_wtime_1.c
mpi_wtime_2.c
mpi_Sum.c
mpi_SumN.c
mpi_SumN_WithoutMaster.c
mpi_SumN_WithoutMaster_Collective.c
mpi_NonBlockingSendReceive.c
|
Computing pi in C with MPI
MPI Exercise
Using MPI and Using Advanced MPI
Videos from OpenMPI
|
Week 14: 9 Jan. - 15 Jan. |
MPI Communicators and Groups |
12-MPI-Basics-04.pptx
|
|
|
|
Week 15: 16 Jan. - 22 Jan. |
Final Projects: In-class discussions and presentations |
|
|
|
|
Final Examination Period 22 Jan. - 5 Feb. |
Final Exam's Date:Saturday, February 5, 2022. Time: 9:00am -- 10:45am, Location: NF 25 |