Open main menu

CDOT Wiki β

Changes

Fall 2022 SPO600 Weekly Schedule

25 bytes added, 09:20, 14 September 2022
no edit summary
[[Category:Fall 2022 SPO600]]
This is the schedule and main index page for the [[SPO600]] ''Software Portability and Optimization'' course for Fall 2022.
<!-- {{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.}} <!-->{{Admon/important|Content being Updated|This page is in the process of being updated from a previous semester's content. It is not yet updated for the current semester. Do not rely on the accuracy of this information until this warning is removed.}}-->
<!-- {{Admon/obsolete|[[Current SPO600 Weekly Schedule]]}} -->
|1||Sep 5||[[#Week 1 - Class I|Introduction to the Course / Introduction to the Problem / Computer Architecture Basics]]||[[#Week 1 - Class II|Binary Representation of Data]]||[[#Week 1 Deliverables|Set up for the course / Lab 1]]
|-
|2||Sep 12||[[#Week 2 - Class I|Introduction to 6502 Assembly]]||[[#Week 2 - Class II|Writing and Debugging 6502 Code / Assembly Language Conventions / Using Macros EffectivelyStrings]]||[[#Week 2 Deliverables|Lab 2]]
|-
|3||Sep 19||[[#Week 3 - Class I|6502 Math / Jumps, Branches, and Subroutines]]||[[#Week 3 - Class II|6502 StringsBuilding Code / Make and Makefiles / Autotools and Friends]]||[[#Week 3 Deliverables|Lab 3]]
|-
|4||Sep 26||[[#Week 4 - Class I|Compiler Optimizations]]||[[#Week 4 - Class II|Building Code ELF Files / Make and Makefiles / Autotools and FriendsShared Libaries]]||[[#Week 4 Deliverables|Lab 3, September blog posts]]
|-
|5||Oct 3||[[#Week 5 - Class I|Introduction to 64-bit Architectures - Registers and Assembly Language (x86_64 and AArch64)]]||[[#Week 5 - Class II|Memory on 64-bit Systems]]||[[#Week 5 Deliverables|Lab 3]]
|-
|6||Oct 10||[[#Week 6 - Class I|64-Bit Assembly Language - Part 1Single Instruction, Multiple Data (SIMD) / Scalable Vector Extensions (SVE/SVE2)]]||[[#Week 6 - Class II|64-Bit Assembly Language - Part 2Indirect Functions (GCC ifunc)]]||[[#Week 6 Deliverables|Lab 4]]
|-
|7||Oct 17||[[#Week 7 - Class I|Optimization Trade-Off / Algorithm Selection / BenchmarkingProject Introduction]]||[[#Week 7 - Class II|SIMD / Algorithm Project Selection]]||[[#Week 7 Deliverables|Lab 5]]
|-
|Reading||Oct 24||style="background: #f0f0ff" colspan="3" align="center"|Reading Week
|-
|8||Oct 31||[[#Week 8 - Class I|Sclable Vector Extensions v2 (SVE2)Optimization Trade-Offs / Algorithm Selection]]||[[#Week 8 - Class II|Project Stage 1Inline Assembler]]||[[#Week 8 Deliverables|Lab 6, October blog posts]]
|-
|9||Nov 7||[[#Week 9 - Class I|Project Discussion 1]]||[[#Week 9 - Class II|---Demo/discussion of SVE2 Examples]]||[[#Week 9 Deliverables|Blog about project work]]
|-
|10||Nov 14||[[#Week 10 - Class I|Project Discussion 2]]||[[#Week 10 - Class II|GCC and SVE2Memory Barriers]]||[[#Week 10 Deliverables|Blog about project work]]
|-
|11||Nov 21||[[#Week 11 - Class I|Project Discussion 3]]||[[#Week 11 - Class II|SVE2 ExamplesAdvanced Memory Systems]]||[[#Week 11 Deliverables|Blog about project work]]
|-
|12||Nov 28||[[#Week 12 - Class I|Demo/discussion of SVE 2 ExamplesProject Discussion]]||[[#Week 12 - Class II|SVE2 Examples Part 2Compiler Technology]]||[[#Week 12 Deliverables|Blog about project work, November blog posts]]
|-
|13||Dec 5||[[#Week 13 - Class I|Memory SystemsProject Discussion]]||TBA[[#Week 13 - Class II|Final project instructions]]||[[#Week 13 Deliverables|Blog about project work]]
|-
|14||Dec 12||[[#Week 14 - Class I|Future Directions in Architecture]]||style="background: #f0f0ff"|(No class)||[[#Week 14 Deliverables|Project Stage 3, December blog posts]]