• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

计算机工程与科学 ›› 2026, Vol. 48 ›› Issue (1): 20-27.

• 高性能计算 • 上一篇    下一篇

OBCC:后摩尔时代E级计算编程墙的一种估计方法

张晓哲,陈涛,肖调杰,张翔,包为民,龚春叶   

  1. (1.国防科技大学计算机学院,湖南 长沙 410073;2.中国航天科技集团有限公司,北京 100048;
    3.高端装备数字化软件湖南省重点实验室,湖南 长沙410073;4.国家超级计算天津中心,天津 300457) 
  • 收稿日期:2024-11-14 修回日期:2025-01-16 出版日期:2026-01-25 发布日期:2026-01-25
  • 基金资助:
    国家自然科学基金(62032023,42104078,61902411)

OBCC: An operator-based code complexity measurement method to overcome the exascale programming wall in the post-Moore era

ZHANG Xiaozhe,CHEN Tao,XIAO Tiaojie,ZHANG Xiang,BAO Weimin,GONG Chunye   

  1. (1.College of Computer Science and Technology,National University of Defense Technology,Changsha 410073;
    2.China Aerospace Science and Technology Corporation,Beijing 100048;
    3.Laboratory of Digitizing Software for Frontier Equipment,Changsha 410073;
    4.National Supercomputer Center in Tianjin,Tianjin 300457,China)
  • Received:2024-11-14 Revised:2025-01-16 Online:2026-01-25 Published:2026-01-25

摘要: 后摩尔时代的E级计算面临的编程墙缺乏衡量标准。代码复杂度作为软件代码的内在属性,是代码理解、优化和计价的基础。针对现有的代码复杂度衡量方法在HPC应用中存在局限性的问题,提出了基于操作符数目和代码行数的代码绝对复杂度和相对复杂度,其中绝对复杂度为代码操作符总数,相对复杂度为绝对复杂度与代码行数的比值。通过43个软件代码的实验验证,该方法能够合理评估不同类型代码的复杂度,特别是在科学计算领域。其中llvm和linux内核分别以3 300万和2 300万的绝对复杂度位列前两位;jellyfin-media-player,spheral和llvm则以4.54,3.9和3.12的相对复杂度排名前3位。该方法为不同代码的分析、比较和计价提供了新视角,也为E级计算编程墙的衡量提供了一种客观、可量化的标准。

关键词: 高性能计算, 代码复杂度, 绝对复杂度, 相对复杂度, 操作符计量

Abstract: In the post-Moore era, there is a lack of measurement standards for the “programming wall” faced by exascale computing. As an inherent attribute of software code, code complexity serves as the foundation for code understanding, optimization, and pricing. To address the limitations of existing code complexity measurement methods in high-performance computing (HPC) applications, this paper proposes  absolute code complexity and relative code complexity, both  based on the number of operators and lines of code (LOC). Specifically, absolute complexity refers to the total number of operators in the code, while relative complexity is defined as the ratio of absolute complexity to lines of code. Experimental verification using 43 pieces of software code s shows that this method can reasonably evaluate the complexity of different types of code, especially in the field of scientific computing. Among the tested codes, llvm and the linux kernel rank first and second in terms of absolute complexity, with 33 million and 23 million operators respectively; jellyfin-media-player, spheral, and llvm top the list in relative complexity, with values of 4.54, 3.9, and 3.12 respectively. This method provides a new perspective for the analysis, comparison, and pricing of different codebases, and also offers an objective and quantifiable standard for measuring the “programming wall” in exascale computing.

Key words: high performance computing, code complexity, absolute complexity, relative complexity, operator counting