Diary

This page will contain a diary of the course, i.e. a short description of the lectures. The table will be filled in as we go along.

If printing is a problem, it may be because you have not defined a default printer. This is how you do it: Choose Preferences from the Applications menu. Then pick More Preferences and then click on Default Printer. Click on Set Default when you have marked the correct printer. (There should be a label on the printer itself, giving the printer's name.)


About registration: if you are a Chalmers student and if you have not registered you should contact your Student Centre. GU-students and PhD-students do not have to register this way.

Lecture notes

new Lecture notes (with correct page numbers)

springer.pdf

Day Activity Comments
 Tue Introduction. Intro to Fortran.
OH-pages 1-20.
No lab today
Thu More about Fortran. Fortran77, C.
OH-pages 21-27.
Read 28-32 on your own.
I just noticed that  I have made two Latex-errors numbering the pages. After page 59 comes 57 again and after 159 comes 156 again. I hope it will not confuse you. If you want correctly numered pages I have added new Lecture notes as a link above, though I do not think you should print out the new version if you have the old. Under Activity, in the column to the left. I will use the old numbers.
Tue cpp, C99, man, indent, lint/splint, LDA in Fortran77, dangerous things in C and Fortran. OH-pages 34-48, 53. I have made corrections to pages 44, 45 and 47.
Thu Make. Computer architecture. Showed some hardware. OH-pages 54-69. Read the free chapter in Triebel's book. Read about the Pentium 4. Look at the end of this page and fetch the Architecture Optimization Reference Manual, read the first chapter. A good, but technical, reference for the AMD64-machines (the student machines) is Appendix A in the Software Optimization Guide for AMD64 Processors. My lecture does not cover all the terminology used in the above manuals.

"Instruction tables: Lists of instruction latencies, throughputs and micro-operation breakdowns for Intel and AMD CPU's" you can find on this page.
Tue Computer architecture. Showed som pages from the AMD Opt. Ref. Manual, the IBM-Power4-manual and a page from "Instruction tables: Lists of instruction latencies, throughputs and micro-operation breakdowns for Intel and AMD CPU's" as well. Virtual memory. Code optimization. OH-pages 75-93 (read 77-79 on your own). Håkan Andreasson informed about the following ECMI week.
Note, only for students in the Master program in Engineering Mathematics and Computational Science at Chalmers.

There will be an ECMI (European Consortium for Mathematics in Industry) modelling week in Milano 6-12 September. The department of mathematics invites three students from the master program Engineering Mathematics and Computational Science at Chalmers to participate. You will solve a "real" problem taken from the industry and you will work in a group of 6 master students from different European universities. The project will be finished by a written report and an oral presentation at the end of the week. You will obtain 3 ECTS. If you are interested please contact Håkan Andreasson (hand@chalmers.se). You have to register before 30 April.
The department will cover the expenses concerning the travel, the housing and the fee.

For more information see: http://www.mat.unimi.it/users/ecmi10
Thu More on code optmization. OH-pages 94-109.
Tue More on code optimization. Handed out a quick ref quide (PostScript) for the BLAS and talked about it some time. OH-pages 110-124.
Thu Profiling. Valgrind. PAPI, gprof, gcov. Calling a Lapack-routine from Fortran. OH-pages 125-144.
Tue Note that Thursday's lecture (April 29) is moved to Friday 10:00 (April 30), same room as usual.

Info. about a cource in GPU computing.
Calling a Lapack-routine from C. Mex-files. OH-pages 145-159.
Note that OH-pages 160-161 (correct page numbers), 157-158 incorrect numbes, have been changed. Look at new Lecture notes (with correct page numbers) for the new pages.
Fre Libraries. Intro. to parallel computing. OH-pages 156-172.
Tue More intro. to parallel computing. Started on threads. OH-pages 173-189. Read 190-197 on your own (if you are interested). 198-199. Returned the Matlab-labs. If you have not picked up yours you can find it in the plastic magazine holder outside my office.

I have added some info. to the Lapack-lab.
Thu The threads-example. PVM and MPI. Point-to-point communication. Deadlock. Collective communication. OH-pages 199-218. Made a small change to the Lapack lab-page.

The names of the parallel student machines are: remote1.studat.chalmers.se to remote5.studat.chalmers.se . To see the number of cores, list the file /proc/cpuinfo or try
grep proc /proc/cpuinfo

We are using a new MPI-system this year and I forgot to update the handouts in a few places (nothing important, the info. on the MPI lab-page is correct).
The following pages have been corrected, incorrect/correct page number:
213/220, last three lines. There is an mpif90-command this year. mpirun is used in a different way, see page 208/215. 216/223, 218/225 mpirun again.
Tue The last part of MPI. Parallel comp. in Matlab. First part of OpenMP. OH-pages 219-233, 224-232 if you are interested, 233-249. We decided that the exam will be May 27-28. I will set up a list for booking a time outside my office (the list will appear next week).

I have put up the list now (Thursday May 13).
Tue More OpenMP. OH-pages 250-274. May 17: There is a problem with OpenMPI and broadcasts. I have updated the "Practical Details"-page for the MPI-lab.
Thu The rest of OpenMP. Two case studies and nested directives. OH-pages 275-290.

Disregard the last page "New in OpenMP 3.0", it was included by mistake. I have already talked about tasks, and this is an old page which I wrote when the compilers did not have support for tasks. Tasks should be done in a different way.
There was a question of how one can use reduction to compute the smallest element in a vector (in Fortran). This is one way.
TueI have graded lab II. You can find it in the plastic magazine holder outside my office.