The language-agnostic nature of Project Jupyter enables leveraging the components of the ecosystem for a large number of programming languages beyond Python, including Julia and R. However, despite the size and importance of the C++ scientific computing ecosystem, especially in the world of high-performance computing, adoption of Project Jupyter in this community has remained limited because of the compiled nature of the programming language.
Sylvain Corlay, Johan Mabille, Wolf Vollprecht, and Martin Renou share the latest features of the C++ Jupyter kernel, which uses the Cling C++ interpreter from CERN and the Xeus C++ implementation of the Jupyter protocol to offer features only supported by the reference Python kernel so far, including:
They then dive into the ecosystem of available libraries for interactive scientific computing in C++, such as xtensor for lazy array-based computing and xframe for labeled arrays and datasets. They conclude by demonstrating how the C++ backends for widget libraries like xplot, xleaflet, xthreejs, and xvolume can serve as a foundation for Jupyter interactive widget libraries in other Xeus-based Jupyter kernels, such as the JuniperKernel R kernel.
Sylvain Corlay is the founder of QuantStack and a quant researcher specializing in stochastic analysis and optimal control. Previously, Sylvain was a quant researcher at Bloomberg LP and an adjunct faculty member at Columbia University and NYU. As an open source developer, Sylvain mostly contributes to Project Jupyter in the area of interactive widgets and lower-level components such as traitlets. He is also a member of the steering committee of the project. Sylvain is also a contributor to a number of other open source projects for scientific computing and data visualization, such as bqplot, pythreejs, and ipyleaflet, and coauthored the xtensor C++ tensor algebra library. He holds a PhD in applied mathematics from University Paris VI.
Johan Mabille is a scientific software developer at QuantStack, where he specializes in high-performance computing in C++. Previously, Johan was a quant developer at HSBC. An open source developer, Johan is the coauthor of xtensor and xeus and the main author of xsimd. He holds a master’s degree in computer science from Centrale-Supelec.
Wolf Vollprecht is a scientific software developer at QuantStack. Previously, Wolf was a freelance web designer and developer, building software for the BeachBot with Disney Research and making drones find their way at Rapyuta Robotics. He holds a master’s degree in robotics from ETH Zurich and Stanford, focusing on artificial intelligence. In his free time, he’s a passionate cyclist who enjoys spending time outside the city.
©2018, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org