<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Parallelisieren von for Schleifen mit OpenMP]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe in meinem Programm viele for-Schleifen, die ich mit OpenMP parallelisieren will.<br />
Das klapt auch recht gut, nur bei einer Art von Schleichen gibt es Probleme:</p>
<pre><code>#pragma omp parallel for
for (int i=bixel_map[blenden[freiheitsgrade[parameter].blende].get_beam()][blenden[freiheitsgrade[parameter].blende].get_start(freiheitsgrade[parameter].y)][freiheitsgrade[parameter].y][0]; 
i&lt;=bixel_map[blenden[freiheitsgrade[parameter].blende].get_beam()][blenden[freiheitsgrade[parameter].blende].get_start(freiheitsgrade[parameter].y)][freiheitsgrade[parameter].y][1]; i++)
{	
dosis_matrix[kernel_voxel[i&rsqb;&rsqb;+=gewicht*kernel_dosis[i];
}
</code></pre>
<p>Ok, das ist jetzt ein bischen unübersichtlich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Aber es ist einfach nur eine for-schleife mit etwa 500 - 10000 Durchläufen.<br />
Je nachdem.<br />
Sowas parallelisiert er aber wunderbar:</p>
<pre><code>#pragma omp parallel for
for (int c=0;  c&lt;dim; c++){
	if (dosis_matrix[c] !=0){
		dosis_matrix[c]=dosis_matrix[c]*gewicht/gewicht_alt;
	}	
}
</code></pre>
<p>Kann es sein, dass OpenMP Probleme damit hatt, dass ich die Anzahl der durchläufe<br />
so &quot;kompliziert&quot; zusammenbastel?<br />
Oder woran könnte das noch liegen?</p>
<p>Danke,<br />
Moritz</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/235443/parallelisieren-von-for-schleifen-mit-openmp</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 05:55:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235443.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Mar 2009 14:44:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Parallelisieren von for Schleifen mit OpenMP on Mon, 02 Mar 2009 14:44:09 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe in meinem Programm viele for-Schleifen, die ich mit OpenMP parallelisieren will.<br />
Das klapt auch recht gut, nur bei einer Art von Schleichen gibt es Probleme:</p>
<pre><code>#pragma omp parallel for
for (int i=bixel_map[blenden[freiheitsgrade[parameter].blende].get_beam()][blenden[freiheitsgrade[parameter].blende].get_start(freiheitsgrade[parameter].y)][freiheitsgrade[parameter].y][0]; 
i&lt;=bixel_map[blenden[freiheitsgrade[parameter].blende].get_beam()][blenden[freiheitsgrade[parameter].blende].get_start(freiheitsgrade[parameter].y)][freiheitsgrade[parameter].y][1]; i++)
{	
dosis_matrix[kernel_voxel[i&rsqb;&rsqb;+=gewicht*kernel_dosis[i];
}
</code></pre>
<p>Ok, das ist jetzt ein bischen unübersichtlich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Aber es ist einfach nur eine for-schleife mit etwa 500 - 10000 Durchläufen.<br />
Je nachdem.<br />
Sowas parallelisiert er aber wunderbar:</p>
<pre><code>#pragma omp parallel for
for (int c=0;  c&lt;dim; c++){
	if (dosis_matrix[c] !=0){
		dosis_matrix[c]=dosis_matrix[c]*gewicht/gewicht_alt;
	}	
}
</code></pre>
<p>Kann es sein, dass OpenMP Probleme damit hatt, dass ich die Anzahl der durchläufe<br />
so &quot;kompliziert&quot; zusammenbastel?<br />
Oder woran könnte das noch liegen?</p>
<p>Danke,<br />
Moritz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672863</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672863</guid><dc:creator><![CDATA[mowo*fs*]]></dc:creator><pubDate>Mon, 02 Mar 2009 14:44:09 GMT</pubDate></item><item><title><![CDATA[Reply to Parallelisieren von for Schleifen mit OpenMP on Mon, 02 Mar 2009 14:48:12 GMT]]></title><description><![CDATA[<p>ja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672866</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 02 Mar 2009 14:48:12 GMT</pubDate></item></channel></rss>