After working through these videos, you can design and implement a complete solution to Assignment 2.
Video:
RISC and CISC.
Slides:
risc_cisc.pdf
.
Video:
Instrinsics.
Code:
vector_add.c
,
makefile
.
Video:
Performance impact of vector instructions.
Code:
vector_bench.cc
,
makefile
.
Video:
What is OpenMP?
Code:
what_is_openmp.c
,
makefile
.
Video:
Parallel For, Sections, and Single.
Code:
for_sections_single.c
,
makefile
.
Video:
Reduction.
Code:
reduction.c
,
makefile
.
Video:
Advanced Reduction.
Code:
reduction_advanced.c
,
makefile
.
Note: Per the standard, the initializer expression in declared reductions is only applied to private copies of a variable. In particular, the code in the video required a slight correction.
Video:
Attributes.
Code:
attributes.c
,
makefile
.
Video:
SIMD Parallelism.
Code:
simd.c
,
makefile
.
Opional video:
Schedulers.
Code:
schedulers.c
,
makefile
.
Video:
Naive Synchronization via OpenMP.
Code:
none_openmp.c
,
critical_openmp.c
,
atomic_openmp.c
,
reduction_openmp.c
,
makefile
.
Video:
Data Partitioning in OpenMP
Code:
sequential.c
,
horz_openmp.c
,
vert_openmp.c
,
makefile
.