<?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[OpenMP startschwierigkeiten]]></title><description><![CDATA[<p>Hallo,</p>
<p>würde gerne mit OpenMP Threads erstellen. Das will aber nicht, wie ich das will.<br />
Wenn ich eine for Schleife nutze, mache ich das so(Das ganze läuft selbst in Endlosschleife):</p>
<pre><code>#pragma omp parallel for
for(int i=0; i&lt;2; i++){
	do_something(i);
}
</code></pre>
<p>do_something sieht z.b. so aus:</p>
<pre><code>void do_something(int threadnumber){
	for(int i=0;i&lt;10000;i++){
		printf(&quot;%d\n&quot;, threadnumber);
	}
}
</code></pre>
<p>Hätte jetzt erwartet, dass do_something 2 mal als Thread existiert und die Ausgaben gemischt werden - mal 1 und mal 0 mehr oder weniger abwechselnd oder sowas in der Art. Aber offenbar wird schön eins nach dem anderen ausgeführt. Beide logischen CPUs sind nur ca zur Hälfte ausgelastet. Also ganz offensichtlich macht das nicht, was ich gerne hätte.<br />
Wie geht das? (habe #include &lt;omp.h&gt; benutzt, aber sonst nichts besonderes in MSVS2005 eingestellt - muss man?). Compilerfehler gibt es keine.</p>
<p>Wie kann ich das ändern, sodass es so läuft, wie ich mir das vorgestellt habe?</p>
<p>Danke,<br />
Daft</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/213629/openmp-startschwierigkeiten</link><generator>RSS for Node</generator><lastBuildDate>Tue, 13 Oct 2026 23:05:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/213629.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 May 2008 23:49:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to OpenMP startschwierigkeiten on Mon, 19 May 2008 23:49:31 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>würde gerne mit OpenMP Threads erstellen. Das will aber nicht, wie ich das will.<br />
Wenn ich eine for Schleife nutze, mache ich das so(Das ganze läuft selbst in Endlosschleife):</p>
<pre><code>#pragma omp parallel for
for(int i=0; i&lt;2; i++){
	do_something(i);
}
</code></pre>
<p>do_something sieht z.b. so aus:</p>
<pre><code>void do_something(int threadnumber){
	for(int i=0;i&lt;10000;i++){
		printf(&quot;%d\n&quot;, threadnumber);
	}
}
</code></pre>
<p>Hätte jetzt erwartet, dass do_something 2 mal als Thread existiert und die Ausgaben gemischt werden - mal 1 und mal 0 mehr oder weniger abwechselnd oder sowas in der Art. Aber offenbar wird schön eins nach dem anderen ausgeführt. Beide logischen CPUs sind nur ca zur Hälfte ausgelastet. Also ganz offensichtlich macht das nicht, was ich gerne hätte.<br />
Wie geht das? (habe #include &lt;omp.h&gt; benutzt, aber sonst nichts besonderes in MSVS2005 eingestellt - muss man?). Compilerfehler gibt es keine.</p>
<p>Wie kann ich das ändern, sodass es so läuft, wie ich mir das vorgestellt habe?</p>
<p>Danke,<br />
Daft</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1512717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1512717</guid><dc:creator><![CDATA[Daft]]></dc:creator><pubDate>Mon, 19 May 2008 23:49:31 GMT</pubDate></item><item><title><![CDATA[Reply to OpenMP startschwierigkeiten on Tue, 20 May 2008 15:08:45 GMT]]></title><description><![CDATA[<p>irgendwie habe ich das Gefühl, dass mit den pragmas gar nichts angefangen wird. Ich kann auch schreiben</p>
<pre><code>#pragma blabla
</code></pre>
<p>und den Compiler stört es nicht weiter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1513168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1513168</guid><dc:creator><![CDATA[Daft]]></dc:creator><pubDate>Tue, 20 May 2008 15:08:45 GMT</pubDate></item><item><title><![CDATA[Reply to OpenMP startschwierigkeiten on Tue, 20 May 2008 15:26:30 GMT]]></title><description><![CDATA[<p>Das ist ja gerade da tolle. Nur Kompiler, die es verstehen, wenden es an und der Code bleibt auch noch für nicht kompatible Kompiler verwendbar (nur entfallen die erw+ünschten Effekte).</p>
<p>Gruß<br />
Don06</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1513177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1513177</guid><dc:creator><![CDATA[Don06]]></dc:creator><pubDate>Tue, 20 May 2008 15:26:30 GMT</pubDate></item><item><title><![CDATA[Reply to OpenMP startschwierigkeiten on Tue, 20 May 2008 15:33:27 GMT]]></title><description><![CDATA[<p>also hab ich den falschen Compiler? Wie ändere ich den Compiler denn in VS2005?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1513184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1513184</guid><dc:creator><![CDATA[Daft]]></dc:creator><pubDate>Tue, 20 May 2008 15:33:27 GMT</pubDate></item><item><title><![CDATA[Reply to OpenMP startschwierigkeiten on Tue, 20 May 2008 16:08:49 GMT]]></title><description><![CDATA[<p>siehe<br />
<a href="http://openmp.org/wp/openmp-compilers/" rel="nofollow">http://openmp.org/wp/openmp-compilers/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1513202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1513202</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 20 May 2008 16:08:49 GMT</pubDate></item><item><title><![CDATA[Reply to OpenMP startschwierigkeiten on Tue, 20 May 2008 17:26:32 GMT]]></title><description><![CDATA[<p>VS2005 unterstützt auch OpenMP aber nur mit dem /openmp Switch und nicht in den Standard und Express Versionen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1513244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1513244</guid><dc:creator><![CDATA[Ben04]]></dc:creator><pubDate>Tue, 20 May 2008 17:26:32 GMT</pubDate></item></channel></rss>