Designing Architecture-aware Libraries with boost.proto

Embedded Domain Specific Languages (EDSL) are great tools to design both efficient and expressive library. One of the various way to do so is to build C++ library based on the Expression templates idiom. However, many projects using expression templates rely on a manual rewrite of the expression system, leading to poorly scalable, hard to retarget code. To try to go further, we decided to use Boost.Proto - a C++ EDSL toolkit - to redesign NT2, a C++ scientific computation library similar to MATLAB in term of interface, while taking architecture into account at the very beginning. This talks is about how this redesign helped leveraging multi-architectures support and how it helped making NT2 more open and aware of potential future systems

Speaker: Joel Falcou

Language: english



Go back