Update: I have finished my PhD! Please click above for my dissertation,
which I'm delighted to say won the award for
PhD Award for Best Disseration in Scotland 2019-2020.
This repository is now in an archival state.
My PhD
A monolithic repository for (almost) everything I have done while at the University of Edinburgh. Living an #open life.
Publications
- Chris Cummins, Zacharias V. Fisches, Tal Ben-Nun, Torsten Hoefler, Hugh Leather. "ProGraML: Graph-based Deep Learning for Program Optimization and Analysis". arXiv:2003.10536.
[source code].
- Chris Cummins, "Deep Learning for Compilers". PhD thesis.
[source code].
Build command:
$ bazel build //docs/thesis
.
- Chris Cummins, Pavlos Petoumenos, Alastair Murray, Hugh Leather.
"Compiler Fuzzing through Deep Learning".
ISSTA '18.
[source code].
[pdf].
Build command:
$ bazel build //docs/2018_07_issta
.
- Chris Cummins, Pavlos Petoumenos, Alastair Murray, Hugh Leather.
"DeepSmith: Compiler Fuzzing through Deep Learning".
ACACES '18.
[source code].
[pdf].
Build command:
$ bazel build //docs/2018_07_acaces
.
- Chris Cummins, Pavlos Petoumenos, Zheng Wang, Hugh Leather.
"End-to-end Deep Learning of Optimization Heuristics".
PACT '17.
[source code].
[pdf].
Build command:
$ bazel build //docs/2017_09_pact
.
- Chris Cummins, Pavlos Petoumenos, Zheng Wang, Hugh Leather.
"Synthesizing Benchmarks for Predictive Modeling".
CGO '17.
[source code].
[pdf].
[acm].
Build command:
$ bazel build //docs/2017_02_cgo
.
- Chris Cummins, Pavlos Petoumenos, Michel Steuwer, Hugh Leather.
"Autotuning OpenCL Workgroup Sizes". ACACES '16.
[source code].
Build command:
$ bazel build //docs/2016_07_acaces
.
- Chris Cummins, Pavlos Petoumenos, Michel Steuwer, Hugh Leather.
"Towards Collaborative Performance Tuning of Algorithmic Skeletons".
HLPGPU '16, HiPEAC.
[source code].
[pdf].
Build command:
$ bazel build //docs/2016_01_hlpgpu
.
- Chris Cummins, Pavlos Petoumenos, Michel Steuwer, Hugh Leather.
"Autotuning OpenCL Workgroup Size for Stencil Patterns".
ADAPT '16, HiPEAC.
[source code].
[pdf].
[arxiv].
Build command:
$ bazel build //docs/2016_01_adapt
.
- Chris Cummins. "Autotuning Stencils Codes with Algorithmic Skeletons".
MSc Thesis, 2015. The University of Edinburgh.
[source code].
Build command:
$ bazel build //docs/2015_08_msc_thesis
.
Talks
- Chris Cummins. "Compiler Fuzzing through Deep Learning", 3rd August, 2018.
Codeplay, Edinburgh, Scotland.
[files].
[slides].
- Chris Cummins. "Machine Learning for Compilers", 20th July, 2018.
Workshop on Introspective Systems for Automatically Generating Tests (ISAGT),
Amsterdam, Netherlands.
[files].
[pdf].
- Chris Cummins. "Compiler Fuzzing through Deep Learning", 16th July, 2018.
ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA), Amsterdam, Netherlands.
[files].
[slides].
- Chris Cummins. "End-to-end Deep Learning of Optimization Heuristics", 23rd March, 2018.
Facebook, Menlo Park.
[files].
[slides].
- Chris Cummins. "End-to-end Deep Learning of Optimization Heuristics", 2nd Feb, 2018.
Google, Mountain View.
[files].
[slides].
- Chris Cummins. "Second Year Progression Review", 18th Dec, 2017.
The University of Edinburgh, Scotland.
[files].
[pdf].
- Chris Cummins. "End-to-end Deep Learning of Optimization Heuristics", 4th Oct, 2017.
The University of Edinburgh, Scotland.
[files].
[slides].
- Chris Cummins. "End-to-end Deep Learning of Optimization Heuristics", 12th Sep, 2017.
International Conference on Parallel Architectures and Compilation Techniques (PACT), Portland, Oregon, USA.
[files].
[slides].
- Chris Cummins. "Deep Learning in Compilers", 14th Jun, 2017.
The University of Edinburgh, Scotland.
[files].
[pdf]. [transcript].
- Chris Cummins. "Using Deep Learning to Generate Human-like Code", 22nd April, 2017.
Scottish Programming Languages Seminar, University of St.
Andrews, Scotland.
[files].
[pdf].
- Chris Cummins. "Synthesizing Benchmarks for Predictive Modeling", 6th Febuary, 2017.
International Symposium on Code Generationand Optimization (CGO), Austin, Texas, USA.
[files].
[slides].
- Chris Cummins. "Machine Learning & Compilers", 9th September, 2016.
Codeplay, Edinburgh, Scotland.
[files].
[slides].
- Chris Cummins. "Building an AI that Codes", 22nd July, 2016.
Ocado Technology, Hatfield, England.
[files].
[pdf].
- Chris Cummins.
"All the OpenCL on GitHub: Teaching an AI to code, one character at a time", 19th May, 2016.
Amazon Development Centre, Edinburgh, Scotland.
[files].
[pdf].
- Chris Cummins. "Autotuning and Algorithmic Skeletons", Wed 10th Feb, 2016.
The University of Edinburgh, Scotland.
[files].
[pdf].
- Chris Cummins. "Towards Collaborative Performance Tuning of Algorithmic Skeletons", Tues 19th Jan, 2016.
HLPGPU, HiPEAC, Prague.
[files].
[pdf].
- Chris Cummins. "Autotuning OpenCL Workgroup Size for Stencil Patterns", Mon 18th Jan, 2016.
ADAPT, HiPEAC, Prague.
[files].
[pdf].
- Chris Cummins.
"Towards Collaborative Performance Tuning of Algorithmic Skeletons", Thurs 14th Jan, 2016.
The University of Edinburgh, Scotland.
[files].
[pdf].
Misc
- Curriculum Vitae.
[source code].
[pdf].
[html].
Build command:
$ bazel build //docs/cv
.
- Chris Cummins, Pavlos Petoumenos, Michel Steuwer, Hugh Leather.
"Collaborative Autotuning of Algorithmic Skeletons for GPUs and CPUs".
Incomplete journal version of ADAPT and HLPGPU papers.
[source code].
Build command:
$ bazel build //docs/2016_12_wip_taco
.
- Chris Cummins. "Deep Learning for Compilers". PhD First Year Review
Document, 2016.
[source code].
Build command:
$ bazel build //docs/2016_11_first_year_review
.
- Chris Cummins, Hugh Leather. "Autotuning OpenCL Workgroup Sizes".
Rejected submission for PACT'16 Student Research Competition.
[source code].
Build command:
$ bazel build //docs/2016_07_pact
.
- Chris Cummins, Pavlos Petoumenos, Michel Steuwer, Hugh Leather.
"Autotuning OpenCL Workgroup Sizes".
Submission for PLDI'16 Student Poster Session.
[source code].
Build command:
$ bazel build //docs/2016_06_pldi
.
- Chris Cummins. "Autotuning and Skeleton-aware Compilation".
PhD Progression Review, 2015.
[source code].
Build command:
$ bazel build //docs/2015_09_progression_review
.
Building the code
See INSTALL.md and CONTRIBUTING.md.