Dr Nick Brown

Research Fellow
+44 (0) 131 650 6420

Nick is a Research Fellow at EPCC and works on a variety of projects including leading a collaboration (PI) with RSI concerned with machine learning for optimising petrophysical workflows, and leads a work package on the VESTEC European FET project which aims to fuse HPC and real-time data for urgent decision making.

Nick Brown

I have previously worked on numerous collaborations, including working with the Met Office developing MONC, a next generation atmospheric model used by UK climate and weather scientists which enables the study of clouds and fog at scales before unobtainable (billion of grid points over 32,000+ CPU cores). As part of MONC we have researched numerous innovative aspects of HPC, such as in-situ data analytics to transform the terabytes of raw computational data into smaller amounts of higher level information on the fly. I am also interested in the acceleration of computationally intensive aspects of this model, previously investigating the use of GPGPUs and Xeon Phis, currently my focus has shifted a bit to the the role that FPGAs can play here. I have also worked with the British Geological Survey, modernising their MEME geomagnetic model to take advance of modern HPC machines to enable the study of the earth's geomagnetic field at resolutions far greater than previously obtainable.

My research interests focus around parallel programming language design, compilers and parallel computer architectures. I was involved in the INTERTWinE FET HPC project and as part of this developed EDAT, a highly scalable task-based model. Focussed around the development of irregular parallel applications, this technology enables parallel programmers to trivially develop complex parallel codes that scale very efficiently. I have also developed ePython, a 24Kb parallel implementation of Python, designed for highly parallel micro-core architectures which combine hundreds (or thousands) of simple CPU cores onto a single chip. This was initially designed for the Epiphany and comes pre-installed with all of these sold by Adapteva (including a parallel neural network we developed in ePython for detecting lung cancer in 3D CT scans). We have now ported ePython to other micro-core architectures including soft-cores, such as the MicroBlaze, running on FPGAs. Before coming to EPCC I researched using types to express much of the complexity of parallel code, resulting in Mesham, which makes innovative use of the type system to support efficient, maintainable and flexible parallel code. 

I am the course organiser for the Parallel Design Patterns module on EPCC's MSc in High Performance Computing and am the primary supervisor of two PhD students; Ludovic who is researching large-scale distributed vertex centric programming and Maurice who is researching programming languages and compilers for next generation highly parallel micro-core architectures such as the Epiphany and those based on RISC-V. I also supervise a number of MSc student dissertation projects. I have also been involved in EPCC's outreach programme, supervised numerous Summer of HPC students and developing a number of outreach demos, including being responsible for the supercomputing challenge some years back. Before joining EPCC in 2012 I worked as a senior technical consultant for BAE systems.