Changes

Jump to: navigation, search

SPO600 SIMD Lab

30 bytes added, 21:39, 2 October 2019
Optional
=== Optional ===
Extend the inline and C intrinsics versions of the code to operate correctly on either AArch64 or x86_64 systems. Use preprocessor directives to select the correct assembler/intrinsic code for each platform (for example, <code>#ifdef __ARM_ARCH_ISA_A64</code> to select the AARCH64 code) -- use <code>cpp -dM /dev/null</code> to see all of the pre-defined macros for a given platform. Include equivalent C code so that if the program is compiled on a system which is not AArch64 and not x86_64, it will still work.
=== Deliverables ===
{{Admon/tip|Benchmarking is Hard|Accurate benchmarking (performance testing) requires careful, methodical, accurate work. Take the time to make sure that your test results are repeatable, accurately reflect ''only'' the time taken for volume scaling, and of sufficient magnitude to enable comparisons. <u>Do not</u> compare results between machines, but <u>do</u> compare different algorithms on the same machine. In order to have this lab accepted as complete, you will need to post reasonable test results.}}
Write up the lab on your blog. Make sure that the post makes sense to someone who does not know the course context -- write with enough background and detail that it makes sense to someone stumbling on to your blog post. Include answers to all of the questions marked with Q: in the source files, and include a detailed and accurate performance summary of the five different volume scaling approaches taken so far (Algorithms 0, 1, and 3 from the Algorithm Selection lab, and the two implementations from this lab). Reflect on the advantages and disadvantages of the various approaches.

Navigation menu