QiMeng-MuPa: Mutual-Supervised Learning for Sequential-to-Parallel Code Translation

Shuoming Zhang (Institute of Computing Technology, Chinese Academy of Sciences) · Qi Guo (Institute of Computing Technology, Chinese Academy of Sciences) · Shuo Wang (Tsinghua University, Tsinghua University) · Rui Zhang (Tsinghua University) · Yuanbo Wen (Institute of Computing Technology, Chinese Academy of Sciences) · Jiaming Guo (Huawei Technologies Ltd.) · Yunji Chen (Institute of Computing Technology, Chinese Academy of Sciences) · Ling Li (Institute of Software, CAS) · Chenxi Wang (Mohamed bin Zayed University of Artificial Intelligence) · Changxin Ke (Institute of Computing Technology, Chinese Academy of Sciences) · Li Ding (University of Chinese Academy of Sciences) · Guangli Li (Institute of Computing Technology, Chinese Academy of Sciences) · Ruiyuan Xu (University of the Chinese Academy of Sciences) · Jin Qin (Institute of Computing Technology, CAS)
augmented inputautomated sequential-to-parallelback-translation methodsbleu scoresco-evolveco-verifycudafunctional equivalencegpu-based computingiterative loopmutual-supervised learningparallel programming modelsperformance enhancementsequential-to-parallel code translationunit tests

The rise of GPU-based high-performance computing (HPC) has driven the widespread adoption of parallel programming models such as CUDA. Yet, the inherent complexity of parallel programming creates a demand for the automated sequential-to-parallel approaches. However, data scarcity poses a significant challenge for machine learning-based sequential-to-parallel code translation. Although recent back-translation methods show promise, they still fail to ensure functional equivalence in the translated code. In this paper, we propose \textbf{QiMeng-MuPa}, a novel \textbf{Mu}tual-Supervised Learning framework for Sequential-to-\textbf{Pa}rallel code translation, to address the functional equivalence issue. QiMeng-MuPa consists of two models, a Translator and a Tester. Through an iterative loop consisting of Co-verify and Co-evolve steps, the Translator and the Tester mutually generate data for each other and improve collectively. The Tester generates unit tests to verify and filter functionally equivalent translated code, thereby evolving the Translator, while the Translator generates translated code as augmented input to evolve the Tester. Experimental results demonstrate that QiMeng-MuPa significantly enhances the performance of the base models: when applied to Qwen2.5-Coder, it not only improves Pass@1 by up to 28.91\% and boosts Tester performance by 68.90\%, but also outperforms the previous state-of-the-art method CodeRosetta by 1.56 and 6.92 in BLEU and CodeBLEU scores, while achieving performance comparable to DeepSeek-R1 and GPT-4.1. Our code is available at \url{https://github.com/kcxain/mupa}.