1,885
edits
Changes
→Stage 3: Upstreaming
== Stage 3: Upstreaming ==
<s>
# Get your changes into the upstream codebase, if applicable.
#* If this is not practical, prepare recommendations on future work with the package and SVE2
</s>
# Provide a detailed analysis of your solution. Include:
## A disassembly of the SVE2 code in your solution (regardless of whether it's there through autovectorization, inline assembly, or the use of the ACLE intrinsics). Explain in detail how the code works. (If you have used the autovectorizer, choose one or two places where SVE2 code was generated - you don't have to cover all of them).
## Explain how you think the SVE2 code will perform compared to the original code, and why.
## Show that the final version of the program works as well as the original version (e.g., process the same data with both programs and compare the output, or otherwise test the operation of the program).
## Any other analysis that you think is useful. For example, you could choose some combination of these:
##* Show that your changes don't break the build or cause improper or slower operation on other platforms (like x86_64).
##* If you used the autovectorizer, analyze some of the loops that were not vectorized and the reason(s) that they were not vectorized. Analyze whether it matters (for examples, vectorizing a trivial loop won't have much impact).
##* Discuss how a version of the software could be built that would choose at runtime whether to use SVE2 instructions (if available) or not (if unavailable).
##* Recommend the next steps that could/should be taken to continue your work (for example, other functions/methods that should be optimized for SVE2).
# Reflect on the process of doing this project, what parts (if any!) were interesting, and what skills or knowledge (if any!) you think you might be able to use in the future.
'''Due: Friday, April 22, 11:59 pm (firm)'''
== Resources ==