Compiling C for vectorization, parallelization, and inline expansion

Author:

Allen R.1,Johnson S.1

Affiliation:

1. Ardent Computer Corporation, Sunnyvale, CA

Abstract

Practical implementations of real languages are often an excellent way of testing the applicability of theoretical principles. Many stresses and strains arise from fitting practicalities, such as performance and standard compatibility, to theoretical models and methods. These stresses and strains are valuable sources of new research and insight, as well as an oft-needed check on the egos of theoreticians. Two fertile areas that are often explored by implementations are Places where tractable models fail to match practice. This can lead to new models, and may also affect practice (e.g., the average programming language has become more context free over the last several decades). Places where existing algorithms fail to deal with practical problems effectively, frequently because the problems are large in some dimension that has not been much explored. The present paper discusses the application of a much studied body of algorithms and techniques [Alle 83, KKLW 80, Bane 76, Wolf 78, Wolf 82, Kenn 80, Lamp 74, Huso 82] for vectorizing and optimizing Fortran to the problem of vectorizing and optimizing C. In the course of this work some algorithms were discarded, others invented, and many were tuned and modified. The experience gave us insight into the strengths and weaknesses of the current theory, as well as into the strong and weak points of C on vector/parallel machines. This paper attempts to communicate some of those insights.

Publisher

Association for Computing Machinery (ACM)

Subject

Computer Graphics and Computer-Aided Design,Software

Reference21 articles.

1. Allen F.E. and Cocke J. "A catalogue of optimizing transformations " Design and Optimization of Compilers R. Ruskin ed. Prentice-Hall Englewood Cliffs N.J. 1971 1-30. Allen F.E. and Cocke J. "A catalogue of optimizing transformations " Design and Optimization of Compilers R. Ruskin ed. Prentice-Hall Englewood Cliffs N.J. 1971 1-30.

2. Conversion of control dependence to data dependence

Cited by 10 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. A Retargetable MATLAB-to-C Compiler Exploiting Custom Instructions and Data Parallelism;ACM Transactions on Embedded Computing Systems;2020-12

2. Loop optimizations in C and C++ compilers: an overview;Annales Mathematicae et Informaticae;2020

3. Methods and metrics for fair server assessment under real-time financial workloads;Concurrency and Computation: Practice and Experience;2015-10-13

4. Software thread integration for instruction-level parallelism;ACM Transactions on Embedded Computing Systems;2013-08

5. Fast condensation of the program dependence graph;ACM SIGPLAN Notices;2013-06-23

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3