Changes

Jump to: navigation, search

Winter 2016 SPO600 Weekly Schedule

4,147 bytes added, 12:20, 21 November 2016
no edit summary
[[Category:Winter 2016 SPO600]]
{{Admon/important|It's Alive!|This [[SPO600]] weekly schedule will be updated as the course proceeds - dates and content are subject to change. The cells in the summary table will be linked to relevant resources and labs as the course progresses.obsolete}}
* Previous semester: [[Fall 2015 SPO600 Weekly Schedule]].
|-
|5||Feb 8|||[[#Tuesday (Feb 9)|SIMD and Auto-Vectorization Algorithm Selection Lab (Lab 65)Continued]]||[[#Friday (Feb 12)|Memory Barriers SIMD and Synchronization; Inline Assembler Auto-Vectorization (Lab 76)]]||[[#Week 5 Deliverables|Blog your the Auto-Vectorization Algorithm Selection Lab (Lab 65) and Inline Assembler the Auto-Vectorization Lab (Lab 76).]]
|-
|6||Feb 15||[[#Tuesday (Feb 16)|Project OverviewMemory architecture]]||[[#Friday (Feb 19)|Project SelectionInline Assembler Lab (Lab 7)]]||[[#Week 6 Deliverables|Blog about your selected projectInline Assembler Lab (Lab 7).]]
|-
|7||Feb 22||[[#Tuesday (Feb 23)|Project StartupCourse Presentation Assignment]]||[[#Friday (Feb 26)|Project Stage I UpdatesStartup]]||[[#Week 7 Deliverables|Blog about your Stage I updatesselected presentation and project topics.]]
|-style="background: #f0f0ff"
|-
|8||Mar 7||style="background:#f0f0ff" colspan="2" align="center"|Linaro Connect - No classes. Prepare for your presentationand work on your project.||[[#Week 8 Deliverables|Prepare for your presentationand work on your project.]]
|-
|9||Mar 14||[[#Tuesday (Mar 15)|Presentations]]||[[#Friday (Mar 18)|Presentations]]||[[#Week 9 Deliverables|Blog about your presentationPresentation.]]
|-
|10||Mar 22||[[#Tuesday (Mar 23)|Project Stage II I Updates]]||[[style="background:#f0f0ff"|Good Friday (Mar 26)|Discussion & Hack Session]]- No Classes||[[#Week 10 Deliverables|Blog about your Stage II updatesI Update.]]
|-
|11||Mar 28||[[#Tuesday (Mar 29)|Guest LectureDiscussion & Hack Session]]||[[#Friday (Apr 1)|Discussion & Hack Session]]||[[#Week 11 Deliverables|Blog about your projectwork.]]
|-
|12||Apr 4||[[#Tuesday (Apr 5)|Discussion & Hack Session]]||[[#Friday (Apr 8)|Discussion & Hack SessionProject Stage II Updates]]||[[#Week 12 Deliverables|Blog about your projectStage II Update.]]
|-
|13||Apr 11||[[#Tuesday (Apr 12)|Project Stage III UpdatesWrap-Up Discussion]]||[[#Friday (Apr 15)|Wrap-up DiscussionProject Stage III Updates]]||[[#Week 13 Deliverables|Blog about your project, including the Stage III Update, and write a wrap-up post about the course.]]
|-
|-style="background: #f0f0ff"
|Exam Week||Dec 14Apr 18||colspan="3" align="center"|Exam Week - No exam in this course!
|}
|Quizzes||align="right"|10%||May be held during any class, usually at the start of class. A minimum of 5 one-page quizzes will be given. No make-up/retake option is offered if you miss a quiz. Lowest 3 scores will not be counted.
|-
|Labs||align="right"|10%||See deliverables column above. All labs must be submitted by April 21.
|-
|Project work||align="right"|60%||3 stages: 15% (TBAMarch 29) / 20% (TBAApril 10) / 25% (TBAApril 21)
|}
'''Reminder:''' Blogs will be marked as they stand at the end of the month (Sunday).
 
== Week 4 ==
 
=== Tuesday (Feb 2) ===
 
Software Optimization
* [[Compiler Optimizations]]
* Algorithm Selection
 
=== Friday (Feb 5) ===
 
* [[SPO600 Algorithm Selection Lab|Algorithm Selection Lab]] (Lab 6)
 
=== Week 4 Deliverables ===
 
* Blog about your Lab 5 results.
 
== Week 5 ==
 
=== Tuesday (Feb 9) ===
 
* Finish the [[SPO600 Algorithm Selection Lab|Algorithm Selection Lab]]
* Discussion of Benchmarking Challenges
* Introduction to Vector Processing/SIMD
 
=== Friday (Feb 12) ===
 
* [[SPO600 Vectorization Lab|Vectorization Lab]] (Lab 6)
 
==== Week 5 Deliverables ====
 
* Blog your results for the [[SPO600 Algorithm Selection Lab|Algorithm Selection Lab]] (Lab 5)
* Blog your results for the [[SPO600 Vectorization Lab|Vectorization Lab]] (Lab 6)
* For each of the above, be sure to include links to your code, detailed results, and your reflection on the lab.
 
== Week 6 ==
 
=== Tuesday (Feb 16) ===
* Discussion of Memory Architecture
 
=== Friday (Feb 19) ===
* [[Inline Assembly Language]] -- often used for:
*# Implementing a memory barrier
*# Performing an [[Atomic Operation]]
*# Gaining performance (by accessing processor features not exposed by the high-level language being used (C, C++, ...))
* [[SPO600 Inline Assembler Lab|Inline Assembler Lab]] (Lab 7)
 
=== Week 6 Deliverables ===
* Blog your Lab 7 results.
 
== Week 7 ==
 
=== Tuesday (Feb 23) ===
* Discussion of [[Winter 2016 SPO600 Compiler Options Presentation|Course Presentation]] assignment
 
=== Friday (Feb 26) ===
* Discussion of the [[Winter 2016 SPO600 Project|Course Project]]
 
=== Week 7 Deliverables ===
* Blog about your selected Presentation and Project topics.
 
== Week 8 ==
 
[http://connect.linaro.org/bkk16/|Linaro Connect] - No classes.
 
=== Week 8 Deliverables ===
 
* Prepare for your Presentation
* Work on your Project
* Blog about what you're doing!
 
== Week 9 ==
 
=== Tuesday (Mar 14) ===
 
* [[Winter 2016 SPO600 Compiler Options Presentation|Presentations]]
 
=== Friday (Mar 18) ===
 
* [[Winter 2016 SPO600 Compiler Options Presentation|Presentations]]
 
=== Week 9 Deliverables ===
 
* Blog about your Presentation, incorporating any discussion or feedback during the presentation.
 
== Week 10 ==
 
=== Tuesday (Mar 22) ===
 
* [[Winter 2016 SPO600 Project|Course Project]] - Stage I Updates
 
=== Week 10 Deliverables ===
 
* Blog your Stage I Updates. '''Important!''' - this will be used to assign your Stage I project mark! Include:
** Which software package you are working on
** Your experience building the software "out of the box" on x86_64 and AArch64 platforms
** Baseline results (performance)
** Which area of the software you will be working on and which approach you are going to take to optimizing the software...
**# Improving the Build Instructions (e.g., compiler options), OR
**# Changing the Software (substituting a different algorithm, or refactoring for better compiler optimization e.g., auto-vectorization), OR
**# Adding Platform-Specific code for AArch64
 
== Week 11 ==
 
=== Tuesday (Mar 29) ===
 
* Discussion & Hack Session
 
=== Thursday (Mar 31) ===
 
Reminder: '''Special Event:''' [https://www.eventbrite.ca/e/leadership-lunch-with-mike-shaver-engineer-director-for-facebook-tickets-23046621064 Leadership Lunch with Mike Shaver]
 
=== Friday (Apr 1) ===
 
* Discussion & Hack Session
 
=== Week 11 Deliverables ===
 
* Blog about your project work.
 
 
== Week 12 ==
 
=== Tuesday (Apr 5) ===
 
* Discussion & Hack Session
 
=== Friday (Apr 8) ===
 
* Project Stage II Updates
 
=== Week 12 Deliverables ===
 
* Blog your Stage II Project Updates by '''Midnight, Sunday, Apr 10.''' Note that this will be used for your Stage II project mark (20%).
 
== Week 13 ==
 
=== Tuesday (Apr 12) ===
 
* Wrap-Up Discussion
 
=== Friday (Apr 15) ===
 
* Stage III Project Updates
 
=== Week 13 Deliverables ===
 
* Blog your Stage III Project Updates by Midnight on Thursday, April 21.
 
* Complete ALL your blogging for this course by Midnight on Thursday, April 21. Make sure that you have included all of the labs, your presentation, and your project work. Remember that there should be at least 1-2 posts per week. Your blogging from April 1-April 21 will be used for your April communication mark.
 
<!-- == Week 2 ==

Navigation menu