After optional conformer generation, the molecules are transformed by centering and projecting them into a space defined by their principal axes. The transformed RDKit molecule objects in Python are then converted into binary format, which is then reconstructed into new ROMol objects compatible with C++ using Cython. The core of our computation relies on a CUDA-accelerated module from the PAPER software (paper.cu), which receives these ROMol objects and converts them to CUDAmol objects to perform GPU-based overlap optimization.