A Quick Introduction to Functional Verification of Array-Intensive Programs

05/22/2019
by   Kunal Banerjee, et al.
0

Array-intensive programs are often amenable to parallelization across many cores on a single machine as well as scaling across multiple machines and hence are well explored, especially in the domain of high-performance computing. These programs typically undergo loop transformations and arithmetic transformations in addition to parallelizing transformations. Although a lot of effort has been invested in improving parallelizing compilers, experienced programmers still resort to hand-optimized transformations which is typically followed by careful tuning of the transformed program to finally obtain the optimized program. Therefore, it is critical to verify that the functional correctness of an original sequential program is not sacrificed during the process of optimization. In this paper, we cover important literature on functional verification of array-intensive programs which we believe can be a good starting point for one interested in this field.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/10/2020

State diagrams of functional programs

In the paper we introduce graphical objects (called state diagrams) rela...
research
04/11/2018

Permission Inference for Array Programs

Information about the memory locations accessed by a program is, for ins...
research
02/06/2018

Formal Verification of Spacecraft Control Programs Using a Metalanguage for State Transformers

Verification of functional correctness of control programs is an essenti...
research
07/29/2019

Proposition d'un modèle pour l'optimisation automatique de boucles dans le compilateur Tiramisu : cas d'optimisation de déroulage

Computer architectures become more and more complex. It requires more ef...
research
02/21/2019

Proceedings Fifth International Workshop on Rewriting Techniques for Program Transformations and Evaluation

This volume contains the formal proceedings of the 5th International Wor...
research
11/10/2019

Using Deep Neural Networks for Estimating Loop Unrolling Factor

Optimizing programs requires deep expertise. On one hand, it is a tediou...
research
02/04/2019

Blaze: Simplified High Performance Cluster Computing

MapReduce and its variants have significantly simplified and accelerated...

Please sign up or login with your details

Forgot password? Click here to reset