Page 224 - 《软件学报》2026年第6期
P. 224

周文浩 等: SWTuner: 基于机器学习方法的分布式编译调优框架                                              2543


                    未来的研究将深入探讨         SWTuner 在更大规模并行计算环境中的应用, 特别是在异构计算平台上的性能表现.
                 同时, 本研究将致力于提高模型的预测精度, 特别是在处理新型应用或架构时, 增强模型的泛化能力. 此外, 还将探
                 索更高效的搜索策略, 以更好地平衡探索与利用之间的关系, 避免陷入局部最优解. 最后, 计划将                           SWTuner 扩展至
                 支持更多的编译器和编程模型, 使其成为一个更为广泛适用的自动编译调优工具.

                 References
                  [1]   Bacon DF, Graham SL, Sharp OJ. Compiler transformations for high-performance computing. ACM Computing Surveys (CSUR), 1994,
                     26(4): 345–420. [doi: 10.1145/197405.197406]
                  [2]   Sarkar V. Optimized unrolling of nested loops. In: Proc. of the 14th Int’l Conf. on Supercomputing. New Mexico: ACM, 2000. 153–166.
                     [doi: 10.1145/335231.335246]
                  [3]   Wegman  MN,  Zadeck  FK.  Constant  propagation  with  conditional  branches.  ACM  Trans.  on  Programming  Languages  and  Systems
                     (TOPLAS), 1991, 13(2): 181–210. [doi: 10.1145/103135.103136]
                  [4]   Golovanevsky O, Zaks A. Struct-reorg: Current status and future perspectives. In: Proc. of the 2007 GCC Developers’ Summit. 2007.
                     47–56.
                  [5]   Ayers A, Schooler R, Gottlieb R. Aggressive inlining. In: Proc. of the 1997 ACM SIGPLAN Conf. on Programming Language Design
                     and Implementation. Las Vegas: ACM, 1997. 134–145. [doi: 10.1145/258915.258928]
                  [6]   Nuzman D, Rosen I, Zaks A. Auto-vectorization of interleaved data for SIMD. ACM SIGPLAN Notices, 2006, 41(6): 132–143. [doi: 10.
                     1145/1133255.1133997]
                  [7]   Dagum  L,  Menon  R.  OpenMP:  An  industry  standard  API  for  shared-memory  programming.  IEEE  Computational  Science  and
                     Engineering, 1998, 5(1): 46–55. [doi: 10.1109/99.660313]
                  [8]   Ryoo S, Rodrigues CI, Baghsorkhi SS, Stone SS, Kirk DB, Hwu WMW. Optimization principles and application performance evaluation
                     of a multithreaded GPU using CUDA. In: Proc. of the 13th ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming.
                     Salt Lake City: ACM, 2008. 73–82. [doi: 10.1145/1345206.1345220]
                  [9]   Chung IH, Hollingsworth JK. A case study using automatic performance tuning for large-scale scientific programs. In: Proc. of the 15th
                     IEEE Int’l Conf. on High Performance Distributed Computing. Paris: IEEE, 2006. 45–56. [doi: 10.1109/HPDC.2006.1652135]
                 [10]   Reinders J, Ashbaugh B, Brodman J, Kinsner M, Pennycook J, Tian XM. Data Parallel C++: Mastering DPC++ for Programming of
                     Heterogeneous Systems Using C++ and SYCL. New York: Apress Berkeley, 2021. [doi: 10.1007/978-1-4842-5574-2]
                 [11]   Evans AN, Campbell B, Soffa ML. Is Rust used safely by software developers? In: Proc. of the 42nd ACM/IEEE Int’l Conf. on Software
                     Engineering. Seoul: ACM, 2020. 246–257. [doi: 10.1145/3377811.3380413]
                 [12]   Bezanson J, Edelman A, Karpinski S, Shah VB. Julia: A fresh approach to numerical computing. SIAM Review, 2017, 59(1): 65–98.
                     [doi: 10.1137/141000671]
                 [13]   Ashouri AH, Killian W, Cavazos J, Palermo G, Silvano C. A survey on compiler autotuning using machine learning. ACM Computing
                     Surveys (CSUR), 2018, 51(5): 96. [doi: 10.1145/3197978]
                 [14]   Bodin F, Kisuki T, Knijnenburg P, O’Boyle M, Rohou E. Iterative compilation in a non-linear optimisation space. 1998. https://liacs.
                     leidenuniv.nl/assets/PDF/TechRep/tr98-16.pdf
                 [15]   Bei  ZD,  Yu  ZB,  Zhang  HL,  Xiong  W,  Xu  CZ,  Eeckhout  L,  Feng  SZ.  RFHOC:  A  random-forest  approach  to  auto-tuning  Hadoop’s
                     configuration. IEEE Trans. on Parallel and Distributed Systems, 2016, 27(5): 1470–1483. [doi: 10.1109/TPDS.2015.2449299]
                 [16]   Chen TQ, Moreau T, Jiang ZH, Zheng LM, Yan E, CowanM, Shen HC, Wang LY, Hu YW, Ceze L, Guestrin C, Krishnamurthy A. TVM:
                     An automated end-to-end optimizing compiler for deep learning. In: Proc. of the 13th USENIX Conf. on Operating Systems Design and
                     Implementation. Carlsbad: USENIX Association, 2018. 579–594.
                 [17]   Mahgoub A, Wood P, Ganesh S, Mitra S, Gerlach W, Harrison T, Meyer F, Grama A, Bagchi S, Chaterji S. Rafiki: A middleware for
                     parameter tuning of NoSQL datastores for dynamic metagenomics workloads. In: Proc. of the 18th ACM/IFIP/USENIX Middleware
                     Conf. Las Vegas: ACM, 2017. 28–40. [doi: 10.1145/3135974.3135991]
                 [18]   Ashouri A, Bignoli A, Palermo G, Silvano C, Kulkarni S, Cavazos J. MiCOMP: Mitigating the compiler phase-ordering problem using
                     optimization sub-sequences and machine learning. ACM Trans. on Architecture and Code Optimization (TACO), 2017, 14(3): 29. [doi:
                     10.1145/3124452]
                 [19]   Liu HZ, Luo J, Li Y, Wu ZH. Iterative compilation optimization based on metric learning and collaborative filtering. ACM Trans. on
                     Architecture and Code Optimization (TACO), 2021, 19(1): 2. [doi: 10.1145/3480250]
                 [20]   Theodoridis T, Grosser T, Su ZD. Understanding and exploiting optimal function inlining. In: Proc. of the 27th ACM Int’l Conf. on
   219   220   221   222   223   224   225   226   227   228   229