دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: برنامه نويسي ویرایش: 1 نویسندگان: Daniel Kusswurm سری: ISBN (شابک) : 1484279174, 9781484279175 ناشر: Apress سال نشر: 2022 تعداد صفحات: 642 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 21 مگابایت
کلمات کلیدی مربوط به کتاب برنامه نویسی موازی مدرن با C++ و زبان اسمبلی: توسعه X86 SIMD با استفاده از AVX، AVX2 و AVX-512: برنامه نویسی موازی، x86، x86-64، SIMD، C++، اسمبلی، AVX، AVX2، AVX-512
در صورت تبدیل فایل کتاب 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-64، اصول برنامه نویسی داده های چندگانه (SIMD) x86 Single Instruction را بیاموزید. این کتاب بر موضوعات و فنآوریهای برنامهنویسی x86 SIMD که مربوط به توسعه نرمافزار مدرن در برنامههایی است که میتوانند از موازیسازی سطح دادهها، مهم برای پردازش دادههای بزرگ، دستههای بزرگ دادهها و مهم مرتبط در علم داده و موارد دیگر بهرهبرداری کنند، تأکید میکند. >
برنامه نویسی موازی مدرن با C++ و زبان اسمبلی یک متن آموزشی است که برنامه نویسی x86 SIMD را با استفاده از C++ و زبان اسمبلی توضیح می دهد. محتوا و سازماندهی کتاب برای کمک به درک سریع و بهره برداری از قابلیت های SIMD پردازنده های x86 طراحی شده است. همچنین حاوی مقدار زیادی کد منبع است که برای تسریع یادگیری و درک مفاهیم و الگوریتم های برنامه نویسی SIMD ضروری است.
بعد از خواندن این کتاب، میتوانید الگوریتمهای AVX، AVX2 و AVX-512 بهینهسازی شده برای عملکرد را با استفاده از توابع ذاتی C++ یا زبان اسمبلی x86-64 کدنویسی کنید.
آنچه یاد خواهید گرفت
این کتاب برای چه کسی است
به طور کلی برنامه نویسان/توسعه دهندگان متوسط تا پیشرفته. خوانندگان این کتاب باید تجربه برنامه نویسی قبلی با 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
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