International audienceThis article proposes to use C++ template metaprogramming techniques to decide at compile-time which parts of a code sequence in a loop can be parallelized. The approach focuses on characterizing the way a variable is accessed in a loop (reading or writing), first to decide how the loop should be split to enable the analysis for parallelization on each part, and then to decide if the iterations inside each loop are independentso that they can be run in parallel. The conditions that enable the parallelization of a loop are first explained to justify the proposed decision algorithm exposed. Then, a C++ library-based solution is presented that uses expression templates to get the relevant information necessary for the par...
We investigate the relationship between C++ template metaprogramming and computational complexity, s...
Template metaprograms have become an essential part of today’s C++ programs: with proper template de...
C++ does not support run-time resolution of template type arguments. To circumvent this restriction,...
International audienceThis article proposes to use C++ template metaprogramming techniques to decide...
International audienceThis article presents a framework for algorithmic skeletons that aims at repre...
This paper describes the Boost C++ template metaprogramming library (MPL), an extensible compile-tim...
Large scale scientific computing raises questions on different levels ranging from the fomulation of...
Parallel array library ParSol is an easy way to parallelize data parallel algorithms implemented in ...
International audienceDesigning parallel software is a difficult task, but it became essential in mo...
How to program a parallel machine has always been a major research problem. Many tools, languages an...
We investigate the relationship between template metaprogramming and computational complexity, show...
Ever-increasing size and complexity of software applications and libraries in parallel scientific co...
Programming correct parallel software in a cost-effective way is a challenging task requiring a high...
International audienceThe continuous proliferation of multicore architectures has placed developers ...
Abstract. Template metaprogramming (TMP) is an emerging new di-rection in C++ programming for execut...
We investigate the relationship between C++ template metaprogramming and computational complexity, s...
Template metaprograms have become an essential part of today’s C++ programs: with proper template de...
C++ does not support run-time resolution of template type arguments. To circumvent this restriction,...
International audienceThis article proposes to use C++ template metaprogramming techniques to decide...
International audienceThis article presents a framework for algorithmic skeletons that aims at repre...
This paper describes the Boost C++ template metaprogramming library (MPL), an extensible compile-tim...
Large scale scientific computing raises questions on different levels ranging from the fomulation of...
Parallel array library ParSol is an easy way to parallelize data parallel algorithms implemented in ...
International audienceDesigning parallel software is a difficult task, but it became essential in mo...
How to program a parallel machine has always been a major research problem. Many tools, languages an...
We investigate the relationship between template metaprogramming and computational complexity, show...
Ever-increasing size and complexity of software applications and libraries in parallel scientific co...
Programming correct parallel software in a cost-effective way is a challenging task requiring a high...
International audienceThe continuous proliferation of multicore architectures has placed developers ...
Abstract. Template metaprogramming (TMP) is an emerging new di-rection in C++ programming for execut...
We investigate the relationship between C++ template metaprogramming and computational complexity, s...
Template metaprograms have become an essential part of today’s C++ programs: with proper template de...
C++ does not support run-time resolution of template type arguments. To circumvent this restriction,...