<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Data Parallelism on Arshad Siddiqui</title><link>https://arshadhs.github.io/tags/data-parallelism/</link><description>Recent content in Data Parallelism on Arshad Siddiqui</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://arshadhs.github.io/tags/data-parallelism/index.xml" rel="self" type="application/rss+xml"/><item><title>Parallel and Distributed Algorithms</title><link>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/020-parallel-and-distributed-algorithms/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://arshadhs.github.io/docs/ai/038-ml-system-optimisation/020-parallel-and-distributed-algorithms/</guid><description>&lt;h1 id="parallel-and-distributed-algorithms">
 Parallel and Distributed Algorithms
 
 &lt;a class="anchor" href="#parallel-and-distributed-algorithms">#&lt;/a>
 
&lt;/h1>
&lt;p>Parallelisation divides computational work into parts that can execute concurrently. The purpose is to reduce completion time or increase throughput, but the gain depends on how much work is genuinely independent and how much overhead is introduced.&lt;/p>
&lt;p>This page covers:&lt;/p>
&lt;ul>
&lt;li>speedup, maximum speedup, and processor efficiency&lt;/li>
&lt;li>Amdahl&amp;rsquo;s Law&lt;/li>
&lt;li>data-level parallelism&lt;/li>
&lt;li>task-level parallelism&lt;/li>
&lt;li>algorithm-specific parallelism&lt;/li>
&lt;li>communication, synchronisation, scheduling, and load-balancing overhead&lt;/li>
&lt;li>parallel merge sort and matrix multiplication&lt;/li>
&lt;/ul>
&lt;h2 id="learning-objectives">
 Learning Objectives
 
 &lt;a class="anchor" href="#learning-objectives">#&lt;/a>
 
&lt;/h2>
&lt;p>By the end of this page, you should be able to:&lt;/p></description></item></channel></rss>