Sale!

CSC 461 PA6 – SIMD solved

Original price was: $30.00.Current price is: $25.00. $21.25

Category:

Description

5/5 - (2 votes)

• Submit program to perforce in your student directory
o Sub directory called:
 /PA6/…
o Fill out your PA6 Submission Report.pdf
 Place it in the same directory as your solution
 Enter the final Changelist number of your submission
 Write up a quick discussion in the report
• What you learned from this assignment so far
• Learn
o SIMD, Intrinsics
o Show off, you can program vector code!
0. Finish implementing Class Vect4D
• Required methods are prototyped out
o Make sure you add const and missing methods such as the big4
o Make everything constant when possible
• Vect4D – just like a 3D vector, except you add, sub, mult, div … all 4 elements {x,y,z,w}
o Multiply element by element { a.x*b.x -> c.x, a.y*b.y->c.y, …}
• I supplied vect*matrix and dot product, the rest is obvious
o Confused start a post
1. Convert a given Class Vect4D to Vect4D_SIMD
• Convert all methods to use intrinsics SIMD instructions
• Test the code with data provided that
1. Originally unaltered class (Vect4D) works.
2. Modify and compile the new SIMD class (Vect4D_SIMD) works.
3. Please verify that the new class creates the same output.
• Run the test in Debug and Release
1. Format your text file to look similar to sample text (keenan_output.txt)
Optimized C++
Programming Assignment
1
Optimized C++ PA -6
Fall 2015 Keenan
2. Convert a given Class Matrix to Matrix_SIMD
• Convert all methods to use intrinsics SIMD instructions
• Test the code with data provided that
1. Originally unaltered class (Matrix) works.
2. Modify and compile the new SIMD class (Matrix_SIMD) works.
3. Please verify that the new class creates the same output.
• Run the test in Debug and Release
1. Format your text file to look similar to sample text (keenan_output.txt)
3. Convert method Vect4D * matrix to Vect4D_SIMD * Matrix_SIMD
• Convert all methods to use intrinsics SIMD instructions
• Test the code with data provided that
1. Originally unaltered method (Vect4D * Matrix) works.
2. Modify and compile the new SIMD class (Vect4D_SIMD *Matrix_SIMD) works.
3. Please verify that the new class creates the same output.
• Run the test in Debug and Release
1. Format your text file to look similar to sample text (keenan_output.txt)
4. Convert static method LERP() to LERP_SIMD()
• Convert all methods to use intrinsics SIMD instructions
• Test the code with data provided that
1. Originally unaltered method (LERP) works.
2. Modify and compile the new SIMD class (LERP_SIMD) works.
3. Please verify that the new class creates the same output.
• Run the test in Debug and Release
1. Format your text file to look similar to sample text (keenan_output.txt)
General:
• Write all programs in cross-platform C or C++.
o Optimize for execution speed and robustness.
• Create a programming file for each problem, for example
o Student directory
 /PA6/…
o Make sure that each problem can be compiled and run through the checked in solution
• Do all your work by yourself
o Feel free to talk with others about setup, version control, ideas
o But do not copy your friend’s code.
 Please don’t – I can tell with my difference tools
o Feel free to share ideas
• Check in the problems multiple times, at least 3 times per problem
o Have reasonable check-in comments
o Seriously, I’m checking
Optimized C++
Programming Assignment
2
Optimized C++ PA -6
Fall 2015 Keenan
• Make sure that your program compiles and runs
o Warning level 4, some times that is not possible due to MS headers…
o Your code should be squeaky clean.
• We are using Perforce
o You should have received the document describing how to login.
 Please look at the documentation and videos under the reference directory
o Submit program to perforce in your student directory
 Sub directory called: /PA6/…
• As described above
o All your code must compile from perforce with no modifications.
 Otherwise it’s a 0, no exceptions
o Only Visual Studio 2013 allowed
Simple check list to make sure that everything is checked in correctly
• Did you do all SIMD problems?
• Do they compile and run without any errors?
• Warning level 4 free (or as close as you can go)?
• Did you fill out the submission report?
• Submitted it into /PA6 directory?
• Can you delete you local drive, regrab the /PA6 directory?
o Is all the code there?
o Does it compile?
• Did you check in your text files?
Most assignments will have hints in a section like this.
• Do many little check-ins
o Iteration is easy and it helps.
o Perforce is good at it.
• Look at the lecture notes!
o A lot of good ideas in there.
o The code in the examples work.
• It’s a puzzle
o Keep trying to work at piecing the instructions together
o Hunt the manual for ideas…
 http://msdn.microsoft.com/en-us/library/y0dh78ez%28v=vs.100%29.aspx
• Use the FORUMs
o This is much harder than the last assignment.
o See me during office hours.
o Read, explore, ask questions in class
Optimized C++
Programming Assignment
3