Parallel and reconfigurable computing
Research towards solving fundamental problems and addressing new challenges like the computing and sustainability demands of AI or the constraints of computing in space.
Fast computing has been a major driver of progress in science, engineering and industry over several decades. Today, parallel computing and the use of acceleration devices play the main role in further improving computing speed.
Our research group investigates the various aspects of parallel and reconfigurable computing that make computing systems faster and more energy-efficient.
Research
Our research includes -- but is not limited to -- the following topics:
Acceleration of deep learning, neural networks and AI
Deep learning, neural network and artificial intelligence (AI) methods are computationally very demanding, both during training and during inference. Today alone, they dominate the total computational demand of all IT systems. Hence, it will be paramount that the use of the acceleration devices, like GPUs, TPUs, NPUs etc., are used as efficiently as possible.
We research and optimise how deep learning frameworks, e.g. PyTorch, can be most efficiently executed on those devices to achieve the best performance and to minimise the energy consumption.
Task scheduling
The many processors of a parallel system need to be used in an optimised way in order to achieve real high performance. Scheduling deals with the allocation and ordering of tasks to processors. Finding the best way to do this is a hard optimisation problem. We research theory, algorithms, models and methodologies on how to do this best, not only minimising execution time, but also reducing the energy costs.
Computing with Neural Processing Units (NPUs)
Machine learning and AI algorithms can be too computationally and energy demanding for small systems like laptops, tablets and phones. In order to address this, modern processors come with Neural Processing Units that are very powerful and energy-efficient. Unfortunately, they are difficult to program. We investigate how to efficiently use this new category of processing units for machine learning and AI algorithms. Additionally, we are also exploring how such NPUs can be exploited for other types of computing.
Green and carbon-aware computing
Data centres are emerging as major power and energy consumers. For better integration in the electrical grid, especially in NZ, they must be able to adjust their workload to volatile renewable energy production. This reduces the carbon-emissions and contributes to stabilising the grid. Further, in an isolated electrical grid as NZ's where there can be times of limited available power, it might be necessary to cap their power consumption. We investigate and design scheduling methodologies and algorithms for the data centres in NZ with its unique energy mix.
Scheduling and low-power computing for satellites (CubeSats)
Most satellites in Earth's orbit gather data from sensors, which is then transmitted to their ground station. To reduce the amount of data to transfer, (pre-)processing of the data must or can happen in the satellite. This means that the satellites need to possess some considerable computing capabilities, while having a limited supply of power, especially in CubeSats. We investigate the design and implementation of power-efficient and fault-tolerant algorithms for application in very small satellites.
Minimisation of data transfer
Computer performance has had phenomenal improvements over the last decades, both in terms of execution speed but also in terms of energy efficiency. While this is also true for the necessary data transfers, the pace has not been the same. Today, the movement of data has become a significant source of energy consumption. Avoiding or minimising this data movement can significantly reduce the energy consumption of computers. In a paradigm shift, we research how to optimise and minimise the data movement as the first objective before optimising the computation.