@inproceedings{ac7ffd43ec584171b1a7c35cbfcedecb,
title = "ForkLight: A control-synchronous parallel programming language",
abstract = "ForkLight is an imperative, task-parallel programming language for massively parallel shared memory machines. It is based on ANSI C, follows the SPMD model of parallel program execution, provides a sequentially consistent shared memory, and supports dynamically nested parallelism. While no assumptions are made on uniformity of memory access time or instruction level synchronicity of the underlying hardware, Forkkight offers a simple but powerful mechanism for coordination of parallel processes in the tradition and notation of PRAM algorithms: Beyond its asynchronous default execution mode, Forkkight offers a mode for control-synchronous execution that relates the program's block structure to parallel control flow. We give a scheme for compiling Forkkight to C with calls to a very small set of basic shared memory access operations like atomic fetch&add. This yields portability across parallel architectures and exploits the local optimizations of their native C compilers. Our implementation is publically available; performance results are reported. We also discuss translation to OpenMP.",
author = "Ke{\ss}ler, {Christoph W.} and Helmut Seidl",
note = "Publisher Copyright: {\textcopyright} Springer-Verlag Berlin Heidelberg 1999.; 7th International Conference on High-Performance Computing and Networking, HPCN Europe 1999 ; Conference date: 12-04-1999 Through 14-04-1999",
year = "1999",
doi = "10.1007/bfb0100613",
language = "English",
isbn = "3540658211",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "525--534",
editor = "Peter Sloot and Alfons Hoekstra and Bob Hertzberger and Marian Bubak",
booktitle = "High-Performance Computing and Networking - 7th International Conference, HPCN Europe 1999, Proceedings",
}