Large scale scientific computing raises questions on different levels ranging from the fomulation of the problems to the choice of the best algorithms and their implementation for a specific platform. There are similarities in these different topics that can be exploited by modern-style C++ template metaprogramming techniques to produce readable, maintainable and generic code. Traditional low-level code tend to be fast but platform-dependent, and it obfuscates the meaning of the algorithm. On the other hand, object-oriented approach is nice to read, but may come with an inherent performance penalty. These lectures aim to present he basics of the Expression Template (ET) idiom which allows us to keep the object-oriented approach without sac...
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...
In recent years, the C ++ language has evolved. To stick to the 1998/2003 standard is to miss many n...
Large scale scientific computing raises questions on different levels ranging from the fomulation of...
Ever-increasing size and complexity of software applications and libraries in parallel scientific co...
This paper describes the Boost C++ template metaprogramming library (MPL), an extensible compile-tim...
International audienceFrom a high level point of view, developers define objects they manipulate in ...
SIMD extensions were added to microprocessors in the mid '90s to speed-up data-parallel code by vect...
Abstract. Template metaprogramming (TMP) is an emerging new di-rection in C++ programming for execut...
International audienceThis article proposes to use C++ template metaprogramming techniques to decide...
In most existing software packages for the finite element method it is not possible to supply the we...
International audienceSIMD extensions have been a feature of choice for processor manufacturers for ...
Abstract: Many mathematical physics problems possess considerable computational complexity...
International audienceThis article presents a framework for algorithmic skeletons that aims at repre...
We investigate the relationship between C++ template metaprogramming and computational complexity, s...
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...
In recent years, the C ++ language has evolved. To stick to the 1998/2003 standard is to miss many n...
Large scale scientific computing raises questions on different levels ranging from the fomulation of...
Ever-increasing size and complexity of software applications and libraries in parallel scientific co...
This paper describes the Boost C++ template metaprogramming library (MPL), an extensible compile-tim...
International audienceFrom a high level point of view, developers define objects they manipulate in ...
SIMD extensions were added to microprocessors in the mid '90s to speed-up data-parallel code by vect...
Abstract. Template metaprogramming (TMP) is an emerging new di-rection in C++ programming for execut...
International audienceThis article proposes to use C++ template metaprogramming techniques to decide...
In most existing software packages for the finite element method it is not possible to supply the we...
International audienceSIMD extensions have been a feature of choice for processor manufacturers for ...
Abstract: Many mathematical physics problems possess considerable computational complexity...
International audienceThis article presents a framework for algorithmic skeletons that aims at repre...
We investigate the relationship between C++ template metaprogramming and computational complexity, s...
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...
In recent years, the C ++ language has evolved. To stick to the 1998/2003 standard is to miss many n...