商品簡介
Modern X86 SIMD Programming - Outline Page 1 of 7D. Kusswurm - F: \ModX86SIMD\Outline\ModernX86SIMD_Outline (v1).docxIntroductionThe Introduction presents an overview of the book and includes concise descriptions of each chapter. It also summaries thehardware and software tools required to use the book's source code.OverviewTarget AudienceChapter DescriptionsSource CodeAdditional ResourcesChapter 1 - SIMD FundamentalsChapter 1 discusses SIMD fundamentals including data types, basic arithmetic, and common data manipulation operations.Understanding of this material is necessary for the reader to successfully comprehend the book's subsequent chapters. What is SIMD? Simple C++ example (Ch01_01)Brief History of x86 SIMD Instruction Set Extensions MMX SSE - SSE4.2 AVX, AVX2, and AVX-512SIMD Data Types Fundamental types 128b, 256b, 512b Integer types Packed i8, i16, i32, i64 (signed and unsigned) Floating-point types Packed f16/b16, f32 and f64 Little-endian storageSIMD Arithmetic IntegerAddition and subtraction Wraparound vs. saturated Multiplication Bitwise logical Floating-point Addition, subtraction, multiplication, division, sqrt Horizontal addition and subtraction Fused multiply-accumulate (FMA)SIMD Operations Integer Min & max Compares Shuffles, permutations, and blends Size promotions and reductions Floating-point Min & max Compares Shuffles, permutations, and blends Size promotions and reductions Modern X86 SIMD Programming - Outline Page 2 of 7D. Kusswurm - F: \ModX86SIMD\Outline\ModernX86SIMD_Outline (v1).docx Masked moves Conditional execution and merging (AVX-512)SIMD Programming Overview C++ compiler options C++ SIMD intrinsic functions Assembly language functions Testing for AVX, AVX2, and AVX-512Chapter 2 - AVX C++ Programming - Part 1Chapter 2 teaches AVX integer arithmetic and other operations using C++ intrinsic functions. It also discusses how to code afew simple image processing algorithms using C++ intrinsic functions and AVX instructions.Basic Integer Arithmetic Addition (Ch02_01)Subtraction (Ch02_02) Multiplication (Ch02_03)Common Integer Operations Bitwise logical operations (Ch02_04) Arithmetic and logical shifts (Ch02_05)Image Processing Algorithms Pixel minimum and maximum (Ch02_06) Pixel mean (Ch02_07)Chapter 3 - AVX C++ Programming - Part 2Chapter 3 is similar to the previous chapter but emphasizes floating-point instead of integer values. This chapter alsoexplains how to employ C++ intrinsic functions to perform SIMD arithmetic operations using floating-point arrays andmatrices.Basic Floating-Point Arithmetic Addition, subtraction, etc. (Ch03_01) Compares (Ch03_02) Conversions (Ch03_03)Floating-Point Arrays Array mean and standard deviation (Ch03_04, Ch03_05) Array square roots and compares (Ch03_06, Ch03_07)Floating-Point Matrices Matrix column means (Ch03_08, Ch03_09)Chapter 4 - AVX2 C++ Programming - Part 1Chapter 4 describe