Page 174 - 《软件学报》2024年第6期
P. 174
2750 软件学报 2024 年第 35 卷第 6 期
[43] Hall MW, Anderson JM, Amarasinghe SP, Murphy BR, Liao SW, Bugnion E, Lam MS. Maximizing multiprocessor performance with
the SUIF compiler. Computer, 1996, 29(12): 84–89. [doi: 10.1109/2.546613]
[44] Bae H, Mustafa D, Lee JW, Aurangzeb, Lin H, Dave C, Eigenmann R, Midkiff SP. The cetus source-to-source compiler infrastructure:
Overview and evaluation. Int’l Journal of Parallel Programming, 2013, 41(6): 753–767. [doi: 10.1007/s10766-012-0211-z]
[45] Bondhugula U, Baskaran M, Krishnamoorthy S, Ramanujam J, Rountev A, Sadayappan P. Automatic transformations for communication-
minimized parallelization and locality optimization in the polyhedral model. In: Proc. of the 17th Int’l Conf. on Compiler Construction.
Budapest: Springer, 2008. 132–146. [doi: 10.1007/978-3-540-78791-4_9]
[46] Khan AA, Mewes H, Grosser T, Hoefler T, Castrillon J. Polyhedral compilation for racetrack memories. IEEE Trans. on Computer-aided
Design of Integrated Circuits and Systems, 2020, 39(11): 3968–3980. [doi: 10.1109/TCAD.2020.3012266]
[47] Rauber T, Rünger G. Parallel Programming: For Multicore and Cluster Systems. Berlin: Springer, 2010. [doi: 10.1007/978-3-642-04818-0]
[48] Campanoni S, Brownell K, Kanev S, Jones TM, Wei GY, Brooks D. HELIX-RC: An architecture-compiler co-design for automatic
parallelization of irregular programs. In: Proc. of the 41st Int’l Symp. on Computer Architecture (ISCA). Minneapolis: IEEE, 2014.
217–228. [doi: 10.1109/ISCA.2014.6853215]
[49] Susungi A, Tadonki C. Intermediate representations for explicitly parallel programs. ACM Computing Surveys, 2022, 54(5): 100. [doi: 10.
1145/3452299]
[50] Baghdadi R, Beaugnon U, Cohen A, Grosser T, Kruse M, Reddy C, Verdoolaege S, Betts A, Donaldson AF, Ketema J, Absar J, van
Haastregt S, Kravets A, Lokhmotov A, David R, Hajiyev E. PENCIL: A platform-neutral compute intermediate language for accelerator
programming. In: Proc. of the 2015 Int’l Conf. on Parallel Architecture and Compilation. San Francisco: IEEE, 2015. 138–149. [doi: 10.
1109/PACT.2015.17]
[51] Khaldi D, Jouvelot P, Irigoin F, Ancourt C. SPIRE: A methodology for sequential to parallel intermediate representation extension. In:
Proc. of the 17th Workshop on Compilers for Parallel Computing. Lyon: CPC, 2013.
[52] Rotem N, Fix J, Abdulrasool S, Catron G, Deng S, Dzhabarov R, Gibson N, Hegeman J, Lele M, Levenstein R, Montgomery J, Maher B,
Nadathur S, Olesen J, Park J, Rakhov A, Smelyanskiy M, Wang M. Glow: Graph lowering compiler techniques for neural networks.
arXiv:1805.00907, 2018. [doi: 10.48550/arXiv.1805.00907]
附中文参考文献:
[14] 马春燕, 吕炳旭, 叶许姣, 张雨. 基于 LLVM Pass 的复杂嵌套循环自动并行化框架. 软件学报, 2023, 34(7): 3022–3042. http://www.
jos.org.cn/1000-9825/6858.htm [doi: 10.13328/j.cnki.jos.006858]
[22] 陈达智, 赵荣彩, 姚远, 韩林. MPI 自动并行化编译系统中消息传递代码生成算法. 计算机科学, 2012, 39(6): 301–304. [doi:
10.3969/j.issn.1002-137X.2012.06.075]
[26] 沈启. 智能建筑无中心平台架构研究 [博士学位论文]. 北京: 清华大学, 2015.
[37] 刘夕广, 谢立强, 杨启亮, 邢建春, 姜子炎, 赵千川. 消防系统在群智能建筑平台下的仿真实验研究. 建筑科学, 2020, 36(4): 149–154.
[doi: 10.13614/j.cnki.11-1962/tu.2020.04.22]
[39] 朱丹丹. 群智能建筑控制平台技术. 建筑节能, 2018, 46(11): 1–4. [doi: 10.3969/j.issn.1673-7237.2018.11.001]
[41] 代允闯, 姜子炎, 张烽, 李洪波, 赵小虎, 宋媚琳, 浦江. 群智能系统在某商业建筑中的应用. 暖通空调, 2019, 49(11): 18–25, 17.
附录 A
图 A1 给出 SwarmL 抽象语法的核心部分. 其中, DomainDef 定义了域的名称, 并指定组成该域的约束条件, 包
括节点类型、节点名称等. VarFieldDef 定义对应于建筑物理场的场变量名称, 并指定该变量对应的节点类型和域
名, 其描述了场变量有效数值的分布范围. 参数表示场变量投影到某个或某些节点上的数值. ParaDef 定义参数名
称, 并且指定该参数所指向的场变量名称, 以及参数的更新时间和计算域. FunctionDef 定义函数名称, 输出输入参
数的名称和计算域. PeriodicTrigger 描述该某个建筑应用任务的起始时刻、结束时刻和触发周期, 其中触发周期为
此进程内子语句执行的间隔周期. SwarmParallelStmt 通过指定节点类型和域名来约束哪些节点参与该语句的执
行. 当建筑功能系统中某个节点作为发起点触发计算后, 所有满足该约束条件的节点都并行处理该语句. SwarmL
语法混合了命令式和函数式构造, 其中一部分类似于通用编程语言, 例如循环、分支和部分表达式等, 这确保了新
手的学习曲线很短, 并且语言易于阅读和熟悉.