Category: Technology



One of the most challenging issues in high-performance graph algorithms is dealing with bespoke graph data structures and algorithms, which can be difficult to optimize and maintain. The GraphBLAS is a mathematical and C API specification that allow programmers to implement graph algorithms using the language of linear algebra. Programmers implement their graph algorithms using high-level matrix and vector operations, such as generalized matrix and vector multiply. Their code can then be executed using matrix algorithms, such as sparse matrix multiply, that have been finely tuned, taking advantage of decades of research in optimizing sparse linear algebra for CPU, GPU, and distributed platforms. In this talk, we discuss our efforts and experience building and implementing a C++ GraphBLAS API. We define a number of data structures, such as our GraphBLAS matrix type, which has a similar interface to `unordered_map`, but with a 2-D `key_type`, a fixed dimension, and possibly different backend storage data structures, depending on a collection of compile-time hints. We also define a collection of structs to represent various binary operators, monoids, and semirings used in graph algorithms. These are similar to the arithmetic operations defined in the STL's `functional`, but with extra type information to store a monoid's identity, and to promote pre-existing binary operators (such as STL's arithmetic ops) to monoids. We also discuss matrix views, the divorce of a specific arithmetic from the data structure (monoids and semirings being specifically associated with an operation, not a data structure, as a data structure may be used in multiple operations with different arithmetics), and generalized element-wise operations. PUBLICATION PERMISSIONS:
CppCon Organizer provided Coding Tech with the permission to republish CppCon tech talks. CREDITS:
CppCon YouTube channel: https://www.youtube.com/channel/UCMlGfpWw-RUdWX_JbLCukXg https://www.youtube.com/watch?v=odyPeZvPtFw



Check out Prabhu Eshwarla's book 📖 Rust Servers, Services, and Apps | http://http://mng.bz/KBl0 📖 To save 40% off this book ⭐ DISCOUNT CODE: watcheshwarla40 ⭐ Prabhu explains why and how should you use Rust for web development. In this video, Prabhu dives deeper into the Rust Memory Safety Model, what it is and how it works. This video is an excerpt from Introduction to Web Development in Rust by Prabhy Eshwarla. Watch the full video at http://mng.bz/9K11 📚📚📚
Rust Servers, Services, and Apps | http://mng.bz/KBl0 To save 40% off this book use discount code: watcheshwarla40 📚📚📚 About the book:
Rust Servers, Services, and Apps" is a hands-on guide to developing modern distributed web applications with Rust. You’ll learn how to build efficient services, write custom web servers, and even build full-stack applications end-to-end in Rust. You’ll start with the foundations, using Rust to build an HTTP server, and RESTful API that you’ll secure, debug, and evolve with fearless refactoring. You’ll then put Rust through its paces to develop a digital storefront service, and a single-page client-side application. This fast-paced book is packed with code samples you can adapt to your own projects, and detailed annotations to help you understand how Rust works under the hood. https://www.youtube.com/watch?v=jDOWSbH3fuA



What is so special about Blockchain? How does it work? What are its main use cases? PUBLICATION PERMISSIONS:
Original video was published with the Creative Commons Attribution license (reuse allowed). Link: https://www.youtube.com/watch?v=rCjVfuR93dk https://www.youtube.com/watch?v=P4eX6jPy2mY