Twinkle: A GPU-based binary-lens microlensing code with contour integration method
Abstract
With the rapidly increasing rate of microlensing planet detections, microlensing modeling software faces significant challenges in computation efficiency. Here, we develop the Twinkle code, an efficient and robust binary-lens modeling software suite optimized for heterogeneous computing devices, especially GPUs. Existing microlensing codes have the issue of catastrophic cancellation that undermines the numerical stability and precision, and Twinkle resolves them by refining the coefficients of the binary-lens equation. We also devise an improved method for robustly identifying ghost images, thereby enhancing computational reliability. We have advanced the state of the art by optimizing Twinkle specifically for heterogeneous computing devices by taking into account the unique task and cache memory dispatching patterns of GPUs, while the compatibility with the traditional computing architectures of CPUs is still maintained. Twinkle has demonstrated an acceleration of approximately 2 orders of magnitude (>~100 times) on contemporary GPUs. The enhancement in computational speed of Twinkle will translate to the delivery of accurate and highly efficient data analysis for ongoing and upcoming microlensing projects. Both GPU and CPU versions of Twinkle are open-source and publicly available.
- Publication:
-
arXiv e-prints
- Pub Date:
- January 2025
- DOI:
- arXiv:
- arXiv:2501.03322
- Bibcode:
- 2025arXiv250103322W
- Keywords:
-
- Astrophysics - Instrumentation and Methods for Astrophysics;
- Astrophysics - Earth and Planetary Astrophysics;
- Astrophysics - Astrophysics of Galaxies;
- Astrophysics - Solar and Stellar Astrophysics
- E-Print:
- Accepted by ApJS, GitHub link: https://github.com/AsterLight0626/Twinkle