Changes

Jump to: navigation, search

Fall 2015 SPO600 Weekly Schedule

4,605 bytes added, 16:19, 26 December 2015
no edit summary
{{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.}}
For the * Previous semester: [[Winter 2015 version of the weekly schedule, see SPO600 Weekly Schedule]].* Following semester: [[Winter 2015 2016 SPO600 Weekly Schedule]].
== Schedule Summary Table ==
|-
|4||Sep 28||[[#Tuesday (Sep 29)|Presentations on compiler options.]]||[[#Thursday Friday (Oct 2)|Working with code / Building software Algorithm Selection Lab (Lab 3)]]||[[#Week 4 Deliverables|Blog about your presentation and about your experience building code (Lab 3).]]
|-
|5||Oct 5|||[[#Tuesday (Oct 6)|Benchmarking Discussion/hacking on the Algorithm Selection Lab (Lab 43)]]||[[#Thursday Friday (Oct 9)|Project IntroductionAlgorithm Selection (continued) and Benchmarks]]||[[#Week 5 Deliverables|Blog your baseline benchmarks (Lab 4)3 results.]]
|-
|6||Oct 12||[[#Tuesday (Oct 13)|Build Algorithm Selection (continued) / Start to plan a compiler options test tool.]]||[[#Thursday Friday (Oct 16)|Build Plan & build a compiler options test tool.]]||[[#Week 6 Deliverables|Blog about your design recommendations for the compiler options test tool.]]
|-
|7||Oct 19||[[#Tuesday (Oct 20)|Project Status - Stage IBuild the compiler options test tool.]]||[[#Thursday Friday (Oct 23)|Project discussions and hackingselection.]]||[[#Week 7 Deliverables|Blog about the compiler options test tool and your selected project - this will be used to assign your first project mark.]]
|-style="background: #f0f0ff"
|-
|8||Nov 2||No class scheduled. [[#Tuesday (Nov 3)|Computer architecture primerWork on the Course Project.]]||[[#Thursday Friday (Nov 6)|Assembler Lab (Lab 5).Project Status - Stage I]]||[[#Week 8 Deliverables|Blog about your project progress - this will be used to assign your 1st Project marks - as well as the Assembler Lab (Lab 5).]]
|-
|9||Nov 9||[[#Tuesday (Nov 10)|UpstreamingComputer Architecture Overview]]||[[#Thursday Friday (Nov 13)|Spinlocks, Tail Call OptimizationAssembler lab (Lab 4)]]||[[#Week 9 Deliverables|Blog about your project work and upstream interactionsLab 4.]]
|-
|10||Nov 16||[[#Tuesday (Nov 17)|Project Status - Stage II.Discussion & Hack Session]]||[[#Thursday Friday (Nov 20)|Inline assembler.Discussion & Hack Session - Framework]]||[[#Week 10 Deliverables|Blog about your project progress - this will be used to assign your second project marks.]]
|-
|11||Nov 23||[[#Tuesday (Nov 24)|SIMDand Auto-vectorization (Lab 5)]]||[[#Thursday Friday (Nov 27)|GCC Auto-vectorization (Lab 6)Framework Discussion and Hack Session]]||[[#Week 11 Deliverables|Blog about Lab 6 as well as SIMD/vectorization and your project(Lab 5).]]
|-
|12||Nov 30||[[#Tuesday (Dec 1)|Discussion & Benchmarking Discussions and Hack Session]]||[[#Thursday Friday (Dec 4)|Synthesis of project results.Memory Barriers, Spinlocks, Inline Assembler, and Tail Call Optimizations]]||[[#Week 12 Deliverables|Blog about your work.]]
|-
|13||Dec 7||[[#Tuesday (Dec 8)|Project Presentations Status - Stage 3II]]||style="background: #f0f0ff"|(Exams in progress - no class)||[[#Week 13 Deliverables|Blog about your project progress - this will be used to assign your 3rd project marks.]]
|-
|-style="background: #f0f0ff"
|Exam Week||Dec 14||colspan="3" align="center"|Exam Week - No exam in this course!However, be sure to complete your '''[[#Final Deliverables|Final Deliverables]] by 11:59 pm on Friday, December 18'''.
|}
* Sheets from Last Week
** Open Source Student Agreement
** Survey (Optional)
=== Friday (Sep 18) ===
* Introductions
* [[Compiler Optimizations]]
* Introduction to the [[Fall 2015 SPO600 Compiler Options Presentation|Compiler Options Presentation]]
=== Week 2 Deliverables ===
=== Week 3 Deliverables ===
* Be prepared to give your [[Fall 2015 SPO600 Compiler Options Presentation|presentation]] on Tuesday of next week (September 29).
 
== Week 4 ==
 
=== Tuesday (Sep 29) ===
* Presentations
 
=== Friday (Oct 2) ===
* Presentations
* Introduction to ARM64 hardware
* [[SPO600 Algorithm Selection Lab|Algorithm Selection Lab (Lab 3)]]
 
=== Week 4 Deliverables ===
* Blog your [[Fall 2015 SPO600 Compiler Options Presentation|presentation]], incorporating any feedback and Q&A input that was given during/after the presentation in class.
 
== Week 5 ==
 
=== Tuesday (Oct 6) ===
* Class discussion/hacking on [[SPO600 Algorithm Selection Lab|Lab 3]].
 
=== Friday (Oct 9) ===
* More on Lab 3
* Discussion of Benchmarking
 
=== Week 5 Deliverables ===
* Blog your [[SPO600 Algorithm Selection Lab|Lab 3]] results.
 
== Week 6 ==
 
=== Tuesday (Oct 13) ===
* Discussion of benchmarking
** Control of variables
*** Competition for system resources
*** Repeatability
* Planning for a Compiler Options Test Framework
 
=== Friday (Oct 16) ===
* Compiler Options Framework
** Divide up tasks
** Start development
 
=== Week 6 Deliverables ===
* Blog your recommendations for the test framework design.
 
 
== Week 7 ==
 
=== Tuesday (Oct 20) ===
* Build the [[SPO600 Framework Project|Compiler Options Test Framework]]
 
=== Friday (Oct 23) ===
* Project selection
** Your task over reading week: Become an expert in building your selected software, and then make it work with the [[SPO600 Framework Project|Compiler Options Test Framework]]
 
=== Week 7 Deliverables ===
* Blog about the compiler options framework, and your work on that project.
* Blog about your selected project.
 
== Week 8 ==
 
=== Tuesday (Nov 3) ===
* No class scheduled - your [[User:Chris Tyler|prof]] is in Whitehorse, YK at an NSERC workshop.
* Please work on your [[Fall 2015 SPO600 Course Project|project]], and be ready to present on Friday.
 
=== Friday (Nov 6) ===
* Present your Stage I results for your [[Fall 2015 SPO600 Course Project|project]].
 
=== Week 8 Deliverables ===
 
* Blog about your [[Fall 2015 SPO600 Course Project|stage I project results]]. This will be used to assign the first marks for your project.
 
== Week 9 ==
 
=== Tuesday (Nov 10) ===
 
* [[Computer Architecture]] overview (see also the [[:Category:Computer Architecture|Computer Architecture Category]])
 
=== Friday (Nov 13) ===
 
* [[SPO600 Assembler Lab|Assembly language lab]] (lab 4)
 
=== Week 9 Deliverables ===
 
* Blog about your project progress (2+ posts per week).
* Blog the [[SPO600 Assembler Lab|Assembly language lab]] -- include your results, a link to your source code, and your reflections on the experience.
 
 
== Week 10 ==
 
=== Tuesday (Nov 17) ===
* Discussion & Hack Session
** [[SPO600 Assembler Lab|Assembly language lab (Lab 4) results]]
** Testing Framework
 
=== Friday (Nov 20) ===
* Hack session on the Testing Framework
 
=== Week 10 Deliverables ===
* Blog about your project work
* Blog about your Lab 5 results
 
== Week 11 ==
 
=== Tuesday (Nov 22) ===
* SIMD and Vectorization
* [[SPO600 Vectorization Lab|Vectorization Lab (Lab 6)]]
 
=== Friday (Nov 25) ===
* Discussion of the State of the Framework
* Hack Session
 
=== Week 11 Deliverables ===
* Blog your [[SPO600 Vectorization Lab|Lab 6]] results.
 
== Week 12 ==
 
=== Tuesday (Dec 1) ===
* Stage II Results - Brief Presentations
 
=== Friday (Dec 4) ===
* '''No Class''' - Early start to Exam Week
 
=== Week 12 Deliverables ===
* Blog about your Project Status - Stage II Results
** Provide results for the various flag combinations you tested
** Discuss the results, highlighting any anomalies
 
== Final Deliverables ==
* Blog about your Project Status - Stage III Results
** Important: Incorporate any feedback on your Stage II results
** Outline what you learned from your investigation into various combination of GCC flags
** Discuss what the upstream projects should do based on these results
** Communicate the results to the upstream project, if appropriate
** Outline further investigation that should be undertaken
* Blog a reflective blog post on the course
** What you have learned
** What you already knew
** What was good or bad about the way the course proceeded]
** How you might use this knowledge in the future
* This is the last chance to submit any lab postings, etc.
'''All blog postings must be in by Friday, December 18, at 11:59 pm to be included in the final grade.'''
<!--

Navigation menu