Simon Cooksey

PhD Student

I develop tools to help reason about the behaviour of computer software in multi-core processors. I am currently on an industrial internship at NVIDIA.


I am a PhD candidate in the Programming Languages and Systems group at the University of Kent. I work with Mark Batty researching weak memory behaviours and compiler verification. My academic profile page is here.

My current work is looking at implementing memory models using logic solvers. A version of this work is written up, and titled PrideMM: A Solver for Relaxed Memory Models it can be read here. We use a cutting edge quantified boolean formula solver to execute a model described in a higher level Second Order logic. It allows a new class of memory model which tackles the thin-air problem to be simulated. I have recently presented this work at the Aarhus Concurrency Workshop, with a talk called Further Work On Thin Air Reads.

Industrial Experience


I have a 6 month internship at NVIDIA Research working in a computer architecture group.


I worked for the Bristol based semiconductor company XMOS. XMOS produce a line of multi-core embedded processors called the xCORE. I built tools and applications for the platform, including a port of an MP3 library, lib_mp3 and adaptations to their debugging toolchain to enable remote debugging of hardware targets over the network, and to allow interfacing the debugger with a fast simulator.


I graduated from the University of Kent with a First in Computer Science with a Year in Industry.


I was the president of TinkerSoc, a society dedicated to making things, particularly electronics.


As one of the Post Graduate Research representatives, and represent students of the school of computing in various committee meetings. I also help organise the PG away weekend and the PG conference. If you have a question or a problem, get in contact using the details below.


You can contact me via email,, on KentIRC in #cs, on freenode under the nick graymalkin, and occaisionally can be contacted via amateur radio on SSTV (14.230MHz) and on the Canterbury repeater (433.150MHz +1600KHz/103.5). My callsigns are M6GFL and 2E0GFL.

I use PGP if that floats your boat, my PGP fingerprint is 49BC 8FD6 E61B B9CA BA97 A33C 33AA 9C37 025D 2B62 and I have a keybase profile here. I quite like people signing my PGP key so if you're a PGP user too, give me a poke and we can arrange a time to exchange fingerprints in person.