Sämtliche Beiträge des Monats März 2009
“Nero unterstützt bereits seit der Version 7 Multithreading”
Das Thema Multithreading steht bei weitem noch nicht überall auf der Agenda, obwohl Mehrkernprozessoren wie der Pentium D den Massenmarkt schon seit etwa vier Jahren bereichern. Umso erstaunlicher ist es, dass nach wie vor nur ein Bruchteil der bestehenden Software zwei oder mehr Prozessorkerne optimal nutzt. Klar, Betriebssysteme wie Windows Vista oder auch das künftige Windows 7 unterstützen von Haus aus Multicore-Plattformen, wirklich effizient skalieren die meisten Softwaretitel aber nicht.
Jedoch gibt es mehr und mehr Ausnahmen von der Regel, wie ich ja hier schon anhand der Beispiele Nik Software, Crytek, Cakewalk und DivX gezeigt habe. Dazu gehört auch Nero, die schon seit der Version 7 ihrer Suiten Multithreading betreibt. Seitdem werden die Software-Titel wie Nero 9 immer weiter optimiert, um eine bestmögliche Ausnutzung der Hardware-Kapazitäten gewährleisten zu können. Hierfür arbeitet Nero sehr eng mit Intel zusammen, um in diesem Bereich optimale Ergebnisse erzielen zu können.
Deshalb ist Larrabee für realistische 3D-Spiele wichtig
Gerade hab ich mir zwei Demofilme zu Lara Croft – Underworld angesehen, und da ist mir mal wieder aufgefallen, wie wichtig realistische 3D-Darstellungen sind. Denn das gesamte Gameplay steht und fällt mit den physikalischen Verhaltensmustern des Spieletitels: Wie echt fällt der Regen auf eine strukturierte Oberfläche? Sieht Laras wehendes Haar wirklich naturgetreu aus? Was passiert mit Gras, wenn sich Mrs. Croft auf demselben geschmeidig abrollt?
All diese Aspkete (und viele mehr) werden mit dem englischen Terminus “Game Physiscs” zusammengefasst, und hier kommt eine Intel-Architektur ins Spiel, die wohl den gesamten Spielemarkt umkrempeln wird: Larrabee. Dahinter verbirgt sich vornehmlich die Idee, rechenintensive 3D-Aufgaben nicht mehr von einer oder mehreren Grafikkarten, sondern von einer CPU-basierten Einheit ausführen zu lassen. Damit ist Larrabee nichts anderes als ein x86-basierter Multicore-Verbund, der dank eines speziellen Befehlssatzes (LRBni) nicht nur für Excel-Tabellen taugt, sondern auch zum Berechnen und Darstellen aufwendiger 3D-Szenen.
So reagiert beispielsweise ein Ball unterschiedlich, je nachdem, ob er auf einer glatten Oberfläche landet oder auf einer weichen. Hinzu kommt der Wunsch vieler Spieler, 3D-Szenen immer komplexer darzustellen, also mit Dutzenden von verschiedenen Objekten, die sich alle realitätsnah verhalten müssen. Und das erfordert viel Rechenzeit und Speicherbandbreite.
Eurographics 2009: Wohin geht die 3D-Reise?!
Nächsten Montag beginnt hier in München auf dem Forschungsgelände der TU München die Eurographics 2009, und das bereits zum 30. Mal. Auf dieser Fünftageskonferenz geht es vor allem um professionelle 3D-Applikationen und deren Anwendungsgebiete samt der zugehörigen Trends und zukünftigen Entwicklungen.
So finden an jedem Tag zahlreiche Workshops, Keynote-Sessions, Tutorials, Vorträge und anderes statt, die sich mit dem Thema Visual Computing beschäftigen. Mit dabei ist Intel, die Firma hat innerhalb der Sektion “Industry Presentations” einen eigenen Slot zugewiesen bekommen. Das hat unter anderem damit zu tun, dass Intel einer der Sponsoren der Eurographics 2009 ist.
In eineinhalb Stunden (13:30 bis 15:00) werden Manfred Ernst und Mat Pharr über zwei Themen sprechen: “Ray Tracing – Why should we use it?” (Manfred) und “Back To The Future With New Graphics Architectures” (Mat). In Manfreds Vortrag geht um die Fragen, worin sich Rasterisierung und Ray Tracing im Wesentlichen unterscheiden und wie aktuelle und zukünftige Multicore-Plattformen ihren Teil zu mehr Ray-Tracing-Power beitragen.
Im zweiten Vortrag wird Mat darüber reden, wie sich Grafikberechnungen immer mehr von Spezial-Hardware (z. B. Grafikkarten) auf massenmarkttaugliche Prozessoren verschieben. Das Stichwort dahinter ist wohl Larrebee. Zumindest deutet die Zusammenfassung seines geplanten Vortrags darauf hin. Da ich es natürlich ganz genau wissen will, werde ich am nächsten Mitwoch (1.4.) vor Ort sein und mir die Vorträge anhören/-sehen und darüber berichten. Und keine Sorge, das wird kein Aprilscherz!
Reminder: Online-Training zum Parallel Composer
Damit keiner sagen kann, wir hätten ihn nicht daran erinnert: Heute findet um 17:00 Uhr unserer Zeit ein weiteres der angekündigten Online-Trainings statt, und zwar zum Thema Parallel Composer. Dieses Tool ist Bestandteil der künftigen Entwicklungsumgebung Parallel Studio, das sich gerade in der Beta-Phase befindet und noch im ersten Halbjahr als fertiges Produkt auf den Markt kommen soll.
Damit ihr euch schon mal einen ersten lebendigen Eindruck vom Parallel Conposer verschaffen könnt, ist die Teilnahme an dem kostenlosen Webinar sicherlich eine gute Idee. Also, hierher klicken, anmelden und um 17:00 MEZ einwählen. Viel Spaß dabei!
Multithread your Games: Intel auf der GDC 2009
Gestern Abend unserer Zeitrechnung öffneten sich mal wieder die Pforten des Moscone Center in San Francisco, der heiligen Messehallen der großen Stadt an der Bay. Dort trifft sich an genau fünf Tagen (also bis Freitag) bei frühlingshaften Temperaturen auf der GDC’09 die Gaming-Industrie, um sich mit den neuesten Spieleentwicklungen zu beschäftigen.
Mit dabei ist natürlich auch Intel, das in diesem Segment eine maßgebliche Rolle spielt – und nicht erst seit Bekanntwerden der geplanten GPCPU-Technik Larrabee. Denn vor allem die integrierten Grafikchips ermöglichen immer realistischere 3D-Bilder – und das sogar auf Notebooks. Gerade dort sind spezielle Features wie eine dauerhafte In-Game-Akkuanzeige wichtig, aber auch so Spezialitäten wie Ad-hoc-Netze für Multiplayer-Spiele erfordern ein wenig Know-how, um diese in Spieletitel zu implementieren.
Richtig “insight”-mäßig wird es gleich am heutigen Dienstag (24.3.): Dann geht es nämlich um das Thema “Multithreading von 3D-Spielen”. Zwischen 10 und 18 Uhr lokaler Zeit zeigen Paul Lindberg, Brad Werth und Orion Granatir von Intel acht Stunden lang, wie man parallel denken muss, wie man ein neues Multithread-System in ein bestehendes Framework implementiert, wie man Datenabhängigkeiten findet und wie man diese mit den passenden Tools eliminiert.
Mehr Infos zur Intel Software Conference 2009
Erst vorgestern habe ich über die Intel Software Conference 2009 berichtet, die Mitte April im schönen Salzburg stattfinden wird. Und ich hatte am Schluss versprochen, weitere Infos nachzuschieben, sobald mir diese vorliegen. Und genau das geschieht jetzt.
Der Morgen beginnt ganz gemütlich mit ein paar einleitenden Worten des Gastgebers. Anschließend macht sich James Reinders, Oberchef der Software Developer Group bei Intel, ein paar Gedanken zu der Frage, wie es Programmierer und Entwickler schaffen können, ihren Anwendungen paralleles Leben einzuhauchen. Denn in Zeiten fallender Taktraten pro CPU und steigender Prozessorkerne pro System wird es immer wichtiger, sich mit dem Thema Multithreading und Multicore-Optimierung zu beschäftigen. Wie dies am Beispiel Parallel Studio funktioniert, verrät er auch schon mal ein wenig.
Nach der ersten kurzen Pause geht es dann interessant weiter. Eric Vernié, einer der führenden Software-Evangelisten bei Microsoft, wird sich mit Visual Studio 2010 und .NET 4.0 beschäftigen und anhand dieser zukünftigen Entwicklungsumgebung zeigen, wie sich Redmond das Thema Parallelprogrammierung vorstellt. Wer wissen will, wie Erics Vortrag in etwa aussehen könnte, sollte sich das Interview zu Gemüte führen, das ich mit Dariusz Parys anlässlich der OOP 2009 geführt und hier veröffentlicht habe.
F# und Co: prio.powerday “Multicore im .NET-Umfeld”
Zugegeben, das wird jetzt kein Final Call, dafür ist es noch zu früh. Aber der prio.powerday “Multicore-Programmierung für .NET-Entwickler” wirft bereits seine Schatten voraus, und daher will ich die Gelegenheit nutzen, über ein paar Details zu reden.
Im Gegensatz zum letzten Blogeintrag steht mittlerweile fest, wer die Keynote-Rede halten wird. Es ist Rami Radi, Senior Software Application Engineer bei der Software und Services Group von Intel. Rami wird unter anderem den Irrglauben vieler .NET-Entwickler zerschlagen, dass ihre Anwendungen automatisch mit den aktuellen Hardware-Plattformen skalieren. Daher wird Rami zeigen, welche Schritte notwendig sind, um .NET-Software für Multicore-Plattformen wie den Core i7 von Intel zu analysieren, zu optimieren und fein abzustimmen.
Anschließend werden Bernd Marquardt und Ralf Westphal gemeinsam einen ersten Einblick in die Welt der Parallelverarbeitung und -programmierung gewähren. Das Auditorium wird also eine Menge über die Terminologie der Multicore-Programmierung erfahren. Zudem stehen die Konzepte des Multithreadings sowie deren Herausforderungen auf Bernds und Ralfs Agenda.
Nach einer kurzen Kaffeepause geht es dann ans Eingemachte: “Parallelverarbeitung mit .NET Bordmitteln”. Was bietet das .NET-Framework, um die eigenen Softwareprojekte für Core i7 und Co. zu optimieren. Ein kleiner Tipp: Hierzu gibt es auf diesem Blog eine ganze Menge nachzulesen. Wer die Infos dazu findet, darf sie behalten!
Alles über Multicore: Intel Software Conference 2009
Was fällt euch zu Salzburg ein? Österreich!? Gut! Mozart?! Auch gut! Multicore?! Nicht!? Doch, doch, denn heute habe ich eine exklusive Einladung erhalten, in der steht, dass am 20. und 21. April die volle Ladung Multicore-Programmierung in Salzburg, Österreich vorgesehen ist. Wow, wie schön! Salzburg, meine ich. Und natürlich auch die Konferenz.
Der wesentliche Tag ist der Dienstag (21.4.), an dem es eine Menge Infos rund um Multithreading, Multicore-Tools und mehr geben wird. Die Agenda sieht unter anderem Vorträge vor von James Reinders (Intel), Eric Vernié (Microsoft), Charly Lippoth (Nero), Heinz Bast (Intel) und Levent Akyil (Intel). Dabei geht es vor allem um Parallel Studio, die brandneue Toolsuite von Intel, mit deren Hilfe in Zukunft Software-Parallelität einfacher implementiert werden kann.
Was im Detail alles auf der Entwicklerkonferenz passieren wird, gibt es demnächst hier nachzulesen. Versprochen!
Ach ja: Ich werde natürlich nicht nur zu meinem Vergnügen nach Salzburg reisen. So will und werde ich den ganzen Tag von der Intel Software Conference 2009 live und exklusiv auf diesem Sender bloggen. So wahr mir Wifi helfe …
Skalierende Musikprojekte dank Multithreading: Sonar 8
Der Name Cakewalk ist wohl hauptsächlich eingefleischten Audio-Freaks ein Begriff. So entwickelt das in Boston, Massachusetts beheimatete Unternehmen Software für Musiker und ähnliche Menschen. Eines der wichtigsten Software-Titel von Cakewalk ist Sonar, ein professioneller Audio-Sequenzer, mit dem sich sowohl Audio- als auch MIDI-Tracks parallel mischen, arrangieren und aufnehmen lassen. Ach ja: Sonar hieß irgendwann mal Cakewalk Pro resp. Cakewalk Pro Audio. Aber das nur so am Rande.
Warum ich das alles erzähle? Nun, ich hatte gestern die exklusive Gelegenheit, mit Noel Borthwick ein ausführliches Telefonat zu führen. Noel ist CTO von Cakewalk, also der führende technische Kopf des Unternehmens. So gesehen hat Noel eine ganze Menge über Sonar und dessen Multithread-Fähigkeiten zu erzählen.
Zunächst einmal gab es ein wenig Geschichtliches. So erfuhr ich, dass Cakewalk Pro Audio etwa 1993/94 entstanden ist und damals schon multithread-fähig war. Ok, natürlich nur auf einer Multisocket-Plattform mit zwei parallel geschalteten Prozessoren, mit deren Hilfe es möglich war, die komplette Bedieneroberfläche auf einen separaten Thread auszulagern und die Audio Engine auf die zweite CPU. Das war sicherlich nicht sonderlich effektiv, zeigt aber, das sich Cakewalk schon seit mehr als 15 Jahren mit dem Thema Multithreading beschäftigt – und das sehr erfolgreich, wie die Firmenhistorie zeigt.
Im Jahr 2001 vollzog Cakewalk dann den Namenswechsel: Aus Cakewalk Pro Audio wurde Sonar und damit ein skalierendes Produkt, das auf Basis einer komplett neu entwickelten Audio Engine die Möglichkeiten des damals aufkommenden Software-Multithreadings erheblich besser ausnutzen konnte als sein Vorgänger. Hierfür war neben dem Redesign der Software auch ein eigener Task Scheduler notwendig, der in Sachen Funktionsumfang dem Task Scheduler der Intel TBB ähnelt. Für eine optimale Skalierung werden also die vorhandenen Ressourcen (Kerne) ermittelt und anhand dessen die anstehenden Aufgaben (Tasks) intern in Threads umgewandelt und zur Laufzeit dynamisch auf die vorhandenen Prozessorkerne verteilt.
Workshop: Alles über .NET-Threads – Teil 4
Eine neue Woche beginnt, und im selben Atemzug endet meine vierteilige Serie zum Thema .NET-Threads. So habe ich im ersten Kapitel über das Erzeugen von Threads geschrieben, im zweiten Teil mich über das Verwalten derselben ausgelassen, und am letzten Donnerstag war der ThreadPool und dessen Möglichkeiten dran. Und heute?! Nun, heute geht es um die Synchronisierung mehrerer Threads und atomare Aktionen.
Zunächst einmal kann man festhalten, dass die Thread-Synchronisierung im .NET-Framework ähnlich funktioniert wie im Win32- oder Pthreads-Umfeld. Es geht also um den gegenseitigen Ausschluss sowie um atomare Aktionen auf spezielle Variablen. Wie bei der von C# bekannten Methode lock wird ein Codeabschnitt mithilfe der geschweiften Klammern geblockt, sodass zu dieser Zeit nur ein einziger Thread darauf zugreifen kann. Hierfür bietet das .NET-Framework eine ähnliche Konstrukte:
Monitor.Enter ( this )
try
{
……. shared_var = other_shared_var +1;
……. other_shared_var = 0;
}
finally
{
…… Monitor.Exit ( this )
}
Mit der Klasse Monitor wird der entsprechende Codeabschnitt blockiert. Mit Enter() wird der Abschnitt gesperrt und mit Exit() wieder freigegeben. Praktisch an Monitor ist auch dessen Möglichkeit, Datenstrukturen als Parameter zu übergeben.
Bei Monitor.Enter() geschehen übrigens zwei Dinge: Erstens wird eine Warteschlange eingerichtet, die auf diejenigen Threads verweist, die gesperrt werden sollen und eine zweite Queue mit Threads, die darüber informiert werden wollen, wenn eine Speere verfügbar ist. Monitor.Exit() sorgt dafür, dass der erste verfügbare Thread in Warteschlange #1 gesperrt wird.
Nützliche Online-Infos rund ums Parallele Programmieren
Über das künftige Multithread-Programmiertool Parallel Studio von Intel habe ich an dieser Stelle ja schon öfter berichtet. Und heute erreichte mich die Nachricht, dass es ab sofort eine komplett neu eingerichtete Webseite gibt, auf der es eine Menge Infos zu diesem Programmierwerkzeug gibt. Klar, dass ich mir das mal genauer ansehen musste.
Mein erster Gedanke zur neuen Webseite rund um die parallele Programmierung: sehr aufgeräumt. Denn die Seite besteht lediglich aus einer Handvoll von Verweisen auf Informationen, die sich mit den unterschiedlichen Aspekten des Parallel Computing befassen.
Dazu gehören nützliche Infos zu Parallel Studio, die nur einen Mausklick entfernt sind. Dort könnt ihr euch über die einzelnen Tools der Suite informieren (Composer, Inspector und Amplifier). Ihr könnt euch aber auch für das Beta-Programm eintragen oder sogar bei QT software oder der SOS Software Service GmbH bereits heute ein Paket von Parallel Studio vorbestellen. Oder seht euch einfach mal das Video an, dass Intel mit dem Parallel-Guru James Reinders gedreht hat.
Aber die Webseite hält auch eine Menge an Informationen für alle HPC-Enthusiasten (High Performance Computing) bereit. Hier geht es primär um die ganzen anderen Tools, die Intel für das Multithreaden und Optimieren von Hochleistungsanwendungen bietet. Die Rede ist also von Compilern, Threading Building Blocks, Integrated Performance Primitives, Math Kernel Library, Thread Checker und anderen Tools.
Übrigens: All diese Produkte können ausprobiert und auch gekauft werden. Und einige dieser Software-Pakete kann man sogar kostenlos nutzen, solange man damit keine kommerzielle Anwendungen baut.
Workshop: Alles über .NET-Threads – Teil 3
Teil eins und Teil zwei meines Minispecials zum Thema .NET-Threads stehen bereits online, und heute folgt sehr chronologisch der dritte Abschnitt. Dieser handelt von den Thread-Pools, mit deren Hilfe eine größere Anzahl von notwendigen Threads mithilfe des .NET-Frameworks verwaltet werden können.
Zunächst einmal sollte man sich klar machen, dass das Erzeugen und Verwalten von .NET-Threads mit einem immensen administrativen Aufwand verbunden ist: Lokaler Thread-Speicher muss angelegt und die Systemstrukturen für die Thread-Verwaltung müssen eingerichtet werden. Darüber hinaus nimmt die Komplexität des Quellcodes deutlich zu, sobald mehrere Threads mit Bordmitteln verwaltet werden sollen.
Aus diesem Grund hat Microsoft dem .NET-Framework ein Ressource spendiert, die sich ThreadPool nennt. Dabei wird zunächst eine bestimmte Anzahl von Threads generiert, außerdem wird eine Art Arbeitswarteschlange erstellt. Sobald eine auszuführende Aufgabe in diese Warteschlange befördert wird, wird ein Thread für diesen Task aktiviert und ihm die Aufgabe zugewiesen. Dies erledigt das .NET-Framework automatisch. Allerdings ist dabei zu beachten, dass der ThreadPool nur dann sinnvoll eingesetzt werden kann, wenn ein Programm aus mehreren Threads besteht, die immer wieder benötigt werden.
Workshop: Alles über .NET-Threads – Teil 2
Meine kleine .NET-Serie zum Thema Threads geht heute in die zweite Runde. Nachdem es gestern um das Erzeugen von Threads ging, handelt Teil zwei von der Thread-Verwaltung. Dabei unterscheidet man zwischen Beenden, Warten, Anhalten und Fortsetzen.
Beenden von Threads: Dies geschieht am einfachsten, indem ein Thread ganz regulär während des Programmablaufs verlassen wird und die Anwendung wieder zum Masterthread zurückkehrt. Dies gibt der Common Language Runtime (CLR) die Möglichkeit, die notwendigen Aufräumarbeiten durchzuführen. Allerdings muss manchmal ein anderer als der gerade laufende Thread beendet werden. Daher hat Microsoft den .NET-Thread-APIs eine Methode spendiert, die sich Abort() nennt, mit deren Hilfe ein laufender Thread abgebrochen werden kann. Beim Aufruf von Abort() wird automatisch eine ThreadAbortException ausgelöst.
Der Aufruf von Abort() zieht übrigens eine Reihe verschiedener Dinge nach sich. Dazu gehört die Fähigkeit des Threads, den eigenen Abbruch zu vereiteln, indem er innerhalb des Exception-Handlers die Methode System.Threading.Thread.ResetAbort aufruft. Daneben besteht die Möglichkeit, innerhalb eines Codeblocks mithilfe von finally weiteren Quellcode ausführen zu lassen, was im ungünstigsten Fall eine beachtliche Verzögerung des Thread-Abbruchs nach sich zieht. Aus diesen beiden Gründen sollte man zur Laufzeit überprüfen, ob ein bestimmter Thread auch vollständig abgebrochen wurde. Hierfür steht die Join-Methode zur Verfügung.
Workshop: Alles über .NET-Threads – Teil 1
Ende Januar, im Anschluss an die OOP 2009, habe ich hier eine kleine Miniserie mit dem Titel “Multicore-Programmierung im .NET-Umfeld” veröffentlicht. Was dabei ein wenig zu kurz kam sind die technischen Aspekte, die daraus resultieren. Wie beispielsweise Threads mithilfe des .NET-Frameworks erzeugt, verwaltet und synchronisiert werden. Und über die vorhandenen Thread-Pools habe ich ebenfalls zu wenig erzählt.
Das alles werde ich ab heute in Form einer Miniserie mit der Überschrift “Alles über .NET Threads” nachholen. Der erste Teil beschäftigt sich mit dem Thema “Threads erzeugen”.
Da die .NET-APIs etwas “schlanker” sind als ihre Win32-Brüder und -Schwestern, gestaltet sich das Erzeugen eines .NET-Threads relativ einfach. Dies sieht wie folgt aus:
using System.Threading;
[Definition von Variablen]
Thread t = new Thread( new ThreadStart( ThreadFunc ));
Der Aufruf von ThreadStart() erzeugt einen neuen Thread. Der Parameter ist eine Delegat namens ThreadFunc. Übrigens: In C# ist ein Delegat identisch mit der Adresse einer Funktion in C. Der Thread endet dann an der Stelle, sobald ThreadFunc() endet. Doch damit nicht genug. Für eine fehlerfreie Ausführung des Threads muss weiterer Code implementiert werden:
t.Start() — Dies startet den Thread unter .NET explizit (was z. B. unter Win32 nicht erforderlich ist).
Thread.Sleep( 40 ) — Dies unterbricht den (seriellen) Hauptthread für die Dauer der Zeiteinheit in der Klammer, die in Millisekunden angegeben wird. Dies kann in der Praxis jedoch erheblich von der tatsächlich benötigten Zeit abweichen.
[aufzurufende Funktion] — Diese Funktion wird parallel auf den vorhandenen Prozessorkernen ausgeführt.
Thread.Sleep( 0 ) — Dies beendet den parallelen Thread und reaktiviert den “schlafenden” Hauptthread.
Infos rund ums Parallele Programmieren auf MSDN
Heute Morgen habe ich nicht schlecht gestaunt, als mich Google Alert darüber informiert hat, dass es eine externe Verlinkung zu einem meiner Blogbeiträge gibt. Dabei handelt es sich um einen Workshop, der sich mit den Methoden der parallelen Programmierung mithilfe von OpenMP beschäftigt.
Besonders bemerkenswert daran fand ich übrigens die Seite, die den Beitrag verlinkt hat: Es handelt sich um niemand geringeres als MSDN, also das Entwicklerportal von Microsoft, die dem Thema Parallele Programmierung eine eigene Webseite spendiert haben. Und genau dort findet man den Link auf meinen OpenMP-Beitrag. Daneben gibt es noch weitere interessante Einstiege in die Welt der Multithreading-Entwicklung. Da erfährt man eine Menge über die Grundlagen der Parallelprogrammierung, aber auch Tools und Downloads werden dort vorgestellt.
Des Weiteren können interessierte Entwickler nützliche Artikel abgreifen, Webcasts und Videos angucken und Blogs lesen. Und klar, dass es auf der Webseite auch um die Themen Paralleles Programmieren mit .NET geht. Besonders bemerkenswert finde ich auch die Tatsache, dass MSDN für Intel eine eigene Sektion mit Namen “Intel Developer Network” spendiert hat. Dort findet man Wissenswertes zum Parallel Studio und zu anderen Themen.
Fazit: Parallel Computing auf MSDN ist eine bookmark-taugliche Webseite, wenn man in Sachen Parallele Programmierung auf dem Laufenden bleiben will.
Reminder: Webcast-Session am 10. März zu Parallel Studio
Anfang Februar habe ich schon mal darüber berichtet: Intel bringt interessierten Software-Entwicklern die künftige Entwicklungsumgebung Parallel Studio näher. Und zwar in Form diverser Webinars, also Online-Videosessions. Im allerersten Webcast, das nächste Woche am Dienstag (10.3.) stattfindet, stellt Parallel-Guru James Reinders Parallel Studio umfassend vor. Er wird also viel erzählen über Parallel Inspector, Composer, Amplifier und Co. Hier geht’s übrigens direkt zur Anmeldung …
Videocasts zum Thema parallele Programmierung auf ZDNet
Intel und ZDNet haben mal wieder zugeschlagen: In der mittlerweile dritten Staffel lehrreicher Trainingsvideos geht es in insgesamt fünf Lektionen um das Thema Parallele Programmierung im Allgemeinen und Parallel Studio im Speziellen.
So erfährt der interessierte Entwickler in Video Nummer 1 alles über die zur Disposition stehenden Fachbegriffe und wie diese in den fünf anderen Videoclips verwendet werden. Es geht also um so Dinge wie Multicores, Manycores, Threads und andere Begrifflichkeiten, mit denen man sich zunächst beschäftigen sollte, um die anderen vier Videos besser zu verstehen.
Video Nummer 2 verschafft einen guten Überblick, was das in der Beta-Phase befindliche Entwicklertool Parallel Studio alles leistet und welche Funktionen es umfasst. Also Inspector, Composer und Advisor. Wobei dieser derzeit noch nicht Teil von Parallel Studio ist. Kommt aber noch …
Übrigens: Die ins Deutsche transkribierten Trainingsvideos gibt es voraussichtlich ab nächster Woche auf zdnet.de!


