B673: Notes List
Class notes
Beware: because we are circling around the four tracks of shared memory
parallelism, distributed memory parallelism, analysis, and applications,
the notes below may not be in chronological order. Each section will have
material added as it occurs.
- Architecture and Models
- Threads and shared memory programming
- MPI Programming Basics
- Some Matlab utilities; on a Unix system put these
into a directory ~/.matlab. On Windows, it depends on just what version of
Windows you have. The most common is C:\\Documents\MATLAB, with your user name
in the appropriate place if it is a shared system. You can also just create
a folder and add that path to Matlab's search path: "userpath('MyCoolFolder')".
- discr_matlab.tar is a file with Matlab
discretizer and solver. This replaces the older version by adding two more
solver methods for the discretized PDE.
- bicgstab.tar has a complete PDE solver, in F2008
- The text file instructions has the questions to
answer, and notes about the implementation, for the Bi-CGstab solver. If you
choose to write a C version of the compressed sparse row matrix-vector product,
also download the file
c-version.tar which has the interface spec and a
modified makefile and bicgstab.f90 file. Warning: I've tested a C version
of the matrix-vector product for both COO and CSR data structures. And for the
sizes I've tested (N = 2000 and N = 4000) the C version is 10-11% slower than
the Fortran versions. This is a surprise to me, since the code is so simple
and GCC and gfortran use the same backend optimizers and code generators.
However, it does mean that if you do choose to implement CSR in C, you may also
need to implement COO in C. Otherwise the comparison may not be meaningful.
- Matlab m-file looky.m has results from me running
the code on mesh sizes N = 1000, 2000, ..., 8000. It creates four plots, which
may be of interest. Read the m-file for details about just what the data is.
- Modified: Tue 06 Feb 2018, 06:18 PM
- Modified: Thu 08 Feb 2018, 07:20 AM adding basic MPI notes
- Modified: Tue 03 Apr 2018, 07:18 AM adding Matlab discretizer tar file
- Modified: Thu 26 Apr 2018, 01:54 PM to add final notes about bicgstab
- Last Modified: Fri 27 Apr 2018, 01:06 PM
project