Dr. John Thomson

Lecturer, School of Computer Science, University of St Andrews.

Here at St Andrews, I lead research into automatic techniques to efficiently process and analyise large datasets - particularly using modern machine learning techniques to map data, refactor code, predict peformance and holistically optimise the performance of the entire system in a Cloud or HPC environment. My research interests include task placement, memory mapping, optimising machine learning, optimising compilers, HPC, parallelisation techniques, software power-saving techniques and runtime systems.

I'm now collaborating with Dr. Silvia Paracchini on a project to predict obesity in adults from genetic analysis, learning over the huge dataset from the UK Biobank.

PhD applicants - I’m interested in supervising students in any of the areas above. If you are interested, feel free to drop me an e-mail. The School has PhD studentships and funding available.

I’m currently supervising PhD students Nnamdi Ekwe-Ekwe, Teng Yu and Chloe Hequet, and Postdoctoral Reserachers Vladimir Janjic and Yuhui Lin.

Selected Publications

  1. COLAB: A Collaborative Multi-factor Scheduler for Asymmetric Multicore Processors
    Teng Yu, Pavlos Petoumenos, Vladimir Janjic, Xusheng Zhan, Mingcan Zhu, Haozhan Wang, Hugh Leather, Ning Jia and John Thomson. Proceedings of the 2020 IEEE/ACM International Symposium on Code Generation and Optimization (CGO 20)

  2. Large-Scale Automatic K-Means Clustering for Heterogeneous Many-Core Supercomputer
    Teng Yu, Wenlai Zhao, Pan Liu, Vladimir Janjic, Xiaohan Yan, Shicai Wang, Haohuan Fu, Guangwen Yang, John Thomson. IEEE Transactions on Parallel and Distributed Systems (TPDS 2019)

  3. Envisioning SLO-driven Service Selection in Multi-cloud Applications
    Abdessalam Elhabbash, Yehia Elkhatib, Gordon S. Blair, Yuhui Lin, Adam Barker, and John Thomson. In the Proceedings of the 8th International Workshop on Cloud and Edge Computing, and Applications Management (CloudAM 19)

  4. Large-Scale Hierarchical K-Means for Heterogeneous Many-Core Supercomputers
    Liandeng Li, Teng Yu, Wenlai Zhao, Haohuan Fu, Chenyu Wang, Li Tan, Guangwen Yang and John Thomson. In the Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC 18)

  5. Topological Ranking-Based Resource Scheduling for Multi-FPGA Systems
    Teng Yu, Bo Feng, Mark Stillwell, Liucheng Guo, Yuchun Ma and John Thomson. In the Proceedings of the 2018 International Conference on Field Programmable Technology (FPT 18)

  6. Predicting and Optimizing Image Compression
    Oleksandr Murashko, John Thomson, Hugh Leather. In the Proceedings of the 24th ACM International Conference on Multimedia (MM 16) ACM DL PDF

  7. Automatic OpenCL Device Characterization: Guiding Optimized Kernel Design
    Peter Thoman, Klaus Kofler and John Thomson, In the proceedings the 17th International Conference on Parallel and Distributed Computing, Euro-Par 2011 -

  8. Milepost GCC: A machine learning enabled self-tuning compiler
    Grigori Fursin, John Thomson (and 10 others). International Journal of Parallel Processing, Volume 39, Number 3 / June 2011, pp. 296--327 -

  9. Reducing Training Time and Confidence Calculation using Clustering in a Machine Learning Compiler
    John Thomson, Michael O’Boyle, Björn Franke and Grigori Fursin
    In Proceedings of Languages and Compilers for Parallel Computing LCPC 09) -

  10. Using Machine Learning to Focus Iterative Optimization
    Felix Agakov, Edwin Bonilla, John Cavazos, Björn Franke, Michael O’Boyle, John Thomson, and Chris Williams.
    Proceedings of the 4th Annual International Symposium on Code Generation and Optimization (CGO), New York, NY, March 2006 - PDF
    Best presentation award. Primary author.

  11. Predictive Search Distributions
    Edwin Bonilla, Christopher K.I. Williams, Felix Agakov, John Cavazos, John Thomson and Michael F.P. O'Boyle
    In Proceedings of the 23rd International Conference on Machine Learning: ICML'06, Pittsburgh, PA, June 2006. - PDF


Room 1.24
Jack Cole Building

North Haugh


KY16 9SX

Tel: +44 1334 463335

Email: j.thomson at st-andrews.ac.uk


Grants Awarded

  1. ABC: Adaptive Brokerage for the Cloud
    EPSRC Normal Mode Grant (as CI)
    2018-2021 - £ 386,558
    University of St Andrews

  2. Discovery: Pattern Discovery and Program Shaping for Manycore Systems
    EPSRC Normal Mode Grant (as PI)
    2017-2020 - £ 366,059
    University of St Andrews

  3. Automatic Portable Performance for Heterogeneous Architectures using Predictive Modelling
    From Fonds zur Förderung der wissenschaftlichen Forschung, Austria (as PI)
    FWF Grant No. TRP220
    2011-2014 - ~€ 350,000
    University of Innsbruck

  4. A Predictive Modelling based Approach to Portable Parallel Compilation for Heterogeneous Multi-cores
    EPSRC Grant - EP/H051988/1
    2010-2014. £494,120
    University of Edinburgh

Next year I’m teaching:

CS4202 Computer Architecture

I’m the Director of Postgraduate Teaching for the School of Computer Science.