Writing correct parallel programs becomes more and more difficult as the complexity and heterogeneity of processors increase. This issue is addressed by parallelising compilers. Various compiler directives can be used to tell these compilers where to parallelise. This paper addresses the correctness of such compiler directives for loop parallelisation. Specifically, we propose a technique based on separation logic to verify whether a loop can be parallelised. Our approach requires each loop iteration to be specified with the locations that are read and written in this iteration. If the specifications are correct, they can be used to draw conclusions about loop (in)dependences. Moreover, they also reveal where synchronisation is needed in th...
A commonly used approach to develop parallel programs is to augment a sequential program with compil...
[[abstract]]The main function of parallelizing compilers is to analyze sequential programs, in parti...
Current parallelizing compilers cannot identify a significant fraction of parallelizable loops becau...
Writing correct parallel programs becomes more and more difficult as the complexity and heterogeneit...
This paper proposes a technique to specify and verify whether a loop can be parallelised. Our approa...
This paper proposes a technique to specify and verify whether a loop can be parallelised. Our ap-pro...
A commonly used approach to develop deterministic parallel programs is to augment a sequential progr...
This work leverages an original dependency analysis to parallelize loops regardless of their form i...
Existing compilers often fail to parallelize sequential code, even when a program can be manually...
This thesis presents a set of verification techniques based on permission-based separation logic to ...
Abstract In this paper, an approach to the problem of exploiting parallelism within nested loops is ...
Abstract. Loops and other unbound control structures constitute a major bottleneck in formal softwar...
Concurrency is often an optimisation, rather than intrinsic to the functional behaviour of a program...
[Abstract] Summary form only given. The automatic parallelization of loops that contain complex comp...
A commonly used approach to develop parallel programs is to augment a sequential program with compil...
A commonly used approach to develop parallel programs is to augment a sequential program with compil...
[[abstract]]The main function of parallelizing compilers is to analyze sequential programs, in parti...
Current parallelizing compilers cannot identify a significant fraction of parallelizable loops becau...
Writing correct parallel programs becomes more and more difficult as the complexity and heterogeneit...
This paper proposes a technique to specify and verify whether a loop can be parallelised. Our approa...
This paper proposes a technique to specify and verify whether a loop can be parallelised. Our ap-pro...
A commonly used approach to develop deterministic parallel programs is to augment a sequential progr...
This work leverages an original dependency analysis to parallelize loops regardless of their form i...
Existing compilers often fail to parallelize sequential code, even when a program can be manually...
This thesis presents a set of verification techniques based on permission-based separation logic to ...
Abstract In this paper, an approach to the problem of exploiting parallelism within nested loops is ...
Abstract. Loops and other unbound control structures constitute a major bottleneck in formal softwar...
Concurrency is often an optimisation, rather than intrinsic to the functional behaviour of a program...
[Abstract] Summary form only given. The automatic parallelization of loops that contain complex comp...
A commonly used approach to develop parallel programs is to augment a sequential program with compil...
A commonly used approach to develop parallel programs is to augment a sequential program with compil...
[[abstract]]The main function of parallelizing compilers is to analyze sequential programs, in parti...
Current parallelizing compilers cannot identify a significant fraction of parallelizable loops becau...