Changes

Jump to: navigation, search

SPO600

106 bytes added, 19:01, 10 January 2022
no edit summary
!style="background: #cccccc"| Quick Links
|-
|<div style="background:#ffff00">[[Current SPO600 Weekly Schedule|Weekly Schedule]]</div>[[Fall 2017 Current SPO600 Participants|Participants and Project Table]]<br />[httphttps://wwwtelescope.cdot.systems Telescope]<br />[https://ict.senecacollege.ca/ssos/findWithoutSemestercourse/spo600/sict Course Outline]<br />[[media:SPO600 Course PoliciesWinter 2022 addendum.pdf|Course PoliciesWinter 2022 Addendum]]<br />[http://linaro.org Linaro]<br /><!--[http://performance.linaro.org Linaro Performance ChallengeSPO600 Course Policies|Course Policies]<br /> -->[http://zenit.senecac.on.ca/~chris.tyler/planet/ Planet CDOT]<br />
|}[[Category:SPO600]]
<!-- {{Admon/tip|Thinking of taking this course?|[[SPO600 - Information for Prospective Students|Here is some information for prospective students.]]}}-->
= Software Portability and Optimization =
SPO600 is a professional option in the [http://ict.senecac.on.ca/ Seneca School of Information and Communication Technology] [https://ict.senecacollege.ca/academic-programs/cty/overview CTY] and [https://ict.senecacollege.ca/academic-programs/cpa/overview CPA] programs. First offered: Winter 2014.
== SPO600 in Fall 2017 2022 ==
A new computer architecture has appeared: 64-bit ARM systems (also known as "ARM64" or "AArch64"). While AArch64 is showing up in cell phones and tablets, it is also poised to pounce on the datacentre. Most of the work of porting core software to AArch64 has been completed, and at this point, just about everything that runs on x86_64 Linux systems will run an AArch64 systems. However, the x86_64 architecture has been around for many years, and software has been well-optimized to work on that architecture; but AArch64 is relatively new, and it may be possible to get better performance with additional tuning and optimization.
In this semester, the SPO600 course will be focused on optimizing software on AArch64 systems, using specifically identifying areas where the [http://leapproject.ca LEAP], [http://fedoraproject.org Fedora], and [http://centos.org CentOS] projects as ARMv9 ''Scaleable Vector Extensions 2'' (SVE2) technology can provide a starting point. We will be benchmarking the performance of open source software stacks on AArch64 relative to the raw performance of the hardware and searching for optimization opportunitiesbenefit.
Note that, unlike some other project-based courses, the results of the projects done in SPO600 will be incorporated into the actual "upstream" open source software, and have a real impact on other people. For this reason, projects must be completed in collaboration with the relevant open source communities, using relevant [[SPO600 Communication Tools|communication tools]]. Work performed in this course will be licensed using the relevant open source licenses used by the associated community.
'''Strongly Recommended:'''
* Classes are held in an [[Active Learning Classroom]]. You '''should''' have a mobile device of some type (laptop, smartphone, tablet) with a wireless network connection (WiFi or mobile) and a video output (VGA or HDMI). If your video output is of a different type (VGA/DVI/DP/Miracast/MyDP/MiniDP/MiniHDMI/other) you will need an appropriate adapter.
* For productivity, you '''should''' have access to a personal Linux installation on a 64-bit (x86_64) computer (see [[SPO600 Host Setup]]).
* '''If availableOptionally''', students in the SPO600 course may want to purchase a 64-bit [https://www.96boards.org/ 96Boards] computer (such as , or alternately a [https://www.96boardsraspberrypi.org/products/hikeyraspberry-pi-4-model-b/ HiKeyRaspberry Pi 4] or [https://www.96boardsraspberrypi.org/products/dragonboard410craspberry-pi-3-model-b-plus/ DragonBoard 410c3b+]-- but you will need to run a 64-bit operating system, such as [https://fedoraproject.org/wiki/Architectures/ARM/Raspberry_Pi Fedora AArch64] (note that AArch64 support is still pending for the Pi4 as of September 2019).
=== Professor ===
There are three keys to success in this course:
1. '''Work ''in'' the open source communityBlog.''' The projects we will be doing are too large and too unfamiliar for you to succeed entirely on Tell your own. You will need to use the community's knowledgeprofessor, connectionsyour colleagues, and resources to succeed well. Respect the community's standards, tell the community and everyone else what you're doing. <u>Write a lot</u> and write well, ask when you have a questioninclude good technical content, and incorporate links to all relevant resources and the product of your work, and pull write often. Almost all of your own weight within the communitywork in this course is submitted by blogging.
2. '''BlogBe ambitious.''' Tell your professorIn this course, you will need to be the driving force behind your colleagues, the project. The communitywill help you, and everyone else what but it's up to you're doing. <u>Write a lot</u> and write well, include good technical content, and incorporate links to all relevant resources and supply the product of your work, and write often. Almost all of your work in this course is submitted by bloggingenergy.
3. '''Be ambitiousWork ''in'' the open source community.''' In this course, The projects we will be doing are too large and too unfamiliar for you to succeed entirely on your own. You will need to be use the driving force behind your projectcommunity's knowledge, connections, and resources to succeed well. The Respect the community's standards, tell the community will help what you're doing, but it's up to ask when you to supply have a question, and pull your own weight within the energycommunity.
== Course Outline ==
See the online [https://ict.senecacollege.ca/course/spo600 course outline] for course details, and the [[media:SPO600 Winter 2022 addendum.pdf|Winter 2022 Addendum]] for additional course details.

Navigation menu