Heterogeneous programming
Parallel components for PDEs and optimization: some issues and experiences
Adaptive numerical components for PDE-based simulations
Automatic Differentiation: Applications, Theory, and Implementations