Modern Parallel Programming with C++ and Assembly Language: X86 SIMD Development Using AVX, AVX2, and AVX-512 (Paperback)

Kusswurm, Daniel

  • 出版商: Apress
  • 出版日期: 2022-03-15
  • 售價: $1,900
  • 貴賓價: 9.5$1,805
  • 語言: 英文
  • 頁數: 656
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1484279174
  • ISBN-13: 9781484279175
  • 相關分類: C++ 程式語言Assembly
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

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, and AVX-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.

商品描述(中文翻譯)

學習使用C++內建函數和x86-64組合語言的x86單指令多數據(SIMD)編程的基礎知識。本書強調與現代軟體開發相關的x86 SIMD編程主題和技術,這些應用可以利用數據級並行性,對於處理大數據、大批量數據以及數據科學等方面非常重要。

《使用C++和組合語言進行現代並行編程》是一本教學性質的書籍,介紹了使用C++和組合語言進行x86 SIMD編程。本書的內容和組織設計旨在幫助您快速理解和利用x86處理器的SIMD能力。它還包含大量的源代碼,結構化以加速對基本SIMD編程概念和算法的學習和理解。

閱讀本書後,您將能夠使用C++內建函數或x86-64組合語言編寫性能優化的AVX、AVX2和AVX-512算法。

您將學到什麼:

- 了解x86 SIMD架構和指令集的基本細節,包括AVX、AVX2和AVX-512。
- 掌握使用整數和浮點運算數進行x86 SIMD數據類型、算術指令和數據管理操作。
- 編寫能充分利用現代x86處理器的SIMD能力的性能增強函數和算法。
- 使用C++內建函數和x86-64組合語言代碼,使用常見的編程結構(包括數組、矩陣和用戶定義數據結構)進行算術計算。
- 利用x86 SIMD指令集,顯著加速應用中計算密集型算法的性能,例如機器學習、圖像處理、計算機圖形學、統計和矩陣運算。
- 應用領先的編碼策略和技術,以最佳方式利用x86 SIMD指令集,實現最大可能的性能。

本書適合對程式設計有中級到高級經驗的開發人員。閱讀本書的讀者應具備對現代C++(即ANSI C++11或更新版本)和組合語言的編程經驗。對於Microsoft的Visual Studio或GNU工具鏈的一些熟悉將有所幫助。《現代X86 SIMD編程》的目標讀者是有經驗的軟體開發人員、程式設計師,以及一些愛好者。

作者簡介

​Daniel Kusswurm has over 35 years of professional experience as a software developer, computer scientist, and author. During his career, he has developed innovative software for medical devices, scientific instruments, and image processing applications. On many of these projects, he successfully employed C++ intrinsic functions, x86 assembly language, and SIMD programming techniques to significantly improve the performance of computationally intense algorithms or solve unique programming challenges. His educational background includes a BS in electrical engineering technology from Northern Illinois University along with an MS and PhD in computer science from DePaul University. Daniel Kusswurm is also the author of Modern X86 Assembly Language Programming (ISBN: 978-1484200650), Modern X86 Assembly Language Programming, Second Edition (ISBN: 978-1484240625), and Modern Arm Assembly Language Programming (ISBN: 978 1484262665), all published by Apress. 

作者簡介(中文翻譯)

Daniel Kusswurm在軟體開發、計算機科學和作家方面擁有超過35年的專業經驗。在他的職業生涯中,他開發了用於醫療設備、科學儀器和影像處理應用的創新軟體。在許多這些項目中,他成功地使用C++內部函數、x86組合語言和SIMD編程技術,顯著提高了計算密集型算法的性能或解決了獨特的編程挑戰。他的教育背景包括來自北伊利諾伊大學的電氣工程技術學士學位,以及德保羅大學的計算機科學碩士和博士學位。Daniel Kusswurm還是Apress出版的《現代X86組合語言編程》(ISBN:978-1484200650)、《現代X86組合語言編程,第二版》(ISBN:978-1484240625)和《現代Arm組合語言編程》(ISBN:978 1484262665)的作者。