“With ArrayFire, we got the best performance of the software for our needs, breaking the limit of a challenging experiment in atomic physics. We also simply saved a lot of time so that we can further develop our research.”
-Woojun Lee, Korea Advanced Institute of Science and Technology (KAIST)
A quantum computer is very different than a conventional computer. It utilizes the quantum mechanical properties of matter. It is thought to have the potential to far outperform conventional computers in certain types of computations. One way to realize a quantum computer is to trap many single atoms in a vacuum chamber and control them with modulated lights.
As the number of atoms gets larger, controlling them also requires more and more computational power. Together with my physicist colleagues from the Korea Advanced Institute of Science and Technology (KAIST), we credit ArrayFire in a scientific report for its computing performance in generating hologram movies for dynamic optical tweezers holding single atoms.
Here is an example result from our paper that shows atom loading probabilities graphs.
Introduction
Optical-tweezer single-atom arrays are one of the promising physical platforms for quantum computation. And, rearrangement of such atom arrays is required for entire control of the target atoms, such as complete filling of an array when a finite loss rate exists, or various types of quantum gate operation utilizing transport of physical qubits.
In this paper, we trapped and transported N~50 single Rb neutral atoms in far-detuned optical dipole traps of an 820 nm laser phase-modulated by a spatial light modulator (SLM) of 200 Hz frame rate to formulate a completely filled single-atom array with a decent success rate, harnessing efficient atom transport techniques in both sides of hardware and software.
The Computational Challenge
Efficiency in the transport of single atoms depends on the quality of trap array intensity profiles, and it is determined by how deliberately the phase pattern of the SLM is constructed, for each real-time frame. The phase patterns are generated from numerical calculations based on the Gerchberg-Saxton algorithm, which is an iterative FFT algorithm implying that it requires heavy computational power under real-time constraints. Besides, to generate a higher quality of trap array profiles, we used some advanced techniques such as “weighting”, “induction”, and “zero-padding”, and implementation of these additional techniques needed extra consumption of computational resources.
Here is a sample figure of the experimental design from our paper.
Initial GPU Implementation was Too Slow (20~30 Hz)
All these requirements could lower the rearrangement frame rates, costing again some extent of transport loss rates, and also causing longer time of operations in applications. Even with help of a high-end GPU at the time, the NVIDIA Titan X, the framerate was limited by the speed of the typically built computation software, down to 20~30 Hz, which made it hard to obtain sufficient loading probability of a full atom array.
ArrayFire Enabled Success (60Hz)
ArrayFire library and software were employed for improvement in the computation stage of the phase patterns for fft2, ifft2, and basic array operations. In my thesis, I shared code and explanations for ways in which ArrayFire helped optimize the overall program.
As a result, a higher frame rate of 60 Hz was achieved enabling a decent level of success rates in single-atom array preparation.