Modern Parallel Programming with C++ and Assembly Language
eBook - ePub

Modern Parallel Programming with C++ and Assembly Language

X86 SIMD Development Using AVX, AVX2, and AVX-512

  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Modern Parallel Programming with C++ and Assembly Language

X86 SIMD Development Using AVX, AVX2, and AVX-512

About this book

Learn the fundamentals of x86 Single instruction multiple data (SIMD) programming using C++ intrinsic functions and x86-64 assembly language. This book emphasizes x86 SIMD programming topics and technologies that are relevant to modern software development in applications which can exploit data level parallelism, important for the processing of big data, large batches of data and related important in data science and much more.

Modern Parallel Programming with C++ and Assembly Language is an instructional text that explains x86 SIMD programming using both C++ and assembly language. The book's content and organization are designed to help you quickly understand and exploit the SIMD capabilities of x86 processors. It also contains an abundance of source code that is structured to accelerate learning and comprehension of essential SIMD programming concepts and algorithms.

After reading this book, you will be able to code performance-optimized AVX, AVX2, andAVX-512 algorithms using either C++ intrinsic functions or x86-64 assembly language.

What You Will Learn

  • Understand the essential details about x86 SIMD architectures and instruction sets including AVX, AVX2, and AVX-512.
  • Master x86 SIMD data types, arithmetic instructions, and data management operations using both integer and floating-point operands.
  • Code performance-enhancing functions and algorithms that fully exploit the SIMD capabilities of a modern x86 processor.
  • Employ C++ intrinsic functions and x86-64 assembly language code to carry out arithmetic calculations using common programming constructs including arrays, matrices, and user-defined data structures.
  • Harness the x86 SIMD instruction sets to significantly accelerate the performance of computationally intense algorithms in applications such as machine learning, image processing, computer graphics, statistics, and matrix arithmetic.
  • Apply leading-edge coding strategies and techniques to optimally exploit the x86 SIMD instruction sets for maximum possible performance.

Who This Book Is For

Intermediate to advanced programmers/developers in general. Readers of this book should have previous programming experience with modern C++ (i.e., ANSI C++11 or later) and Assembly. Some familiarity with Microsoft's Visual Studio or the GNU toolchain will be helpful. The target audience for Modern X86 SIMD Programming are experienced software developers, programmers and maybe some hobbyists.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Modern Parallel Programming with C++ and Assembly Language by Daniel Kusswurm in PDF and/or ePUB format, as well as other popular books in Computer Science & Computer Science General. We have over one million books available in our catalogue for you to explore.

Information

Table of contents

  1. Cover
  2. Front Matter
  3. 1. SIMD Fundamentals
  4. 2. AVX C++ Programming: Part 1
  5. 3. AVX C++ Programming: Part 2
  6. 4. AVX2 C++ Programming: Part 1
  7. 5. AVX2 C++ Programming: Part 2
  8. 6. AVX2 C++ Programming: Part 3
  9. 7. AVX-512 C++ Programming: Part 1
  10. 8. AVX-512 C++ Programming: Part 2
  11. 9. Supplemental C++ SIMD Programming
  12. 10. X86-64 Processor Architecture
  13. 11. Core Assembly Language Programming: Part 1
  14. 12. Core Assembly Language Programming: Part 2
  15. 13. AVX Assembly Language Programming: Part 1
  16. 14. AVX Assembly Language Programming: Part 2
  17. 15. AVX2 Assembly Language Programming: Part 1
  18. 16. AVX2 Assembly Language Programming: Part 2
  19. 17. AVX-512 Assembly Language Programming: Part 1
  20. 18. AVX-512 Assembly Language Programming: Part 2
  21. 19. SIMD Usage and Optimization Guidelines
  22. Back Matter