Difference between revisions of "SPO600 Vectorization Lab"
Chris Tyler (talk | contribs) (Created page with 'Category:SPO600 Labs {{Admon/lab|Purpose of this Lab|This lab is designed to explore single instruction/multiple data (SIMD) vectorization, and the auto-vectorization capabi…') |
(No difference)
|
Revision as of 11:09, 1 December 2015
Lab 6
- Write the shortest C program that can be vectorized by GCC.
- Compile this program on aarchie.
- Annotate the emitted code (i.e., obtain a dissassembly via
objdump -d
and add comments to the instructions in<main>
explaining what the code does). - Write a blog post discussing your findings. Include:
- The source code
- The compiler command line used to build the code
- Your annotated dissassembly listing
- Your reflections on the experience and the results
Resources
- Auto-Vectorization in GCC - Main project page for the GCC auto-vectorizer.
- Auto-vectorization with gcc 4.7 - An excellent discussion of the capabilities and limitations of the GCC auto-vectorizer, intrinsics for providing hints to GCC, and other code pattern changes that can improve results. Note that there has been some improvement in the auto-vectorizer since this article was written. This article is strongly recommended.