- Join us
MJ Rutter's Computing Page
This page contains computing-related stuff produced by me. Those searching for evidence that I have a life outside of computing need to search elsewhere, and there is also a more formal profile. I may enjoy a schizophrenic existance as mjr and mjr19, but my email address is always the latter. The correct University (not Departmental) domain is not hard to guess.
Notes on the integration of 1D functions with sharp peaks (PDF) (Feb 2014).
Notes, benchmarks and sources for Linpack in Fortran, C, python and Java (Jan 2016).
Notes on the linear congruential random number generator, with particular reference to stepping the generator in log2N time, and thus getting results independent of the number of threads after parallelisation with OpenMP. Fortran and C examples included.
A separate page now exists for my notes on CASTEP.
Those programs which I have written and distribute fairly freely, which include bmp2eps, psimages, eps2gif and check2xsf, are all found on MJR's Software Page.
Notes on IT topics
These notes are taken from TCM's intranet, and may be useful for a wider audience.
- Simple Gantt charts in LaTeX
- Bézier curves
- HP JetDirect cards
- glmark2 scores for various Radeons used in TCM
One-off Graduate Lectures
These are generally more fun. Local users can find them on the relevant bit of TCM's computing pages, with a few being available on the above MPhil/CDT page.
Some older ones include:
- Graphics file formats, an overview of image formats: GIF, PNG, EPS, PDF, SVG. (Easter 2017)
- LaTeX (Lent 2005)
- Encapsulated PostScript (Lent 2005)
- UNIX: an Operating Environment (Lent 2004)
Part II Computational Physics
A one-off attempt to teach Fortran 90 to over a hundred undergraduates some while ago.
The following handouts may be freely used for individual learning (or entertainment). I am unaware that anyone claims copyright on the images, or that anyone other than myself can claim copyright on the text.
- An introduction to (scientific) computing
- An introduction to PWF UNIX (as it was in 2001/2)
- Fortran 95 F95 and NAG's F77 library, including exercises.
- UNIX utilities mostly gnuplot and gv
C and Fortran
My infamous C vs Fortran document. Yes, I should probably update it to cover C99, F2003, etc.
An Introduction to UNIXEveryone has to write one once. So this is mine.
Need convincing that CPU frequency scaling is not ruining your
benchmarks? On modern Intel CPUs (Sandy Bridge onwards) and Linux,
one can read
and then set it (as root) to 100 to stop the clock frequency slowing. Reset to the old value once you are convinced. This assumes you have already turned the turbo off, which can adversely impact benchmark timings.
This does seem necessary for Skylake CPUs and memory bandwidth benchmarks, such as John McCalpin's Streams. A four-core 3.0GHz with dual channel DDR4/2133 ECC memory gave results betwen 28GB/s and 8GB/s with the default settings, and consistently 28GB/s with min_perf_pct set to 100 (rather than the default 22).