Projects
QTNH – Distributed Quantum Tensor Network Simulator
Tensor networks are a generalised approach to quantum circuit emulation. They extend the statevector approach by allowing any two circuit elements (tensors) to be applied in any given order. It is therefore possible to optimise the order of tensor contraction so that the computations are performed more efficiently. Moreover, there are representations that allow tensor compression at the cost of limiting the entanglement (e.g. MPS – Matrix Product States).
In this project, I aim to create a library for CPU-distributed tensor networks contractions using MPI and OpenMP. This is achieved by distinguishing between two tensor types: shared and distributed, where the latter allows storing a tensor of any size that can fit in all available memory combined. The first goal of the project is to emulate QuEST with an appropriate contraction order, striving to achieve similar performance. If this succeeds, it may be possible to achieve better results by optimising the contraction order.
Project repository can be found here
Bechmarking Statevector Emulation with QuEST
Classical simulations are essential for the development of quantum computing, and their exponential scaling can easily fill any modern supercomputer. In the first part of my PhD, I focused on improving performance and energy consumption of statevector simulation. This involved large Quantum Fourier Transform (QFT) simulations run on ARCHER2, the UK's National Supercomputing Service, with QuEST toolkit.
The main considerations were CPU clock frequency, node memory size, and cache-blocking to rearrange the circuit, which minimises communications. For instance, using 2.00 GHz instead of 2.25 GHz can save as much as 25% of energy at 5% increase in runtime. Higher node memory also has the potential to be more efficient, and cost the user fewer CUs, but at higher runtime penalty. Finally, I designed a cache-blocking QFT circuit, which halves the required communication. All the optimisations combined result in 40% faster simulations and 35% energy savings in 44 qubit simulations on 4,096 ARCHER2 nodes.
The project ended with publishing a paper to the SC23 sustainable supercomputing workshop, and a presentation in front of a large audience. The reference repository is available here
Super-resolution Neural Networks for Astrophotography
Research project for the Machine Learning Practical university course. In a team of two, we explored ML methods for super-resolution of astronomical photos, such as CNNs on artificially degraded photos, and GAN transformations. The academic report received an A grade.
Temporal data analysis in R
Summer internships and part-time work alongside the undergraduate degree. I participated in big EU projects, such as M2DC and RENergetic. I learnt and evaluated many temporal forecasting techniques in R, such as SARIMAX with multivariate regressors. The job also involved attending regular team meetings, writing reports and interactive presentations in Markdown.