共查询到10条相似文献,搜索用时 171 毫秒
1.
为了充分发挥高性能计算机的计算能力,缓解程序员设计和编写并行程序的压力,扩充可用软件集合,设计并实现了利用交互界面深入挖掘程序中的可向量化语句,优化生成代码中的向量化语句,提高生成代码的执行效率.该方法对充分发挥高性能计算机的计算能力,增强系统可用性和扩展应用范围具有重要的意义,同时能够提供有效的辅助手段和工具支持.渐进式智能回溯向量化代码调优架构通过对用户提交的串行程序进行程序分析和变换,采用串行程序分析、数据依赖分析、向量化分析等技术手段,根据分析结果对程序进行变换和优化,自动生成最终的向量化代码.该方法通过分析串行程序中潜在的并行性,将其自动变换为等价的向量化代码形式,大大简化了程序员的工作. 相似文献
2.
Michael Wolfe 《The Journal of supercomputing》1991,4(4):321-344
Data dependence concepts are reviewed, concentrating on and extending previous work on direction vectors. A bit vector representation of direction vectors is discussed. Various program restructuring transformations, such as loop circulation (a form of loop interchanging), reversal, skewing, sectioning (strip mining), combing, and rotation, are discussed in terms of their effects on the execution of the program, the required dependence tests for legality, and the effects of each transformation on the dependence graph. The bit vector representation of direction vectors is used to develop simple and efficient bit vector operations for the dependence tests and to generate the modified direction vector for each transformation. Finally, a simple method to interchange complex convex loop limits is given, which is useful when several loop restructuring operations are being applied in sequence.This work was supported by NSF Grant CCR-8906909 and DARPA Grant MDA972-88-J-1004. 相似文献
3.
4.
Larry Carter Jeanne Ferrante Vasanth Bala 《International journal of parallel programming》1994,22(5):485-518
The ability to represent, manipulate, and optimize data placement and movement between processors in a distributed address
space machine is crucial in allowing compilers to generate efficient code. Data placement is embodied in the concept of dataownership. Data movement can include not just the transfer of data values but the transfer of ownership as well. However, most existing
compilers for distributed address space machines either represent these notions in a language-or machine-dependent manner,
or represent data or ownership transfer implicitly. In this paper we describe XDP, a set of intermediate language extensions
for representing and manipulating data and ownership transfers explicitly in a compller. XDP is supported by a set of per-processor
structures that can be used to implement ownership testing and manipulation at run-time, XDP provides a uniform framework
for translating and optimizing sequential, data parallel, and message-passing programs to a distributed address space machine.
We describe analysis and optimization techniques for this explicit representation. Finally, we compare the intermediate languages
of some current distributed address space compilers with XDP. 相似文献
5.
6.
7.
8.
9.
D. V. Efanov V. V. Sapozhnikov Vl. V. Sapozhnikov 《Automatic Control and Computer Sciences》2018,52(1):1-12
A fundamentally new approach to building a code with summation of on-data bits based on the selection and separate check of subsets of bits of the data vector is presented. The properties of the proposed code are analyzed in comparison with the classic and modified Berger codes. The advantages and disadvantages of new codes with summation of on-data bits are noted. The basic properties of the proposed codes with summation that should be taken into account in solving problems of technical diagnostics are established. The results of experimental applications of the developed codes to the organization of concurrent error detection systems of combinational benchmarks from LGSynth`89 are given. 相似文献
10.
Many scientific codes can achieve significant performance improvement when executed on a computer equipped with a vector processor. Vector constructs in source code should be recognized by a vectorizing compiler or preprocessor. This paper discusses, from a general point of view, how a vectorizing compiler/preprocessor can be evaluated. The areas discussed include data dependence analysis, IF loop analysis, nested loops, loop interchanging, loop collapsing, indirect addressing, use of temporary storage, and order of arithmetic. The ideas presented are based on vectorization of over a million lines of production codes and an extensive test suite developed to evaluate preprocessors under varying degrees of code complexity. Areas for future research are also discussed. 相似文献