<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sr">
	<id>https://siwiki.rs/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D1%83%D0%BB%D1%82%D0%B8%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8%2F%D0%9A1_2019</id>
	<title>Мултипроцесорски системи/К1 2019 - Историја измена</title>
	<link rel="self" type="application/atom+xml" href="https://siwiki.rs/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D1%83%D0%BB%D1%82%D0%B8%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8%2F%D0%9A1_2019"/>
	<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9C%D1%83%D0%BB%D1%82%D0%B8%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%9A1_2019&amp;action=history"/>
	<updated>2026-06-04T04:53:05Z</updated>
	<subtitle>Историја измена ове странице на пројекту</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9C%D1%83%D0%BB%D1%82%D0%B8%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%9A1_2019&amp;diff=6850&amp;oldid=prev</id>
		<title>Etfsibg: /* Rešenje */</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9C%D1%83%D0%BB%D1%82%D0%B8%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%9A1_2019&amp;diff=6850&amp;oldid=prev"/>
		<updated>2023-11-01T13:23:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Rešenje&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;sr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Старија измена&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Верзија на датум 1. новембар 2023. у 15:23&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l63&quot;&gt;Ред 63:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ред 63:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;while (error &amp;gt; tol &amp;amp;&amp;amp; iter &amp;lt; iter_max) {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;while (error &amp;gt; tol &amp;amp;&amp;amp; iter &amp;lt; iter_max) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     error = 0.0;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     error = 0.0;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     #pragma omp parallel default(none) shared(A, Anew, n, m) reduction(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;min&lt;/del&gt;:error)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     #pragma omp parallel default(none) shared(A, Anew, n, m) reduction(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;max&lt;/ins&gt;:error)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     #pragma omp for collapse(2)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     #pragma omp for collapse(2)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9C%D1%83%D0%BB%D1%82%D0%B8%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%9A1_2019&amp;diff=6844&amp;oldid=prev</id>
		<title>Etfsibg: /* 4. zadatak */</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9C%D1%83%D0%BB%D1%82%D0%B8%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%9A1_2019&amp;diff=6844&amp;oldid=prev"/>
		<updated>2023-10-31T17:32:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;4. zadatak&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;sr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Старија измена&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Верзија на датум 31. октобар 2023. у 19:32&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot;&gt;Ред 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ред 24:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 4. zadatak ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 4. zadatak ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{delimično rešeno}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Postavka ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Postavka ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Objasniti šta je programski model paralelnih programa i tipičnu arhitekturu sistema koju podrazumeva.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Objasniti šta je programski model paralelnih programa i tipičnu arhitekturu sistema koju podrazumeva.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Rešenje ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Rešenje ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Videti [[Мултипроцесорски системи/К1 2021#4. zadatak|ovde]].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 5. zadatak ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 5. zadatak ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key si:diff::1.12:old-4971:rev-6844 --&gt;
&lt;/table&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9C%D1%83%D0%BB%D1%82%D0%B8%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%9A1_2019&amp;diff=4971&amp;oldid=prev</id>
		<title>KockaAdmiralac: Moja rešenja K1 2019</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9C%D1%83%D0%BB%D1%82%D0%B8%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%9A1_2019&amp;diff=4971&amp;oldid=prev"/>
		<updated>2022-11-01T19:06:08Z</updated>

		<summary type="html">&lt;p&gt;Moja rešenja K1 2019&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{tocright}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prvi kolokvijum 2019. godine&amp;#039;&amp;#039;&amp;#039; održan je 29. oktobra i trajao je 105 minuta. Postavka roka dostupna je [http://mups.etf.bg.ac.rs/ispiti/2019-2020/si4mps_k1_20192020.pdf sa stranice predmeta.]&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Objasniti kako je nastao &amp;#039;&amp;#039;power wall&amp;#039;&amp;#039; i kako to utiče na projektovanje procesora.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Povećanjem takta procesora se povećava količina snage koja se disipira na površini procesora i zato je potrebno bolje hlađenje i više strujne energije kako bi procesor radio. &amp;#039;&amp;#039;Power wall&amp;#039;&amp;#039; na taj način ograničava takt procesora, jer vazdušno hlađenje kao i količina struje koje jedan procesor sme da povuče ima svoje granice.&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Koje dve klase paralelizma preovladjuju&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; u aplikacijama? Koje vrste paralelizma se prepoznaju pri izvršavanju nu&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; računarima?&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Dve klase paralelizma u aplikacijama su paralelizam na nivou podataka kao i zadataka, dok se pri izvršavanju na računarima prepoznaju kao paralelizam na nivou instrukcije, niti, zahteva, kao i vektorske arhitekture.&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Objasniti šta je paralelni programski modeli.&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; Objasniti šta su implicitni, a šta eksplicitni modeli, šta su njihove prednosti i nedostaci.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Programski model je skup apstrakcija koje omogućavaju programeru da na uprošćen i transparentan način vidi softver i hardver. Paralelan programski model je programski model koji programeru specifično pomaže sa apstrahovanjem paralelizma u programima. Implicitni programski modeli su oni koji omogućavaju paralelizam u programu bez intervencije programera, automatskom detekcijom delova za paralelizaciju i njihovim paralelizovanjem. Nažalost, teško je napraviti da ovakvi modeli dostignu zadovoljavajući nivo ubrzanja. Eksplicitni programski modeli zahtevaju od programera da definiše delove i načine za paralelizaciju, što je sa jedne strane mnogo više posla za programera ali sa druge dostiže mnogo veće nivoe paralelizma.&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
{{delimično rešeno}}&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Objasniti šta je programski model paralelnih programa i tipičnu arhitekturu sistema koju podrazumeva.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Korišćenjem OpenMP tehnologije, paralelizovati kod u prilogu koji vrši određenu vrstu Laplasove transformacije nad zadatom matricom. Obratiti pažnju na efikasnost i korektnost paralelizacije. Smatrati da su sve promenljive ispravno deklarisane.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int iter = 0;&lt;br /&gt;
while (error &amp;gt; tol &amp;amp;&amp;amp; iter &amp;lt; iter_max) {&lt;br /&gt;
    error = 0.0;&lt;br /&gt;
    for (int j = 1; j &amp;lt; n-1; j++) {&lt;br /&gt;
        for (int i = 1; i &amp;lt; m-1; i++) {&lt;br /&gt;
            Anew[j][i] = 0.25 * (A[j][i+1] + A[j][i-1] + A[j-1][i] + A[j+1][i]);&lt;br /&gt;
            double diff;&lt;br /&gt;
            if ((Anew[j][i] - A[j][i]) &amp;gt; 0.0) {&lt;br /&gt;
                diff = Anew[j][i] - A[j][i];&lt;br /&gt;
            } else {&lt;br /&gt;
                diff = A[j][i] - Anew[j][i];&lt;br /&gt;
            }&lt;br /&gt;
            if (diff &amp;gt; error) error = diff;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    for (int j = 1; j &amp;lt; n-1; j++) {&lt;br /&gt;
        for (int i = 1; i &amp;lt; m-1; i++) {&lt;br /&gt;
            A[j][i] = Anew[j][i];&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    iter++;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; highlight=&amp;quot;4,5,6,19,25&amp;quot;&amp;gt;&lt;br /&gt;
int iter = 0;&lt;br /&gt;
while (error &amp;gt; tol &amp;amp;&amp;amp; iter &amp;lt; iter_max) {&lt;br /&gt;
    error = 0.0;&lt;br /&gt;
    #pragma omp parallel default(none) shared(A, Anew, n, m) reduction(min:error)&lt;br /&gt;
    {&lt;br /&gt;
    #pragma omp for collapse(2)&lt;br /&gt;
    for (int j = 1; j &amp;lt; n-1; j++) {&lt;br /&gt;
        for (int i = 1; i &amp;lt; m-1; i++) {&lt;br /&gt;
            Anew[j][i] = 0.25 * (A[j][i+1] + A[j][i-1] + A[j-1][i] + A[j+1][i]);&lt;br /&gt;
            double diff;&lt;br /&gt;
            if ((Anew[j][i] - A[j][i]) &amp;gt; 0.0) {&lt;br /&gt;
                diff = Anew[j][i] - A[j][i];&lt;br /&gt;
            } else {&lt;br /&gt;
                diff = A[j][i] - Anew[j][i];&lt;br /&gt;
            }&lt;br /&gt;
            if (diff &amp;gt; error) error = diff;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    #pragma omp for collapse(2)&lt;br /&gt;
    for (int j = 1; j &amp;lt; n-1; j++) {&lt;br /&gt;
        for (int i = 1; i &amp;lt; m-1; i++) {&lt;br /&gt;
            A[j][i] = Anew[j][i];&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    }&lt;br /&gt;
    iter++;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Na koji način &amp;lt;code&amp;gt;nowait&amp;lt;/code&amp;gt; odredba može uticati na direktive na koje se odnosi? Navesti kada je ova odredba upotrebljiva i obrazložiti odgovor.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;code&amp;gt;nowait&amp;lt;/code&amp;gt; direktiva diktira da na kraju određenog regiona OpenMP koda ne treba da se vrši implicitna sinhronizacija kao što se inače vrši na kraju &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sections&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;single&amp;lt;/code&amp;gt; regiona. Ova direktiva je upotrebljiva kada nam ovakva implicitna sinhronizacija nije potrebna i možemo pustiti više niti da prođe taj region kako bismo ih onda kasnije negde eksplicitno sinhronizovali. Na primer, možemo pustiti niti da prođu kroz više blokova asociranih sa &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; direktivama ako te petlje ne zavise jedna od druge, a zatim ih sinhronizovati na nekoj barijeri ispod.&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Neka se posmatra jedna aplikacija koja vrši obradu velikih matrica koje predstavljaju određenu 2D medicinsku sliku. Nakon merenja performansi sekvencijalne implementacije posmatrane aplikacije pri uobičajenoj upotrebi, dobijeni su sledeći rezultati: aplikacija 15% vremena provodi obavljajući ulazno-izlazne operacije, 85% vremena provodi u obradi podataka. Tipično vreme obrade jednog čvora korišćenjem jednog jezgra je 1s.&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Ukoliko se aplikacija paralelizuje za izvršavanje na SMP sistemu sa 64 jezgara na 3GHz sa 32GB memorije, navesti formulu za Amdalov zakon i odrediti maksimalno moguće ubrzanje koje se može postići za zadatu aplikaciju.&lt;br /&gt;
# Objasniti različite načine za dekompoziciju domena u kontekstu obrade 2D slike i objasniti kako to može imati uticaja na performanse izvršavanja aplikacije. Kako različiti načini dekompozicije mogu da utiču na performanse keširanja podataka?&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Formula za Amdalov zakon glasi:&lt;br /&gt;
* &amp;lt;math&amp;gt;T_p = \alpha T_1 + (1 - \alpha) \frac{T_1}{p}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;S_p = \frac{T_1}{T_P} = \frac{1}{\alpha + \frac{1 - \alpha}{p}} = \frac{p}{\alpha p + 1 - \alpha}&amp;lt;/math&amp;gt;&lt;br /&gt;
Kako je nama ovde &amp;lt;math&amp;gt;\alpha = 0.15&amp;lt;/math&amp;gt; i &amp;lt;math&amp;gt;p = 64&amp;lt;/math&amp;gt; maksimalno ubrzanje koje možemo da postignemo je &amp;lt;math&amp;gt;S_p = \frac{64}{0.15 \cdot 64 + 1 - 0.15} \approx 6.12&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dvodimenzionalne matrice mogu da se podele na različite načine: po redovima, po kolonama, po blokovima, ciklično... na performanse aplikacije, doduše može da utiče način keširanja podataka tokom njihovog dohvatanja. Elementi matrice su generalno podaci koji se nalaze blizu jedan do drugog ukoliko im se pristupa na određen način (u C je to po redovima) i zato je za performanse keširanja podataka najbolje deliti tim redom. Ukoliko elementi matrice imaju malu neujednačenost u potrebnom vremenu obrade, ciklična podela može da pomogne tako da svaka nit ima mogućnost da zahvati i delove koji zahtevaju manje i delove koji zahtevaju više obrade.&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Мултипроцесорски системи]]&lt;/div&gt;</summary>
		<author><name>KockaAdmiralac</name></author>
	</entry>
</feed>