<?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[Parallelisierung]]></title><description><![CDATA[<p>Hi,</p>
<p>was gibt es eigentlich für Möglichkeiten (libraries etc) Programme für heutige Multicores optimiert zu schreiben?<br />
Ich suche etwas das nicht ganz so low-level ist wie pure threads und futures. Gefunden habe ich einerseits z.B. die TBB von Intel, welche allerdings kommerziell sind.<br />
Dann ist da z.B. noch boost.task (ehemals boost.threadpool?), da hab ich wiederum Angst dass das in der Versenkung verschwindet wie so manche libs die für boost gemacht wurden und nicht gereviewed/aufgenommen werden. Wär doof wenn ich jetzt etwas verwende was bald schon nicht mehr existiert bzw. gewartet wird. Und der letzte commit im boost-svn war vor 5 Monaten</p>
<p>Was verwendet ihr so bzw. was ist zu empfehlen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/270909/parallelisierung</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 18:02:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/270909.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 20 Jul 2010 08:50:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Parallelisierung on Tue, 20 Jul 2010 08:50:31 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>was gibt es eigentlich für Möglichkeiten (libraries etc) Programme für heutige Multicores optimiert zu schreiben?<br />
Ich suche etwas das nicht ganz so low-level ist wie pure threads und futures. Gefunden habe ich einerseits z.B. die TBB von Intel, welche allerdings kommerziell sind.<br />
Dann ist da z.B. noch boost.task (ehemals boost.threadpool?), da hab ich wiederum Angst dass das in der Versenkung verschwindet wie so manche libs die für boost gemacht wurden und nicht gereviewed/aufgenommen werden. Wär doof wenn ich jetzt etwas verwende was bald schon nicht mehr existiert bzw. gewartet wird. Und der letzte commit im boost-svn war vor 5 Monaten</p>
<p>Was verwendet ihr so bzw. was ist zu empfehlen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1928998</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1928998</guid><dc:creator><![CDATA[concurrencier]]></dc:creator><pubDate>Tue, 20 Jul 2010 08:50:31 GMT</pubDate></item><item><title><![CDATA[Reply to Parallelisierung on Tue, 20 Jul 2010 09:22:04 GMT]]></title><description><![CDATA[<p>Ich benutze OpenMP für einfache Dinge und boost::thread wenn es komplexer wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929015</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929015</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Tue, 20 Jul 2010 09:22:04 GMT</pubDate></item><item><title><![CDATA[Reply to Parallelisierung on Tue, 20 Jul 2010 13:03:14 GMT]]></title><description><![CDATA[<p>Z.B. Posix-Threads mit eigenen C++ Wrapper, aber die willst du ja nicht. Boost::thread ist auch okay.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929154</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Tue, 20 Jul 2010 13:03:14 GMT</pubDate></item><item><title><![CDATA[Reply to Parallelisierung on Tue, 20 Jul 2010 13:10:42 GMT]]></title><description><![CDATA[<p>concurrencier schrieb:</p>
<blockquote>
<p>Gefunden habe ich einerseits z.B. die TBB von Intel, welche allerdings kommerziell sind.</p>
</blockquote>
<p>Das stimmt so nicht. Auszug aus der TBB fAQ:</p>
<blockquote>
<p>How is TBB licensed?</p>
<p>TBB is dual-licensed, with a commercial (COM) license and a GPL v2-based open source (OSS) license. Please pay close attention to the usage restrictions each license uses to make sure you are using the proper version.</p>
<p>...</p>
<p>What is the OSS license and what does it offer?</p>
<p>TBB is available under the common OSS license GPL v2 with the libstdC++ Runtime Exception. This is the same license used for a variety of well-known OSS applications including MySQL, NetBeans, and the Linux kernel.</p>
</blockquote>
<p>Lars</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929160</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Tue, 20 Jul 2010 13:10:42 GMT</pubDate></item><item><title><![CDATA[Reply to Parallelisierung on Tue, 20 Jul 2010 14:14:20 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/21632">@knivil</a>/brotbernd<br />
Also boost.thread kenn ich natürlich, aber das ist auch nur ein etwas besserer Wrapper. Ich dachte eher an etwas das auch Work-Stealing, Sub-Tasking (am besten automatisch), evtl. verschiedene scheduling-Methoden usw. unterstützt.</p>
<blockquote>
<p>TBB is available under the common OSS license GPL v2 with the libstdC++ Runtime Exception.</p>
</blockquote>
<p>Das mit der Runtime Exception hatte ich übersehen. Hab ich das richtig in Erinnerung dass ich das auch in kommerziellen Applikationen verwenden kann und nur die GPL nehmen muss wenn ich etwas ändere, oder wie war das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929184</guid><dc:creator><![CDATA[concurrencier]]></dc:creator><pubDate>Tue, 20 Jul 2010 14:14:20 GMT</pubDate></item><item><title><![CDATA[Reply to Parallelisierung on Tue, 20 Jul 2010 15:35:05 GMT]]></title><description><![CDATA[<p>Ist wahrscheinlich auch noch zu Low-Level für dich, aber POCO bietet auch Threads an:<br />
<a href="http://pocoproject.org/slides/130-Threads.pdf" rel="nofollow">http://pocoproject.org/slides/130-Threads.pdf</a></p>
<p>Ich habe sie nie benutzt, aber die Bibliothek sieht (auch sonst) im grossen und ganzen recht interessant aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929237</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 20 Jul 2010 15:35:05 GMT</pubDate></item><item><title><![CDATA[Reply to Parallelisierung on Tue, 20 Jul 2010 16:08:06 GMT]]></title><description><![CDATA[<p>Dann gäbe es nch QThread aus den QT Bibliotheken. Ist aber nicht wesentlich einfacher als boost oder c++0x threads. Ich finde die allerdings eigentlich recht handlich. Was willst Du denn damit machen, was sie Dir unhandlich erscheinen läßt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929259</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 20 Jul 2010 16:08:06 GMT</pubDate></item><item><title><![CDATA[Reply to Parallelisierung on Tue, 20 Jul 2010 18:21:04 GMT]]></title><description><![CDATA[<p>Wenn schon Qt erwähnt wird, sollte nicht (nur) QThread gesagt werden, sondern vor allem QtConcurrent! Das verwaltet selber die Threads, in Abhängigkeit der verfügbaren Prozessoren. Das ist glaub ich eher in die Richtung, was der OP wollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929306</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Tue, 20 Jul 2010 18:21:04 GMT</pubDate></item><item><title><![CDATA[Reply to Parallelisierung on Tue, 20 Jul 2010 19:05:08 GMT]]></title><description><![CDATA[<p>concurrencier schrieb:</p>
<blockquote>
<p>Das mit der Runtime Exception hatte ich übersehen. Hab ich das richtig in Erinnerung dass ich das auch in kommerziellen Applikationen verwenden kann und nur die GPL nehmen muss wenn ich etwas ändere, oder wie war das?</p>
</blockquote>
<p><a href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch01s02.html:" rel="nofollow">http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch01s02.html:</a></p>
<blockquote>
<p>As a special exception, you may use this file as part of a free software<br />
library without restriction. Specifically, if other files instantiate<br />
templates or use macros or inline functions from this file, or you compile<br />
this file and link it with other files to produce an executable, this<br />
file does not by itself cause the resulting executable to be covered by<br />
the GNU General Public License. This exception does not however<br />
invalidate any other reasons why the executable file might be covered by<br />
the GNU General Public License.</p>
<p>Hopefully that text is self-explanatory. If it isn't, you need to speak to your lawyer, or the Free Software Foundation.</p>
</blockquote>
<p>Lars</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929321</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Tue, 20 Jul 2010 19:05:08 GMT</pubDate></item><item><title><![CDATA[Reply to Parallelisierung on Tue, 20 Jul 2010 23:00:34 GMT]]></title><description><![CDATA[<p>Intel TBB (als Open source verfügbar), Boost.Task (mit dem von dir angesprochenen Risiko), Microsoft PPL, sind m.E. die interessantesten Möglichkeiten. Die Intel lib unterstützt auch viele Patterns, wie Pipelines, und bietet auch Algorithmen für die einfachen Sachen, wie parallel_for.</p>
<p>Ansonsten ist ein std::async geplant, aber ich bin nicht auf dem Laufenden, ob man da zum Beispiel angeben kann, welcher Threadpool für den Task verwendet werden soll. Man kann afaik auch nicht subtasken. Und ich kenne keine Implementierung bisher. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Also wenn ich es mir recht überlege, siehe erster Absatz.</p>
<p>Ist noch ein bisschen wenig Auswahl, aber ich hoffe ja eh auf das Boost-Zeug und dann braucht man in 99% der Fälle nichts mehr anderes.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929379</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 20 Jul 2010 23:00:34 GMT</pubDate></item><item><title><![CDATA[Reply to Parallelisierung on Wed, 21 Jul 2010 07:20:13 GMT]]></title><description><![CDATA[<p>Hier gibt werden einige Bibliotheken besprochen:</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <a href="http://www.multicoreinfo.com/2009/08/parprog-part-9/" rel="nofollow">http://www.multicoreinfo.com/2009/08/parprog-part-9/</a></p>
<p>Gruß<br />
Drehleiter</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929418</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929418</guid><dc:creator><![CDATA[Drehleiter]]></dc:creator><pubDate>Wed, 21 Jul 2010 07:20:13 GMT</pubDate></item><item><title><![CDATA[Reply to Parallelisierung on Wed, 21 Jul 2010 09:03:53 GMT]]></title><description><![CDATA[<p>@Optimizer: Ok, das ist die Info die ich gesucht habe... dann hoff ich mal auch dass das mit boost was wird. Wegen std::async: TBB wurde ja an das Standardkomitee eingereicht, ist das das? Wie auch immer, bis zum Standard wird das wohl noch dauern..</p>
<p>Qt.concurrency kann ich mir auch mal ankucken, ansonsten werd ich wohl echt bei boost bleiben und im schlimmsten fall muss ich halt doch alles refactoren..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929458</guid><dc:creator><![CDATA[concurrencier]]></dc:creator><pubDate>Wed, 21 Jul 2010 09:03:53 GMT</pubDate></item><item><title><![CDATA[Reply to Parallelisierung on Wed, 21 Jul 2010 12:20:49 GMT]]></title><description><![CDATA[<p>Nein, die TBB sind wesentlich ausgefeilter und umfangreicher, als das async, was momentan diskutiert wird. Aber theoretisch kann daraus mal was vergleichbares werden. Wie gesagt, ich hab die Diskussion aber nicht genau verfolgt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929563</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 21 Jul 2010 12:20:49 GMT</pubDate></item><item><title><![CDATA[Reply to Parallelisierung on Wed, 21 Jul 2010 14:31:31 GMT]]></title><description><![CDATA[<p>Ich hab mir nochmal kurz std::async angeschaut. Das ist wirklich extrem simpel gehalten, funktioniert aber z.B. schon in meinem gcc 4.5.1 2010050 prerelease.<br />
Allerdings kann man da, so wie ich das gesehen habe, wirklich nur a) in ganz neuem Thread, b) synchron in einem Thread oder c) so wie es sich die Implementierung denkt gestartet werden.</p>
<p>boost.task scheint mir wirklich der beste Kompromiss zu sein wenn man Komfort haben möchte und trotzdem sinnvolle Kontrollmöglichkeiten vorhanden sein sollen (z.B. verschiedene Scheduler).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1929633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1929633</guid><dc:creator><![CDATA[concurrencier]]></dc:creator><pubDate>Wed, 21 Jul 2010 14:31:31 GMT</pubDate></item></channel></rss>