Description

No description, yet. Stay tuned!

General Information

No information, yet. Stay tuned!

Announcements

Some notes about the exam, bonus points, and the re-take exam
12/10/13 7:00 PM

Hi everyone!

Since some of you had questions about the exam, bonus points, and the re-take exam, here comes some info:

- It is possible to pass the course with grade "3" without attending the written examination provided that you have received all the bonus points (hand-ins + labs). Please inform Erik if you intend to skip the exam, so that he can report your grade to the student office.

- There will be two re-take exams: one in Easter, and another one in August/September.

- The bonus points are valid until the re-take exam in August/September 2014.

Good luck!

--

Mahdad

Course Evaluation on the Exam Day!
12/10/13 4:24 PM

Hi everyone!

You will be provided with a course evaluation sheet during the exam! Please fill in this evaluation sheet and hand it in together with your exam paper! Please refer to the instructions on the evaluation sheet on how you should fill it and how to hand it in (it needs to be TOTALLY anonymous, so please DO NOT even put your anonymous code on it!)

Your feedback is of great value and importance to us, enabling us to deliver a better course for the next years!

Good luck with the exam!

-- Mahdad

Please check your progress on the Studentportal!
12/06/13 10:04 AM

Hi everyone,

The progress section on the Studentportal is updated! Please check your progress and let us know if there is any mistake in registering your progress!

Good luck!

End Game module almost complete
11/21/13 9:21 PM

I have uploaded all but one of the videos for the End Game module. 

Deadline is moved one day to Nov 28.

Enjoy the IRL with David on Monday -- my favorite teacher.

//ERIK

Some information about the bonus part of lab4
11/21/13 2:03 AM

Hi everyone,

 

Since there was also some confusion regarding the bonus part of lab4 during the first lab session, and since my explanations might have added to the complexity of the problem (sorry about that), I am herewith uploading a document concerning the algorithm that is used to do the blocked multiplication. Once we comprehend the algorithm, it should be easier to translate it into SSE instructions. You can find the document "lab4bonus.pdf" at https://piazza.com/uu.se/fall2013/1dt024/resources

Also as you might have already noticed, there are functions available in "util.h", such as "print_vector_ps", which could be used to print the content of vector registers. These utilities could be very useful when debugging your code.

 

Please feel free to post your questions if you face any problems in this regard.

 

About last part of lab 4 (Task 7.1.1)
11/20/13 3:35 PM

Hi everyone,

Some of those who attended the lab session this morning might have experienced a little bit of confusion concerning the last part of the lab (Task 7.1.1). I do agree that it was a bit confusing! I was also confused, and maybe I made the situation more complicated as I was trying to clarify the task. Sorry about that!

However, please note that to implement a simple vectorized version of matrix multiplication ( matmul_sse() ), as the lab manual suggests, all we need to do is to unroll the inner loop of the reference implementation ( matmul_ref() ) four times. The reason we need to unroll it four times is that four floats (4x32 bits) could be packed inside an SSE vector (128 bits). In other words, all we need to do is to translate the matmul_ref() directly into vectorized version (taking into account the loop unrolling). As you can see, the reference implementation employs no optimization, such as matrix transposition, etc. Therefore, it is not needed to do any such optimization. Basically, we only need to translate the reference implementation into a vectorized one, as it is, operation by operation. Just focus on what will happen when you unroll the innermost loop (loop index j) four times, e.g. which operands should be duplicated, etc. As we are not doing any special optimization, therefore you should be able to implement it using the basic "_mm_add_ps" and "_mm_mul_ps" instructions.

Also please note that if the vector instruction you are using needs operands of type "__m128", then you cannot pass to it operands of type "float" !. You need to do type casting. You can get your operand by reference, and cast it to the correct type (i.e. use pointer type casting). However, please note that you might not necessarily need to do such a type casting. Your implementation might not need it at all and might work well without it!

There was a question by one of you, asking what happens when we do an SSE vector load from an arbitrary address in a matrix? Will a vector load return values from a row or a column? The answer is that it will return values from a row (i.e. different columns in the same row), since "c" compiler enforces row-major order. (you can read a short introduction to this here: http://en.wikipedia.org/wiki/Row-major_order )

Please let me know if you are facing any problems with the assignment.

Important AVDARK info
11/12/13 4:26 PM

You can almost see the light in the tunnel!

This is what we have in front of us:

* This Friday is a Lab Lecture by Moncef. This lecture will start at 9.15 and run for 45 minutes. You can sleep in!

* Next week is lab week.

* Starting tomorrow, I will start adding lectures to the new module "End game" (including: Itanium, SMP, multicores, parallel architectures). Deadline: Wed 27/11.

* David Black-Schaffer will add lectures to the new module "GPUs". Deadline: Sun 24/11.

* Mon 25/11 David will have an IRL about GPUs

* Fri 29/11 I will give the last IRL and also discussing future trends

* Fri 6/12 is a repetition IRL preparing for the exam

* Thu 12/12 is the exam

//ERIK

Progress for the 3rd batch of the course
11/11/13 6:15 PM

Dear AvDArk course participants,

Studentportal is now updated with the progress for the 3rd batch of the course (sorry for the delay, as I was extremely busy).

Please check your progress and let us know if there has been any mistake in recording your progress so far.

You can collect your graded paper from the shelf in front of Moncef's office (room 1258). Please look for "AVDARK" on the shelf. Emails have been sent to those who had submitted their hand-ins via email.

Good luck with the Final batch of the course!

Staff Office Hours
NameOffice Hours
Erik Hagersten
When?
Where?
Mahdad Davari
When?
Where?
Andreas Sembrant
When?
Where?
Moncef Mechri
When?
Where?