Difference between revisions of "CoE 163 S2 AY 2021-2022"
Carl Dizon (talk | contribs) |
Carl Dizon (talk | contribs) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 34: | Line 34: | ||
| 0 | | 0 | ||
| | | | ||
− | + | [00] Course overview and synopsis<br> | |
− | + | [00] Course requirements | |
| | | | ||
| | | | ||
Line 43: | Line 43: | ||
| 1 | | 1 | ||
| | | | ||
− | + | [01a] Review of CS data structures and algorithms<br> | |
− | + | [01b] Problem identification and solving | |
| | | | ||
[SQ01] CS problems<br> | [SQ01] CS problems<br> | ||
Line 54: | Line 54: | ||
| 2 | | 2 | ||
| | | | ||
− | + | [02a] Review of asymptotic analysis<br> | |
− | + | [02b] Amortized analysis<br> | |
− | + | [02c] High-level optimization | |
| | | | ||
[SQ02] Asymptotic analysis<br> | [SQ02] Asymptotic analysis<br> | ||
Line 67: | Line 67: | ||
| 3 | | 3 | ||
| | | | ||
− | + | [03a] Choosing a platform<br> | |
− | + | [03b] x86 assembly introduction<br> | |
− | + | [03c] x86 assembly reference | |
| | | | ||
[SE01] Profiling and assembly<br> | [SE01] Profiling and assembly<br> | ||
Line 81: | Line 81: | ||
| 4 | | 4 | ||
| | | | ||
− | |||
− | |||
− | |||
| | | | ||
− | |||
| | | | ||
− | |||
− | |||
− | |||
|- | |- | ||
| 5 | | 5 | ||
| | | | ||
− | + | [04a] Review of linear algebra operations<br> | |
− | + | [04b] Solving problems using linear algebra<br> | |
− | + | [04c] Linear algebra and computers | |
| | | | ||
− | [ | + | [SQ03] Linear algebra<br> |
+ | [https://uvle.upd.edu.ph/mod/quiz/view.php?id=225666 <nowiki>[SQ03] Knowledge check</nowiki>] | ||
| | | | ||
− | [[ | [ | + | [[:File:Coe163 2s2122 04x study guide.pdf | [04x guide]]]<br> |
− | [[ | [ | + | [[:File:Coe163 2020s2 04a linear algeb ops.pdf | [04a slides]]]<br> |
− | [[ | [ | + | [[:File:Coe163 2020s2 04b linear algeb problems.pdf | [04b slides]]]<br> |
− | [[ | [ | + | [[:File:Coe163 2020s2 04c linear algeb considerations.pdf | [04c slides]]]<br> |
|- | |- | ||
| 6 | | 6 | ||
| | | | ||
− | + | [05a] Cache behavior of linear algebra operations<br> | |
− | + | [05b] Matrix-matrix multiplication part 01<br> | |
+ | [05c] Matrix-matrix multiplication part 02 | ||
| | | | ||
− | [ | + | [SQ04] Matrix-matrix multiplication<br> |
+ | [https://uvle.upd.edu.ph/mod/quiz/view.php?id=156637 <nowiki>[SQ04] Knowledge check</nowiki>]<br> | ||
+ | <br> | ||
+ | [SE02] Caching in MMM<br> | ||
+ | [https://colab.research.google.com/drive/1tj7VoRqeZ9TuhO3Cl2A0OEnwGKqy9_xW <nowiki>[SE02] Google Colab</nowiki>]<br> | ||
+ | [https://uvle.upd.edu.ph/mod/assign/view.php?id=156639 <nowiki>[SE02] Submission bin</nowiki>] | ||
| | | | ||
− | [[ | [ | + | [[:File:Coe163 2s2122 05x study guide.pdf | [05x guide]]]<br> |
+ | [[:File:Coe163 2020s2 05a cache.pdf | [05a slides]]]<br> | ||
+ | [[:File:Coe163 2020s2 05b mmm part01.pdf | [05b slides]]]<br> | ||
+ | [[:File:Coe163 2s2122 05c mmm pt2.pdf | [05c slides]]]<br> | ||
|- | |- | ||
| 7 | | 7 | ||
| | | | ||
− | + | [06a] BLAS and ATLAS | |
− | |||
| | | | ||
− | [ | + | [SE03] BLAS<br> |
+ | [https://colab.research.google.com/drive/1wOzAnnel_qm2z8_LUO1ijSSSw7yWdWMA <nowiki>[SE03] Google Colab</nowiki>]<br> | ||
+ | [https://uvle.upd.edu.ph/mod/assign/view.php?id=156648 <nowiki>[SE03] Submission bin</nowiki>]<br> | ||
| | | | ||
− | [[ | [ | + | [[:File:Coe163 2020s2 06a blas atlas.pdf | [06a slides]]] |
− | |||
|- | |- | ||
| 8 | | 8 | ||
Line 133: | Line 136: | ||
| 10 | | 10 | ||
| | | | ||
− | + | [10a] Gaussian elimination<br> | |
− | + | [10b] Sparse linear algebra | |
| | | | ||
− | [SQ05] | + | [SQ05] Sparse matrices and BLAS<br> |
+ | [https://uvle.upd.edu.ph/mod/quiz/view.php?id=156660 <nowiki>[SQ05] Knowledge check</nowiki>]<br> | ||
| | | | ||
+ | [[:File:Coe163_2020s2_07a_gaussian_elim.pdf | [10a slides]]]<br> | ||
+ | [[:File:Coe163 2020s2 07b sparse mat.pdf | [10b slides]]] | ||
|- | |- | ||
| 11 | | 11 | ||
| | | | ||
− | + | [11a] Parallel computing introduction<br> | |
+ | [11b] Parallel programming and hardware | ||
| | | | ||
− | [ | + | [SQ06] Parallel computing and hardware<br> |
+ | [https://uvle.upd.edu.ph/mod/quiz/view.php?id=235662 <nowiki>[SQ06] Quiz</nowiki>]<br> | ||
| | | | ||
+ | [[:File:Coe163 2s2122 11a parallel programming intro.pdf | [11a slides]]]<br> | ||
+ | [[:File:Coe163 2s2122 11b parallel programming hardware.pdf | [11b slides]]] | ||
|- | |- | ||
| 12 | | 12 | ||
| | | | ||
− | + | [12x] Parallel programming algorithms | |
− | |||
| | | | ||
− | |||
| | | | ||
|- | |- | ||
| 13 | | 13 | ||
| | | | ||
− | + | [13a] GPU programming basics<br> | |
− | + | [13b] CUDA programming with Numba | |
| | | | ||
[CE] Capstone exercise | [CE] Capstone exercise | ||
Line 177: | Line 185: | ||
| 17 | | 17 | ||
| | | | ||
− | + | Finals week | |
| | | | ||
| | | |
Latest revision as of 10:34, 7 May 2022
Course Information
Academic Period: 2nd Semester AY 2021-2022
Units: 3
Workload:
- 3 hours lecture per week
- 1-2 hours exercise per week
Instructors:
- Isabel M. Austria [isabel.austria at eeemail]
- Carl C. Dizon [carl.dizon at eeemail]
- Darvy P. Ong [darvy.ong at eeemail]
- Nestor Michael C. Tiglao [nestor at eeemail]
Student Assistants:
- Brian Bascos
- Christian Eric Cosca
- Jean Abigail de Padua
Synopsis: This course aims to 1) present the connection between algorithms, implementation, and computer architecture, 2) provide tools needed to write and apply fast numerical code, and 3) present representative fundamental numerical algorithms.
Delivery Method: Video lectures and digital materials
Online Platforms: UVLe, Piazza, Google Meet, Zoom, other quiz platforms.
Course Outline
Week | Topics | Academic Requirements | Resource Links |
---|---|---|---|
0 |
[00] Course overview and synopsis |
||
1 |
[01a] Review of CS data structures and algorithms |
[SQ01] CS problems |
|
2 |
[02a] Review of asymptotic analysis |
[SQ02] Asymptotic analysis |
|
3 |
[03a] Choosing a platform |
[SE01] Profiling and assembly |
[[ | [03a slides]]] |
4 | |||
5 |
[04a] Review of linear algebra operations |
[SQ03] Linear algebra |
|
6 |
[05a] Cache behavior of linear algebra operations |
[SQ04] Matrix-matrix multiplication |
|
7 |
[06a] BLAS and ATLAS |
[SE03] BLAS |
|
8 | READING BREAK
|
||
9 | LENTEN BREAK
|
||
10 |
[10a] Gaussian elimination |
[SQ05] Sparse matrices and BLAS |
|
11 |
[11a] Parallel computing introduction |
[SQ06] Parallel computing and hardware |
|
12 |
[12x] Parallel programming algorithms |
||
13 |
[13a] GPU programming basics |
[CE] Capstone exercise |
|
14 | READING BREAK
| ||
15 | |||
16 | |||
17 |
Finals week |
Grading Rubric
32% Short quizzes
48% Software exercises
20% Capstone exercise