ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Modern Parallel Programming with C++ and Assembly Language: X86 SIMD Development Using AVX, AVX2, and AVX-512

دانلود کتاب برنامه نویسی موازی مدرن با C++ و زبان اسمبلی: توسعه X86 SIMD با استفاده از AVX، AVX2 و AVX-512

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

مشخصات کتاب

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

دسته بندی: برنامه نويسي
ویرایش: 1 
نویسندگان:   
سری:  
ISBN (شابک) : 1484279174, 9781484279175 
ناشر: Apress 
سال نشر: 2022 
تعداد صفحات: 642 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 21 مگابایت 

قیمت کتاب (تومان) : 38,000



کلمات کلیدی مربوط به کتاب برنامه نویسی موازی مدرن با C++ و زبان اسمبلی: توسعه X86 SIMD با استفاده از AVX، AVX2 و AVX-512: برنامه نویسی موازی، x86، x86-64، SIMD، C++، اسمبلی، AVX، AVX2، AVX-512



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 11


در صورت تبدیل فایل کتاب Modern Parallel Programming with C++ and Assembly Language: X86 SIMD Development Using AVX, AVX2, and AVX-512 به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب برنامه نویسی موازی مدرن با C++ و زبان اسمبلی: توسعه X86 SIMD با استفاده از AVX، AVX2 و AVX-512 نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب برنامه نویسی موازی مدرن با C++ و زبان اسمبلی: توسعه X86 SIMD با استفاده از AVX، AVX2 و AVX-512



با استفاده از توابع ذاتی C++ و زبان اسمبلی x86-64، اصول برنامه نویسی داده های چندگانه (SIMD) x86 Single Instruction را بیاموزید. این کتاب بر موضوعات و فن‌آوری‌های برنامه‌نویسی x86 SIMD که مربوط به توسعه نرم‌افزار مدرن در برنامه‌هایی است که می‌توانند از موازی‌سازی سطح داده‌ها، مهم برای پردازش داده‌های بزرگ، دسته‌های بزرگ داده‌ها و مهم مرتبط در علم داده و موارد دیگر بهره‌برداری کنند، تأکید می‌کند. >

برنامه نویسی موازی مدرن با C++ و زبان اسمبلی یک متن آموزشی است که برنامه نویسی x86 SIMD را با استفاده از C++ و زبان اسمبلی توضیح می دهد. محتوا و سازماندهی کتاب برای کمک به درک سریع و بهره برداری از قابلیت های SIMD پردازنده های x86 طراحی شده است. همچنین حاوی مقدار زیادی کد منبع است که برای تسریع یادگیری و درک مفاهیم و الگوریتم های برنامه نویسی SIMD ضروری است.

بعد از خواندن این کتاب، می‌توانید الگوریتم‌های AVX، AVX2 و AVX-512 بهینه‌سازی شده برای عملکرد را با استفاده از توابع ذاتی C++ یا زبان اسمبلی x86-64 کدنویسی کنید.

آنچه یاد خواهید گرفت

  • درک جزئیات اساسی در مورد معماری‌های x86 SIMD و مجموعه‌های دستورالعمل از جمله AVX، AVX2 ، و AVX-512.
  • بر انواع داده های SIMD x86، دستورالعمل های حسابی و عملیات مدیریت داده با استفاده از هر دو عملوند عدد صحیح و ممیز شناور.
  • توابع و الگوریتم های بهبود عملکرد کد را کدگذاری کنید. به طور کامل از قابلیت های SIMD یک پردازنده مدرن x86 بهره برداری کنید.
  • از توابع ذاتی C++ و کد زبان اسمبلی x86-64 برای انجام محاسبات حسابی با استفاده از ساختارهای برنامه نویسی رایج از جمله آرایه ها، ماتریس ها و ساختارهای داده تعریف شده توسط کاربر استفاده کنید.
  • از مجموعه دستورات SIMD x86 استفاده کنید تا عملکرد الگوریتم‌های محاسباتی شدید را در برنامه‌هایی مانند یادگیری ماشین، پردازش تصویر، گرافیک کامپیوتری، آمار، و محاسبات ماتریسی به‌طور قابل‌توجهی تسریع کنید.
  • استفاده از پیشرو. استراتژی‌ها و تکنیک‌های کدگذاری لبه برای بهره‌برداری بهینه از مجموعه دستورات SIMD x86 برای حداکثر عملکرد ممکن.

 این کتاب برای چه کسی است

به طور کلی برنامه نویسان/توسعه دهندگان متوسط ​​تا پیشرفته. خوانندگان این کتاب باید تجربه برنامه نویسی قبلی با C++ مدرن (یعنی ANSI C++11 یا بالاتر) و اسمبلی داشته باشند. آشنایی با ویژوال استودیو مایکروسافت یا زنجیره ابزار گنو مفید خواهد بود. مخاطبان برنامه نویسی مدرن X86 SIMD، توسعه دهندگان نرم افزار با تجربه، برنامه نویسان و شاید برخی از علاقه مندان هستند.

توضیحاتی درمورد کتاب به خارجی

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.


فهرست مطالب

Table of Contents
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
Chapter 1: SIMD Fundamentals
	What Is SIMD?
	Historical Overview of x86 SIMD
	SIMD Data Types
	SIMD Arithmetic
		SIMD Integer Arithmetic
			Wraparound vs. Saturated Arithmetic
		SIMD Floating-Point Arithmetic
	SIMD Data Manipulation Operations
	SIMD Programming
	Summary
Chapter 2: AVX C++ Programming: Part 1
	Integer Arithmetic
		Integer Addition
		Integer Subtraction
		Integer Multiplication
	Integer Bitwise Logical and Shift Operations
		Bitwise Logical Operations
		Shift Operations
	C++ SIMD Intrinsic Function Naming Conventions
	Image Processing Algorithms
		Pixel Minimum and Maximum
		Pixel Mean Intensity
	Summary
Chapter 3: AVX C++ Programming: Part 2
	Floating-Point Operations
		Floating-Point Arithmetic
		Floating-Point Compares
		Floating-Point Conversions
	Floating-Point Arrays
		Mean and Standard Deviation
		Distance Calculations
	Floating-Point Matrices
		Column Means
	Summary
Chapter 4: AVX2 C++ Programming: Part 1
	Integer Arithmetic
		Addition and Subtraction
		Unpacking and Packing
		Size Promotions
	Image Processing
		Pixel Clipping
		RGB to Grayscale
		Thresholding
		Pixel Conversions
	Summary
Chapter 5: AVX2 C++ Programming: Part 2
	Floating-Point Arrays
		Least Squares
	Floating-Point Matrices
		Matrix Multiplication
		Matrix (4 × 4) Multiplication
		Matrix (4 × 4) Vector Multiplication
		Matrix Inverse
	Summary
Chapter 6: AVX2 C++ Programming: Part 3
	Convolution Primer
		Convolution Math: 1D
		Convolution Math: 2D
	1D Convolutions
	2D Convolutions
		Nonseparable Kernel
		Separable Kernel
	Summary
Chapter 7: AVX-512 C++ Programming: Part 1
	AVX-512 Overview
	Integer Arithmetic
		Basic Arithmetic
		Merge Masking and Zero Masking
	Image Processing
		RGB to Grayscale
		Image Thresholding
		Image Statistics
	Summary
Chapter 8: AVX-512 C++ Programming: Part 2
	Floating-Point Arithmetic
		Basic Arithmetic
		Compare Operations
	Floating-Point Arrays
	Floating-Point Matrices
		Covariance Matrix
		Matrix Multiplication
		Matrix (4 x 4) Vector Multiplication
	Convolutions
		1D Convolutions
		2D Convolutions
	Summary
Chapter 9: Supplemental C++ SIMD Programming
	Using CPUID
	Short Vector Math Library
		Rectangular to Polar Coordinates
		Body Surface Area
	Summary
Chapter 10: X86-64 Processor Architecture
	Data Types
		Fundamental Data Types
		Numerical Data Types
		SIMD Data Types
		Strings
	Internal Architecture
		General-Purpose Registers
		Instruction Pointer
		RFLAGS Register
		Floating-Point and SIMD Registers
		MXCSR Register
	Instruction Operands
	Memory Addressing
	Condition Codes
	Summary
Chapter 11: Core Assembly Language Programming: Part 1
	Integer Arithmetic
		Addition and Subtraction
		Multiplication
		Division
	Calling Convention: Part 1
	Memory Addressing Modes
	For-Loops
	Condition Codes
	Strings
	Summary
Chapter 12: Core Assembly Language Programming: Part 2
	Scalar Floating-Point Arithmetic
		Single-Precision Arithmetic
		Double-Precision Arithmetic
		Compares
		Conversions
	Scalar Floating-Point Arrays
	Calling Convention: Part 2
		Stack Frames
		Using Nonvolatile General-Purpose Registers
		Using Nonvolatile SIMD Registers
		Macros for Function Prologues and Epilogues
	Summary
Chapter 13: AVX Assembly Language Programming: Part 1
	Integer Arithmetic
		Addition and Subtraction
		Multiplication
		Bitwise Logical Operations
		Arithmetic and Logical Shifts
	Image Processing Algorithms
		Pixel Minimum and Maximum
		Pixel Mean Intensity
	Summary
Chapter 14: AVX Assembly Language Programming: Part 2
	Floating-Point Operations
		Floating-Point Arithmetic
		Floating-Point Compares
	Floating-Point Arrays
		Mean and Standard Deviation
		Distance Calculations
	Floating-Point Matrices
	Summary
Chapter 15: AVX2 Assembly Language Programming: Part 1
	Integer Arithmetic
		Basic Operations
		Size Promotions
	Image Processing
		Pixel Clipping
		RGB to Grayscale
		Pixel Conversions
	Summary
Chapter 16: AVX2 Assembly Language Programming: Part 2
	Floating-Point Arrays
	Floating-Point Matrices
		Matrix Multiplication
		Matrix (4 × 4) Multiplication
		Matrix (4 × 4) Vector Multiplication
	Signal Processing
	Summary
Chapter 17: AVX-512 Assembly Language Programming: Part 1
	Integer Arithmetic
		Basic Operations
		Masked Operations
	Image Processing
		Image Thresholding
		Image Statistics
	Summary
Chapter 18: AVX-512 Assembly Language Programming: Part 2
	Floating-Point Arithmetic
		Basic Arithmetic
		Compare Operations
	Floating-Point Matrices
		Covariance Matrix
		Matrix Multiplication
		Matrix (4 x 4) Vector Multiplication
		Signal Processing
	Summary
Chapter 19: SIMD Usage and Optimization Guidelines
	SIMD Usage Guidelines
		C++ SIMD Intrinsic Functions or x86 Assembly Language
	SIMD Software Development Guidelines
		Identify Functions for SIMD Techniques
		Select Default and Explicit SIMD Instruction Sets
		Establish Benchmark Timing Objectives
		Code Explicit SIMD Functions
		Benchmark Code to Measure Performance
		Optimize Explicit SIMD Code
		Repeat Benchmarking and Optimization Steps
	Optimization Guidelines and Techniques
		General Techniques
		Assembly Language Optimization Techniques
	SIMD Code Complexity vs. Performance
	Summary
Appendix A:
Source Code and Development Tools
	Source Code Download and Setup
	Development Tools
		Visual Studio and Windows
			Running a Source Code Example
			Creating a Visual Studio C++ Project
				Create a C++ Project
				Add an Assembly Language File
				Set Project Properties
				Edit the Source Code
				Build and Run the Project
		GCC and Linux
			Additional Configuration
			Build and Run
			Make Utility
Appendix B:
References and Resources
	C++ SIMD Intrinsic Function Documentation
	X86 Programming References
	X86 Processor Information
	Software Development Tools
	Algorithm References
	C++ References
	Utilities, Tools, and Libraries
Index




نظرات کاربران