Open main menu

CDOT Wiki β

Changes

SPO600 Vectorization Lab

3 bytes removed, 22:38, 1 October 2017
no edit summary
# Write a short program that creates two 1000-element integer arrays and fills them with random numbers, then sums those two arrays to a third array, and finally sums the third array to a long int and prints the result.
# Compile this program on [[SPO600 Servers#AArch64: aarchie|aarchie]] in such a way that the code is auto-vectorized.
# Annotate the emitted code (i.e., obtain a dissassembly via <code>objdump -d</code> and add comments to the instructions in <code>&lt;main&gt;</code> explaining what the code does). '''Prove that the code is vectorized''', for example, by pointing out the use of vector registers and SIMD instructions.# '''Write a blog post discussing your findings'''. Include:
#* The source code
#* The compiler command line used to build the code
#* Your annotated dissassembly listing- '''Prove that the code is vectorized''', for example, by pointing out the use of vector registers and SIMD instructions.
#* Your reflections on the experience and the results