D. Abrahams and A. Gurtovoy, C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ in Depth Series), 2004.

M. Baboulin, A. Buttari, J. Dongarra, J. Kurzak, J. Langou et al., Accelerating scientific computations with mixed precision algorithms, Computer Physics Communications, vol.180, issue.12, pp.2526-2533, 2009.
DOI : 10.1016/j.cpc.2008.11.005

H. Chafi, Z. Devito, A. Moors, T. Rompf, A. K. Sujeeth et al., Language virtualization for heterogeneous parallel computing, ACM SIGPLAN Notices, vol.45, issue.10, pp.835-847, 2010.
DOI : 10.1145/1932682.1869527

M. Cole, Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming, Parallel Computing, vol.30, issue.3, pp.389-406, 2004.
DOI : 10.1016/j.parco.2003.12.002

T. Cramer, D. Schmidl, M. Klemm, and D. Mey, OpenMP Programming on Intel Xeon Phi Coprocessors: An Early Performance Comparison, Proceedings of the Manycore Applications Research Community (MARC) Symposium at RWTH Aachen University, pp.38-44, 2012.

K. Czarnecki and U. W. Eisenecker, Generative programming -methods, tools and applications, 2000.

K. Czarnecki, U. W. Eisenecker, R. Glück, D. Vandevoorde, and T. L. Veldhuizen, Generative Programming and Active Libraries, International Seminar on Generic Programming, pp.25-39, 1998.
DOI : 10.1007/3-540-39953-4_3

K. Czarnecki, J. T. Donnell, J. Striegnitz, and W. Taha, DSL Implementation in MetaOCaml, Template Haskell, and C++, Domain-Specific Program Generation, pp.51-72, 2003.
DOI : 10.1007/978-3-540-25935-0_4

J. De-guzman, The boost spirit parser generator framework, 2008.

D. Demidov, K. Ahnert, K. Rupp, and P. Gottschling, Programming CUDA and OpenCL: A Case Study Using Modern C++ Libraries, SIAM Journal on Scientific Computing, vol.35, issue.5, pp.453-472, 2013.
DOI : 10.1137/120903683

Z. Devito, J. Hegarty, A. Aiken, P. Hanrahan, and J. Vitek, Terra, ACM SIGPLAN Notices, vol.48, issue.6, pp.105-116, 2013.
DOI : 10.1145/2499370.2462166

J. Eckhardt, R. Kaiabachev, E. Pasalic, K. Swadi, and W. Taha, Implicitly Heterogeneous Multi-Stage Programming, New Generation Computing, vol.25, issue.3, pp.305-336, 2007.
DOI : 10.1007/s00354-007-0020-x

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.59.2778

P. Esterie, J. Falcou, M. Gaunard, J. Lapresté, and L. Lacassagne, The numerical template toolbox: A modern C++ design for scientific computing, Journal of Parallel and Distributed Computing, vol.74, issue.12, pp.743240-3253, 2014.
DOI : 10.1016/j.jpdc.2014.07.002

URL : https://hal.archives-ouvertes.fr/hal-01061305

P. Estérie, M. Gaunard, J. Falcou, J. Lapresté, B. Rozoy et al., SIMD: generic programming for portable SIMDization, Proceedings of the 21st international conference on Parallel architectures and compilation techniques, pp.431-432, 2012.

G. Guennebaud and B. Jacob, Eigen: A C++ Linear Algebra Library, 2014.

J. Hoberock and N. Bell, Thrust: A parallel template library, p.43, 2010.

P. Hudak, Building domain-specific embedded languages, ACM Computing Surveys, vol.28, issue.4es, 1996.
DOI : 10.1145/242224.242477

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.5006

C. Stephan, J. Kramer, and . Hagemann, SciPAL: Expression templates and composition closure objects for high performance computational physics with cuda and openmp, ACM Transactions on Parallel Computing, vol.1, issue.2, p.15, 2015.

X. Leroy, D. Doligez, A. Frisch, and J. Garrigue, Didier Rémy, and Jérôme Vouillon. The objective caml system release 3.12. Documentation and user's manual, INRIA, 2010.

K. Lutz and . Boost, Compute, 2015.

E. Niebler, Proto, Proceedings of the 2007 Symposium on Library-Centric Software Design, LCSD '07, 2007.
DOI : 10.1145/1512762.1512767

J. D. Owens, D. Luebke, N. Govindaraju, M. Harris, J. Krüger et al., A Survey of General-Purpose Computation on Graphics Hardware, Computer Graphics Forum, vol.7, issue.4, pp.80-113, 2007.
DOI : 10.1016/j.rti.2005.04.002

J. Ragan-kelley, C. Barnes, A. Adams, S. Paris, F. Durand et al., Halide, ACM SIGPLAN Notices, vol.48, issue.6, pp.519-530, 2013.
DOI : 10.1145/2499370.2462176

T. Rompf and M. Odersky, Lightweight modular staging: a pragmatic approach to runtime code generation and compiled dsls, Acm Sigplan Notices, pp.127-136, 2010.

K. Rupp, F. Rudolf, and J. Weinbub, ViennaCL-a high level linear algebra library for GPUs and multi-core CPUs, Proc. GPUScA, pp.51-56, 2010.

W. Taha, A Gentle Introduction to Multi-stage Programming, Domain-Specific Program Generation, pp.30-50, 2004.
DOI : 10.1007/978-3-540-25935-0_3

W. Taha, C. Calcagno, . Leroy, . Pizzi, . Pasalic et al., Metaocaml-a compiled, type-safe, multi-stage programming language, 2006.

S. Tomov, J. Dongarra, and M. Baboulin, Towards dense linear algebra for hybrid GPU accelerated manycore systems, Parallel Computing, vol.36, issue.5-6, pp.232-240, 2010.
DOI : 10.1016/j.parco.2009.12.005

A. Tran-tan, J. Falcou, D. Etiemble, and H. Kaiser, Automatic Task-Based Code Generation for High Performance Domain Specific Embedded Language, 7th International Symposium on High-Level Parallel Programming and Applications, p.2014, 2014.
DOI : 10.1007/s10766-015-0354-9

URL : https://hal.archives-ouvertes.fr/hal-01061423

L. Tratt, Model transformations and tool integration, Software & Systems Modeling, vol.47, issue.2, pp.112-122, 2005.
DOI : 10.1145/242224.242477

L. Todd, D. Veldhuizen, and . Gannon, Active Libraries: Rethinking the roles of compilers and libraries, Proceedings of the SIAM Workshop on Object Oriented Methods for Inter-operable Scientific and Engineering Computing (OO'98, 1998.

S. Wienke, P. Springer, C. Terboven, and D. Mey, OpenACC ??? First Experiences with Real-World Applications, Euro-Par 2012 Parallel Processing, pp.859-870, 2012.
DOI : 10.1007/978-3-642-32820-6_85