An Intermediate Representation Approach to Reducing Test Suites for Retargeted Compilers

Author(s):  
Gyun Woo ◽  
Heung Seok Chae ◽  
Hanil Jang
2012 ◽  
Author(s):  
Tom Busey ◽  
Chen Yu ◽  
Francisco Parada ◽  
Brandi Emerick ◽  
John Vanderkolk

Author(s):  
S. Blom ◽  
S. Darabi ◽  
M. Huisman ◽  
M. Safari

AbstractA commonly used approach to develop deterministic parallel programs is to augment a sequential program with compiler directives that indicate which program blocks may potentially be executed in parallel. This paper develops a verification technique to reason about such compiler directives, in particular to show that they do not change the behaviour of the program. Moreover, the verification technique is tool-supported and can be combined with proving functional correctness of the program. To develop our verification technique, we propose a simple intermediate representation (syntax and semantics) that captures the main forms of deterministic parallel programs. This language distinguishes three kinds of basic blocks: parallel, vectorised and sequential blocks, which can be composed using three different composition operators: sequential, parallel and fusion composition. We show how a widely used subset of OpenMP can be encoded into this intermediate representation. Our verification technique builds on the notion of iteration contract to specify the behaviour of basic blocks; we show that if iteration contracts are manually specified for single blocks, then that is sufficient to automatically reason about data race freedom of the composed program. Moreover, we also show that it is sufficient to establish functional correctness on a linearised version of the original program to conclude functional correctness of the parallel program. Finally, we exemplify our approach on an example OpenMP program, and we discuss how tool support is provided.


2016 ◽  
Vol 44 (2) ◽  
pp. 311-324 ◽  
Author(s):  
Niranjan Hasabnis ◽  
R. Sekar

Author(s):  
Hao Li ◽  
Peng Zhang ◽  
Guangda Sun ◽  
Chengchen Hu ◽  
Danfeng Shan ◽  
...  

2017 ◽  
Vol 45 (1) ◽  
pp. 661-675
Author(s):  
Daniel Lustig ◽  
Andrew Wright ◽  
Alexandros Papakonstantinou ◽  
Olivier Giroux

2020 ◽  
pp. 1-14
Author(s):  
Siqiang Chen ◽  
Masahiro Toyoura ◽  
Takamasa Terada ◽  
Xiaoyang Mao ◽  
Gang Xu

A textile fabric consists of countless parallel vertical yarns (warps) and horizontal yarns (wefts). While common looms can weave repetitive patterns, Jacquard looms can weave the patterns without repetition restrictions. A pattern in which the warps and wefts cross on a grid is defined in a binary matrix. The binary matrix can define which warp and weft is on top at each grid point of the Jacquard fabric. The process can be regarded as encoding from pattern to textile. In this work, we propose a decoding method that generates a binary pattern from a textile fabric that has been already woven. We could not use a deep neural network to learn the process based solely on the training set of patterns and observed fabric images. The crossing points in the observed image were not completely located on the grid points, so it was difficult to take a direct correspondence between the fabric images and the pattern represented by the matrix in the framework of deep learning. Therefore, we propose a method that can apply the framework of deep learning viau the intermediate representation of patterns and images. We show how to convert a pattern into an intermediate representation and how to reconvert the output into a pattern and confirm its effectiveness. In this experiment, we confirmed that 93% of correct pattern was obtained by decoding the pattern from the actual fabric images and weaving them again.


Sign in / Sign up

Export Citation Format

Share Document