Open main menu

CDOT Wiki β

Changes

Fall 2023 SPO600 Weekly Schedule

1,229 bytes added, 23 January
no edit summary
[[Category:Fall 2023 SPO600]]
This is the schedule and main index page for the [[SPO600]] ''Software Portability and Optimization'' course for Fall 2023.
<!-- {{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]]}} -->
|Reading||Oct 23||style="background: #f0f0ff" colspan="3" align="center"|Reading Week
|-
|8||Oct 30||[[#Week 8 - Class I|Optimization Trade-Offs / Algorithm Selection / Inline Assembler / SIMD]]||[[#Week 8 - Class II|Scalable Vector Extensions (SVESIMD /SVE2) via Inline Assembler and C Intrinsics/ SVE & SVE2]]||[[#Week 8 Deliverables|October blog postsLab 4]]
|-
|9||Nov 6||[[#Week 9 - Class I|GNU ifunc SVE & Project OverviewSVE2 / Compiler Options for Architecture Target]]||[[#Week 9 - Class II|Project DetailStage 2 Discussion]]||[[#Week 9 Deliverables|Blog about ifunc and your project work]]
|-
|10||Nov 13||[[#Week 10 - Class I|Project TipsMemory]]||[[#Week 10 - Class II|Advanced MemoryProfiling]]||[[#Week 10 Deliverables|Blog about project work]]
|-
|11||Nov 20||[[#Week 11 - Class I|Project Techniques]]||[[#Week 11 - Class II|Project Demo]]||[[#Week 11 Deliverables|Blog about project work]]
==== Video ====
* [https://web.microsoftstream.com/video/a4707dd6a4707Project Detaildd6-b0df-409b-8168-58ec21a06c1b 6502 Strings] - This video crosses over with the last part of the Monday lecture, but adds some additional detail.
* [https://web.microsoftstream.com/video/9caa5e8d-0f15-4b8b-9293-0151c82f77b1 6502 String Input] - How to create a custom input routine, plus a discussion of the Wordle example code
* [https://web.microsoftstream.com/video/f22220d6-9c87-4d23-aaf8-95f681756c41 6502 Emulator Assembler Directives] - A short video on using the 'define' and 'dcb' directives
* Blog!
== Week 8 ==
=== Week 8 - Class I ===
 
* Discussion of Algorithm Selection for Optimization
 
=== Week 8 - Class II ===
 
* Discussion of SIMD, including SVE and SVE2
** Demonstrated (not assigned - you can use this for reference but do not have to complete this lab): [[SPO600 SIMD Lab|SIMD Lab]]
* Discussion of ifunc (Indirect Functions)
** Demonstrated ifunc example code from this GitHub repo: https://github.com/ctyler/ifunc-aarch64-demo
** It is recommended that you build and become familiar with that code
 
=== Week 8 Deliverables ===
 
* Complete and blog about [[SPO600 64-bit Assembly Language Lab|Lab 4]]
 
== Week 9 ==
 
=== Week 9 - Class I ===
 
* Discussion of [[SVE2|Scalable Vector Extensions]]
** Demonstrated SVE example code from this GitHub repo: https://github.com/ctyler/sve2-test
** It is recommended that you build and become familiar with that code
 
=== Week 9 - Class II ===
 
* Discussion of [[Fall 2023 SPO600 Project#Stage 2|Project Stage 2]]
 
=== Week 9 Deliverables ===
* Work on and blog about your [[Fall 2023 SPO600 Project#Stage 2|Project Stage 2]]
 
== Week 10 ==
 
=== Week 10 - Class I ===
* Discussion of Memory concepts
 
=== Week 10 - Class II ===
* Discussion of [[Profiling]]
 
=== Week 10 Deliverables ===
* Work on and blog about your Project Stage 2
<!--
==== Video ====
* [https://web.microsoftstream.com/video/30fa002e-9e3d-41f6-95db-36832a8a509c Edited Class ClassAdvanced Memory Summary Video]
==== Reading Resources ====