{"product_id":"risc-v-parallel-simd-and-mimd-programming-and-processing-9798263249236","title":"RISC-V Parallel SIMD and MIMD: Programming and Processing","description":"\u003cp\u003e • Author(s): Przemyslaw Bakowski\u003cbr\u003e • Publisher: Independently Published\u003cbr\u003e • Publisher Imprint: Independently Published\u003cbr\u003e • BISAC: Programming - General\u003c\/p\u003e\u003cp\u003eIn this book, we present a series of examples in parallel programming and processing.\u003cbr\u003eFor each example, we measure execution time and analyze the resulting speedup across different\u003cbr\u003ealgorithms and execution modes. \u003c\/p\u003e\u003cp\u003e\u003c\/p\u003eIn the introductory part, we outline the content, objectives, methodology, and overall organization of\u003cbr\u003ethe book. Each chapter is structured as a laboratory session containing a sequence of practical\u003cbr\u003eexamples. \u003cp\u003e\u003c\/p\u003eLab 1 introduces the essential elements of assembly programming on RISC-V. \u003cp\u003e\u003c\/p\u003eLabs 2 and 3 focus on vector processing (SIMD). We begin with simple kernels-vector addition, dot\u003cbr\u003eproduct, and matrix multiplication-then move to more demanding tasks such as π approximation and\u003cbr\u003ea basic FFT filter. Serial baselines are written in C, while vectorized versions are implemented in\u003cbr\u003eRISC-V assembly using the vector extension. \u003cp\u003e\u003c\/p\u003eIn Labs 4 and 5, we turn to image processing, starting with simple image negation and advancing to\u003cbr\u003ecolor-space conversion. Each task is implemented both serially and with vectorization to quantify\u003cbr\u003epotential speedups. Image I\/O (decode\/encode) is handled with OpenCV. We also explore dynamic\u003cbr\u003eimage generation using OpenGL, rendering directly into video memory. As with static images, we\u003cbr\u003erecord runtimes and evaluate speedups. \u003cp\u003e\u003c\/p\u003eLab 6 introduces OpenMP to leverage multicore (MIMD) parallelism with threads. We revisit several\u003cbr\u003eworkloads-π computation, matrix multiplication, and Mandelbrot rendering-and compare\u003cbr\u003eperformance across execution modes. \u003cp\u003e\u003c\/p\u003eIn Lab 7, we explicitly contrast scalar (SISD), vector (SIMD), and multicore (MIMD) implementations\u003cbr\u003eusing the π example. Finally, we demonstrate combined MIMD�SIMD approaches for π calculation\u003cbr\u003eand matrix multiplication. In all cases, we report speedups as a function of problem size to highlight\u003cbr\u003escaling behavior and the practical benefits of each technique.\u003cbr\u003e","brand":"Independently Published","offers":[{"title":"Paperback","offer_id":47576528846999,"sku":"9798263249236","price":2090.0,"currency_code":"INR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0666\/3471\/1191\/files\/9798263249236.webp?v=1774901056","url":"https:\/\/atlanticbooks.com\/products\/risc-v-parallel-simd-and-mimd-programming-and-processing-9798263249236","provider":"Atlantic Books","version":"1.0","type":"link"}