This dissertation contains an overview of the research I’ve been doing over in Glasgow University, which is mainly a project of developing an interface between two array programming languages, Single Assignment C and Vector Pascal, to combine them together by using the Vector Pascal code generator for Single Assignment C. Single Assignment C provides support for multi-threading but it doesn’t contain any utilization of SIMD technology, and Vector Pascal implements array operations with the help of SIMD instruction sets of modern general processors. Thus my hypothesis is that this combination will let the program enjoy higher run-time performance compared to the one which is only compiled by using Single Assignment C’s compiler.This dissertation explains the detail of designing and implementing this interface between these two languages; and the system to manipulate the three parts, i.e. the interface and the two languages’ compilers together to make them work automatically. The interface is generally developed based on traversal over Syntax Tree and involves works of vectorization and loop unrolling. Meanwhile, a benchmark testing system to validate my hypothesis is created and introduced in this dissertation too, which is accompanied with the testing results and analysis.
【 预 览 】
附件列表
Files
Size
Format
View
An interface between single assignment C and vector Pascal