C++ Template Metaprogramming in Practice

Regular price €127.99
Quantity:
In stock with our UK publisher. 14-28 days
Delivery/Collection within 10-20 working days
14 days return policy Shipping & Delivery
A01=Li Wei
academic reference for researchers
advanced C++ programming
Author_Li Wei
Backward Propagation
C++ Template Metaprogramming
Category Tags
Category=UMX
Category=UMZ
Category=UY
Class Template
Code Snippet
Compile Time
compile-time computing
compile-time deep learning framework
Composite Layers
Computing Unit
deep learning
Deep Learning Framework
Deep Learning System
eq_bestseller
eq_computing
eq_isMigrated=1
eq_isMigrated=2
eq_nobargain
eq_non-fiction
Evaluation Requests
Expression Templates
Forward Propagation
functional programming concepts
GPU Memory
heterogeneous dictionaries
machine learning systems
neural network optimization
Operation Templates
Output Gradient
Parameter Gradients
Parameter Matrices
Parameter Matrix
Recurrent Layer
RNN
scientific computing techniques
Specific Data Types
Template Metaprogramming
Template Parameter
Topological Sorting
Virtual Functions

Product details

  • ISBN 9780367609566
  • Weight: 453g
  • Dimensions: 178 x 254mm
  • Publication Date: 02 Dec 2020
  • Publisher: Taylor & Francis Ltd
  • Publication City/Country: GB
  • Product Form: Hardback
Secure checkout Fast Shipping Easy returns

Using the implementation of a deep learning framework as an example, C++ Template Metaprogramming in Practice: A Deep Learning Framework explains the application of metaprogramming in a relatively large project and emphasizes ways to optimize systems performance. The book is suitable for developers with a basic knowledge of C++. Developers familiar with mainstream deep learning frameworks can also refer to this book to compare the differences between the deep learning framework implemented with metaprogramming and compile-time computing with deep learning frameworks using object-oriented methods.

Consisting of eight chapters, the book starts with two chapters discussing basic techniques of metaprogramming and compile-time computing. The rest of the book’s chapters focus on the practical application of metaprogramming in a deep learning framework. It examines rich types and systems, expression templates, and writing complex meta-functions, as well as such topics as:

  • Heterogeneous dictionaries and policy templates
  • An introduction to deep learning
  • Type system and basic data types
  • Operations and expression templates
  • Basic layers
  • Composite and recurrent layers
  • Evaluation and its optimization

Metaprogramming can construct flexible and efficient code. For C++ developers who are familiar with object-oriented programming, the main difficulty in learning and mastering C++ metaprogramming is establishing the thinking mode of functional programming. The meta-programming approach involved at compile time is functional, which means that the intermediate results of the construction cannot be changed, and the impact may be greater than expected. This book enables C++ programmers to develop a functional mindset and metaprogramming skills. The book also discusses the development cost and use cost of metaprogramming and provides workarounds for minimizing these costs.

Li Wei graduated from Tsinghua University in 2011 and has been engaged in the development and maintenance of the online prediction section of the deep learning machine translation system at Baidu's Natural Language Processing Department. He currently works for Microsoft Advanced Technology Center and has more than ten years of relevant development experience, with a strong interest in C++ template meta-programming and compile-time computing.

More from this author