INF5063 - Intel x86 Resources & FAQ

 

Page for resources and frequently asked questions for the x86 machines. If you have any other questions, please send an email to inf5063@ifi.uio.no

The following table gives an overview of the status of the x86 machines in the lab at Simula. This assignment can be solved on both AMD and Intel processors, and it is possible to use your own hardware.

Remember that you have to SSH into oslo.simula.no to access the lab-net at Simula. Username and password have been provided to all groups:

Machine Status:
Computer CPU SSE Version Status
gpu-5.ndlab.net Intel Core i5 2400 SSE 4.2 / AVX Down
gpu-6.ndlab.net Intel Core i5 2400 SSE 4.2 / AVX Operational
gpu-7.ndlab.net Intel Core i5 2400 SSE 4.2 / AVX Operational
gpu-8.ndlab.net Intel Core i5 2400 SSE 4.2 / AVX Operational
clinton.ndlab.net Intel Core i5 750 SSE 4.2 Operational
bush.ndlab.net Intel Core i5 750 SSE 4.2 Operational
kennedy.ndlab.net Intel Core i7 860 SSE 4.2 Down

Please note that only one person in a group may reserve a timeslot (max 4 hours) at a time! The reason for this is to allow other user access to the CPU/GPU machines as well. We have a reservation system in place for the CPU/GPU machines here at Simula:

http://booking.ndlab.net

The open the page is the same you use to access the Home Exams. Remember to log into the calendar with the username and password provided to your group. 

 

x86 Programming Resources

Carsten's page with Intel IA32 and Intel 64 manuals

 

 

Frequently Asked Questions

 

Q: Can I use my own computer with an AMD processor?

A: Yes, you can! Just make sure that your program works on our lab machines before you hand in your code. Also write in your documentation which SSE version you need, or if you need AVX.

 

Q: Where can I see which SSE version my processor suports?

A: In Linux you can write "less /proc/cpuinfo". Under "flags" you can see which SSE version is supported by your CPU. On Windows you can download the program CPU-Z.

 

Q: Are other test sequences than foreman and tractor available?

A: Videos in SIF quality can be found at www.cipr.rpi.edu/resource/sequences/sif.html and HD quality sequences at ftp.ldv.e-technik.tu-muenchen.de/pub/test_sequences/1080p/

 

Q: What tools are available for profiling my code?

A: Have a look at gprof, kcachegrind or oprofile. The latter is a system-wide profiler and thus requires root permission. If you want to experiment with oprofile you must do so on your own hardware.

 

Q: Can we copy/paste a fast DCT implementation optimized for SSE which we found on the Internet into our code?

A: No, you may not. However, there is nothing stopping you from implementing a different algorithm than what is used in the precode. Fast DCT algorithms is a research topic, and most papers on the subject are for the mathematically minded or hardware designers. A good introduction is the book JPEG: Still Image Data Compression Standard which explains some of the algorithms available, and a preview can be found on Google Books. An interesting paper on JPEG architecture can be found here, and a paper on pipelined DCT can be found here (Requires UiO IP. Note that there is a typo in step 1 of the algorithm, should be: b2 = a3 - a4). (Due to bad experience with massive waste of time, changing algorithms is no longer accepted in H12)

 

Q: What kind of speed improvements are you expecting from our code??

A: We do not expect a certain percentage of improvement. We want you to experiment with instructions that can exploit the built in parallelism of the Intel x86 architecture, and describe in your report what you have tried, and what you have achieved. What part of the code have you investigated? What did you try? How did it go? This is the most important. It is positive if you can document a pattern in the improvements. It is no need to speculate in how the processor parallelize, since we lack documentation to be able to evaluate if the speculation is correct or not.