Difference between revisions of "CoE 163 S2 AY 2020-2021"

From Microlab Classes
Jump to navigation Jump to search
m
m
Line 71: Line 71:
 
| 4
 
| 4
 
||
 
||
* Cache behavior of linear algebra algorithms
+
* [04a] Review of linear algebra operations
* Review of linear algebra operations
+
* [04b] Solving problems using linear algebra
* Solving problems using linear algebra
+
* [04c] Cache behavior of linear algebra algorithms
 
||
 
||
 
* Short quiz
 
* Short quiz
 
||
 
||
 +
[[:File:CoE163_04a_linear_algeb_ops.pdf | [04a slides]]]<br>
 +
[[:File:CoE163_04b_linear_algeb_problems.pdf | [04b slides]]]<br>
 +
[[:File:CoE163_04c_linear_algeb_considerations.pdf | [04c slides]]]<br>
 
|-
 
|-
 
| 5
 
| 5

Revision as of 19:13, 16 April 2021

Course Information

Academic Period: 2nd Semester AY 2020-2021
Units: 3
Workload:

  • 3 hours lecture per week
  • 1-2 hours exercise per week

Instructors:

  • Carl C. Dizon [carl.dizon at eeemail]
  • Isabel A. Montes [isabel.austria at eeemail]
  • Nestor Michael C. Tiglao [nestor at eeemail]

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 Expected Academic Requirements Resource Links
0
  • [00] Course overview and synopsis
  • [00] Course requirements

[syllabus]
[00 slides]

1
  • [01a] Review of CS data structures and algorithms
  • [01b] Problem identification and solving
  • Short quiz

[01a slides]
[01b slides]

2
  • [02a] Review of asymptotic analysis
  • [02b] Amortized analysis
  • [02c] Platform-dependent programming
  • Short quiz

[02a slides]
[02b slides]

3
  • [03a] High-level code translation to memory
  • [03b] Introduction to parallel programming
  • [03c] Introduction to x86 assembly
  • Machine exercise

[03a slides]
[03b slides]
[03c slides]

4
  • [04a] Review of linear algebra operations
  • [04b] Solving problems using linear algebra
  • [04c] Cache behavior of linear algebra algorithms
  • Short quiz

[04a slides]
[04b slides]
[04c slides]

5
  • Memory optimization of matrix-matrix multiplication
  • Automatically-tuned linear algebra software
  • Short quiz
6
  • Gaussian elimination
  • Matrix inversion
  • Machine exercise
7
  • Sparse linear algebra
  • Matrix decomposition
  • Machine exercise
8
  • Parallel computing concepts
  • Limits of parallel computing
  • Short quiz
9
  • Single instruction multiple data vectorization
  • OpenCL/OpenMP
  • Machine exercise
10
  • GPU programming introduction
  • Machine exercise
11
  • Parallel computing algorithms
  • Short quiz
12
  • Capstone exercise

Grading Rubric

25% Short quizzes
50% Machine exercises
25% Capstone exercise