7,850 Hits in 4.9 sec

Functional Meta-programming for Parallel Skeletons [chapter]

Jocelyn Serot, Joel Falcou
2008 Lecture Notes in Computer Science  
We describe the implementation in MetaOcaml of a small domain specific language for skeleton-based parallel programming.  ...  We show how the meta-programming facilities offered by this language make it possible to virtually eliminate the run-time overhead for the resulting programs, compared to a hand-crafted, low-level implementation  ...  In the sequel, we will apply this idea to obtain an efficient implementation of a DSL for skeleton-based parallel programming. A DSL for Skeleton-Based Parallel Programming Syntax.  ... 
doi:10.1007/978-3-540-69384-0_21 fatcat:4hndhxj6ufbvnem53ordhw5psy


Kevin Hammond, Jost Berthold, Rita Loogen
2003 Parallel Processing Letters  
This paper uses Template Haskell to automatically select appropriate skeleton implementations in the Eden parallel dialect of Haskell.  ...  Usually, this expression will be the application of some meta-function. Its result replaces the meta-application at compile-time to yield the non-meta source program.  ...  (myFarm myParams) f xs ... application program ↓ programmer or pre-processor replacement ...$(autoFarm environment) f xs ... meta program ↓ compiler evaluates meta-function applications ...  ... 
doi:10.1142/s0129626403001380 fatcat:hzurr2oxobdgnjqd5p5iwyig3u

Algorithmic Skeletons within an Embedded Domain Specific Language for the CELL Processor

Tarik Saidani, Joel Falcou, Claude Tadonki, Lionel Lacassagne, Daniel Etiemble
2009 2009 18th International Conference on Parallel Architectures and Compilation Techniques  
We propose to use Generative Programming and more precisely template meta-programing to design an Embedded Domain Specific Language using algorithmic skeletons to generate applications based on a high-level  ...  code are real challenges for application developers.  ...  Acknowledgement This work was supported by the OCELLE project, funded by the French National Agency for Research (ANR).  ... 
doi:10.1109/pact.2009.21 dblp:conf/IEEEpact/SaidaniFTLE09 fatcat:xpj74526graivcl3sqf4wbngay

A Fusion-Embedded Skeleton Library [chapter]

Kiminori Matsuzaki, Kazuhiko Kakehi, Hideya Iwasaki, Zhenjiang Hu, Yoshiki Akashi
2004 Lecture Notes in Computer Science  
We illustrate our idea with a new skeleton library for parallel programming in C++. It is simple and efficient to use just like other C++ libraries.  ...  This paper addresses a new framework for designing and implementing skeleton libraries, in which each skeleton should not only be efficiently implemented as is usually done, but also be equipped with a  ...  For example, a meta program that converts a map skeleton into buildJ may be implemented as follows.  ... 
doi:10.1007/978-3-540-27866-5_85 fatcat:duvt2rgepzhghnupwwbjqxwwmy

Implementing Fusion-Equipped Parallel Skeletons by Expression Templates [chapter]

Kiminori Matsuzaki, Kento Emoto
2010 Lecture Notes in Computer Science  
Skeletal parallelism is a promising methodology for easy parallel programming in which users develop parallel programs by composing ready-made components called parallel skeletons.  ...  We developed a parallel skeleton library SkeTo that provides parallel skeletons implemented in C++ and MPI for distributedmemory environments.  ...  However, in the skeletal parallel programming, users can specify any function object for parallel skeletons and thus users' programs tend to have errors.  ... 
doi:10.1007/978-3-642-16478-1_5 fatcat:nta4nafvrbbfjcrg373dicigju

Optimizations on Array Skeletons in a Shared Memory Environment [chapter]

Clemens Grelck
2002 Lecture Notes in Computer Science  
Map-and fold-like skeletons are a suitable abstractions to guide parallel program execution in functional array processing.  ...  Whereas the meta skeleton exclusively takes responsibility for the organization of parallel program execution, the original array skeletons are focussed to their individual numerical operation.  ...  By merging several spmd meta skeletons into a single one, considerable overhead for the organization of parallel program execution can be shared among multiple array skeletons.  ... 
doi:10.1007/3-540-46028-4_3 fatcat:lffiimahungftperfzhsxlk6mu

Co-design of Distributed Systems Using Skeleton and Autonomic Management Abstractions [chapter]

M. Aldinucci, M. Danelutto, P. Kilpatrick
2009 Lecture Notes in Computer Science  
of non-functional concerns.  ...  In particular, we demonstrate how restricted parallel/distributed patterns (or skeletons) may be efficiently managed by rule-based autonomic managers.  ...  These higher-order functions can be provided in a way suitable for to the programming model adopted by the user.  ... 
doi:10.1007/978-3-642-00955-6_46 fatcat:ik77qzcqrzfqtn5t4lyiptdg5i

A library of constructive skeletons for sequential style of parallel programming

Kiminori Matsuzaki, Hideya Iwasaki, Kento Emoto, Zhenjiang Hu
2006 Proceedings of the 1st international conference on Scalable information systems - InfoScale '06  
This paper addresses principle of designing skeleton libraries of parallel programming and reports implementation details and practical applications of a skeleton library SkeTo.  ...  , are hoping to write parallel programs.  ...  -A meta mechanism is introduced to support extension of new skeletons and for optimizing skeletal parallel programs.  ... 
doi:10.1145/1146847.1146860 dblp:conf/infoscale/MatsuzakiIEH06 fatcat:arsyly4p75fhzny6xinbkuwv5a

Embedding Foreign Code [chapter]

Robert Clifton-Everest, Trevor L. McDonell, Manuel M. T. Chakravarty, Gabriele Keller
2014 Lecture Notes in Computer Science  
In particular, we show, in the context of a functional embedded language for GPU programming, how template meta programming simplifies code generation and optimisation.  ...  Special purpose embedded languages facilitate generating high-performance code from purely functional high-level code; for example, we want to program highly parallel GPUs without the usual high barrier  ...  We thank Serge Le Huitouze for helpful comments.  ... 
doi:10.1007/978-3-319-04132-2_10 fatcat:pefoyxy2b5aifl6ihk2ojy4bqm

Discovering applications of higher order functions through proof planning

A. Cook, A. Ireland, G. Michaelson, N. Scaife
2005 Formal Aspects of Computing  
The close association between higher order functions (HOFs) and algorithmic skeletons is a promising source of automatic parallelisation of programs.  ...  A theorem proving approach to discovering HOFs in functional programs is presented.  ...  Group for much fruitful discussion.  ... 
doi:10.1007/s00165-004-0054-5 fatcat:r33urpmtivfolpzxpg4636fjxa

Parallelising An Erlang Multi-Agent System

Adam D. Barwell, Kevin Hammond, Aleksander Byrski, Wojciech Turek
2016 Zenodo  
While algorithmic skeletons abstract away the low-level aspects of parallel programming that often plague traditional techniques, skeletons cannot always be readily introduced to sequential code.  ...  Program Shaping is the process of transforming a sequential program in order to better enable the introduction of parallelism.  ...  Using a skeleton approach allows the programmer to adopt a top-down structured approach to parallel programming, where skeletons are composed to give the overall parallel structure of the program.  ... 
doi:10.5281/zenodo.581147 fatcat:4okxpx7x7bhdjpptgpskqpq7zq

Merging compositions of array skeletons in SaC

Clemens Grelck, Sven-Bodo Scholz
2006 Parallel Computing  
This offers a high potential for code reuse as well as for high-level program specifications.  ...  In the array language SAC, implicitly parallel array skeletons can be defined from meta-skeletons that are part of the language itself.  ...  For manipulating these, several variants of meta-skeletons, the so called WITH-loops, are provided.  ... 
doi:10.1016/j.parco.2006.08.003 fatcat:japi4w44lzdjlkechqffwltpkm

Parallelization of C# Programs Through Annotations [chapter]

Cristian Dittamo, Antonio Cisternino, Marco Danelutto
2007 Lecture Notes in Computer Science  
Our study focuses on annotated CLR programs written using a variant of C#; we developed a meta-program that processes these sequential programs in their binary form and generates optimized parallel code  ...  In this paper we discuss how extensible meta-data featured by virtual machines, such as JVM and CLR, can be used to specify the parallelization aspect of annotated programs.  ...  a set of pre-defined parallelism exploitation patterns/skeletons.  ... 
doi:10.1007/978-3-540-72586-2_86 fatcat:xnl5w2ximrfy3ju7mmvgkzyc2i

Using Program Shaping And Algorithmic Skeletons To Parallelise An Evolutionary Multi-Agent System In Erlang

Adam D. Barwell, Christopher Brown, Kevin Hammond, Wojciech Turek, Aleksander Byrski
2017 Zenodo  
between functions and data that obstruct the introduction of parallelism.  ...  Whilst algorithmic skeletons abstract away the low-level aspects of parallel programming that often plague traditional techniques, it is not always easy to introduce them into an arbitrary program, especially  ...  In [2] , we introduced a parallel refactoring methodology for programming Erlang programs, to facilitate the introduction of parallel skeletons.  ... 
doi:10.5281/zenodo.581141 fatcat:nc2q2dhbmnenrasxetwru2ni3y

New implementation of a BSP composition primitive with application to the implementation of algorithmic skeletons

F. Gava, I. Garnier
2009 2009 IEEE International Symposium on Parallel & Distributed Processing  
BSML proposes an extension of ML programming with a small set of primitives. One of these primitives, called parallel superposition, allows the parallel composition of two BSP programs.  ...  We refer to [3] for a gentle introduction to the BSP model. 3. 4.  ...  For simplicity, we generate the program in meta fashion as a simple string, we will use a MetaOCaml-like syntax: the meta-code will be quoted between ".<code>.".  ... 
doi:10.1109/ipdps.2009.5160876 dblp:conf/ipps/GavaG09 fatcat:q76e4u7g7nftph3mtbgjwhckbu
« Previous Showing results 1 — 15 out of 7,850 results