Aus seriell mach parallel: Intel Parallel Advisor Lite

veröffentlicht von Michael Hülskötter am 19. März 2010 (0) Kommentare

Kollege Preiss von Intel hat mal wieder fleißig geschrieben, und rausgekommen ist ein gedruckter Beitrag in der Elektronik Industrie, den es aber natürlich auch als PDF zum kostenlosen Download gibt. Thema des Artikels: Intel Parallel Advisor Lite, ein ziemlich mächtiges Tool zum Konvertieren von seriellem in parallel Code. Der Advisor Lite ist übrigens Teil der Intel-Suite Parallel Studio, ein Plug-In für Visual Studio 2005 und 2008.

In dem ausführlichen Beitrag wird gezeigt, wie das Intel-Tool dabei helfen kann, serielle Codeabschnitte zu parallelisieren. Ach ja: Das betrifft ausschließlich C++Programmierer. Toll an Advisor Lite ist sein schrittweises Herantasten an den möglichen Multithread-Code: Anstatt alles auf einmal umzustellen, erlaubt das Tool ein sukzessives Optimieren des seriellen Quellcodes. Hierzu setzt es vorhandene Debugger-Tools ein, mit denen der parallelisierte Quellcode sofort getestet und mögliche Fehler identifiziert und eliminiert werden können. Dazu zählen unter anderem Data-Sharing-Probleme, die sich beim Synchroniseren von Threads ergeben können.

Interessant an Edmunds Artikel ist übrigens die Vorgehensweise des Advisor Lite:

  1. Leistungsengpässen (Hotspots) identifizieren
  2. Annotationen in den seriellen Quellcode einfügen (eine Art von C/C++Makros)
  3. den annotierten Quellcodes verifizieren
  4. parallele Datenzugriffe untersuchen
  5. Datenkonflikte auflösen, die unter Schritt 4 aufgespürt wurden
  6. Quellcodeänderungen testen

Ach ja: Wer noch nicht wissen sollte, was Annotationen sind: auch hierzu hält Edmund die passenden Antworten parat. Also alles in allem eine wirklich gelungene Abhandlung in Sachen Parallel Advisor Lite. Und, worauf wartet ihr noch?

Kategorien : Multicore Tags : , ,

Ausführliche Übersicht zur Multicore-Programmierung

veröffentlicht von Michael Hülskötter am 18. März 2010 (0) Kommentare

Zugegeben, es ist auf diesem Blog ein wenig still geworden rund um das Thema Multicore-Programmierung. Das liegt daran, dass ich mich mit dem Thema hier schon ausführlich beschäftigt habe und sich die Themen grade ein wenig verschieben. Mit der Ankündigung des Intel AppUp Center während des letztjährigen Intel Developer Forum rückte das Netbook mit all seinen Facetten in den Mittelpunkt.

Das wird sicherlich auch noch ein wenig so bleiben, was aber nicht bedeutet, dass auf dem Software Dev Blog die parallele Verarbeitung von Programmcode keinen Platz mehr findet. Um dies unmittelbar zu belegen, möchte ich heute auf eine sehr ausführliche Übersicht aufmerksam machen. “Ultimativ” klingt immer ein wenig anbiedernd und angeberisch, aber in diesem Fall kommt der Begriff ziemlich nah an das heran, was die amerikanischen Kollegen unter dem Titel “Intel Guide for Developing Multithreaded Applications” zusammengetragen haben.

Diese wirklich umfangreiche Sammlung betrachtet sämtliche Aspekte der Parallelprogrammierung. Ob das das Multithreaden von Anwendungen im Allgemeinen ist oder spezielle Themen wie die Daten- und Ablaufsynchronisation oder das Speichermanagement – so detailliert konntet ihr euch dem Thema wohl selten widmen. Ok, das Ganze findet zwar auf Englisch statt, aber das sollte doch keine echte Hürde darstellen.

Ach ja, natürlich darf eine genaue Beschreibung sämtlicher Intel-Tools nicht fehlen, wenn es um das Multithreaden von Anwendungen geht. Also so Themen wie Intel Compiler, Parallel Inspector, OpenMP, Parallel Amplifier und viele mehr. Na, dann kann ich euch nur noch “Gut Stöber” wünschen und dass ihr möglichst viele Antworten auf eure parallelen Fragen findet. Die gibt es natürlich auch hier auf dem Software Dev Blog. Probiert doch einfach mal die Suchfunktion aus!

Kategorien : Multicore Tags : , ,

Antiviren-Software von Avast ist multicore-tauglich

veröffentlicht von Michael Hülskötter am 22. Januar 2010 (1) Kommentar

Gerade habe ich auf Zdnet.de eine News entdeckt, die von der sofortigen Verfügbarkeit der kostenlosen Antiviren-Software Avast Free Antivirus 5.0 berichtet. Neben einer komplett neu gestalteten Bedieneroberfläche für mehr Komfort hat sich laut der Avast-Entwickler die Scan-Engine deutlich verbessert, was gemäß interner Benchmarks die Verarbeitungsgeschwindigkeit um bis zu 80 Prozent schneller machen soll. Daneben glänzt die Software mit Echtzeitüberprüfungen des Dateisystems sowie des gesamten E-Mail-, Internet- und Netzwerkdatenverkehrs.

So viel Verbesserung in Sachen Performance lässt sich unter anderem mit Multicore-Optimierungen seitens der Avast-Entwickler bewerkstelligen. Damit erfolgt beispielsweise der Echtzeit-Scan auf einem Prozessorkern, während die GUI von einem zweiten Kern ausgeführt wird, was die Software insgesamt performanter macht.

Was die Leute bei Avast alles dafür getan haben, um ihre Software multicore-tauglich zu machen, werde ich versuchen herauszufinden. Sobald ich die passenden Antworten habe, werden sie natürlich hier veröffentlicht.

PS: Falls ihr Avast Free Antivirus installieren wollt, solltet ihr vorher unbedingt die bereits installierte Antiviren-Software deinstallieren. Ansonsten legt ihr euch möglicherweise den PC selbst lahm.

Kategorien : Multicore, Visual Computing Tags : ,

Maxon setzt auf Intel Softwaretools für optimierte Apps

veröffentlicht von Michael Hülskötter am 16. Dezember 2009 (1) Kommentar

Dass Maxon alles dafür getan hat, ihre Software-Anwendungen wie Cinema 4D für die aktuellen Intel-Prozessoren zu optimieren, darüber habe ich schon vor längeren gebloggt. Und wie es der Zufall wollte (ok, der natürlich keiner war), konnten wir mit Maxon höchstpersönlich darüber reden, wie sie es immer wieder schaffen, dass ihre Anwendungen besonders performant auf Rechnern mit Intel-Architektur laufen.

Ein wesentlicher Punkt ist unter anderem der Einsatz des Intel C++ Compilers, der laut Maxon schon mal ohne nennenswerte Änderungen am Code etwa 15 Prozent mehr Speed bringt. Aber auch der Intel Thread Profiler steht bei Maxon ganz oben auf der Liste, wenn es darum geht herauszufinden, wie sich das parallelisierte Programm verhält, ob also die anfallenden Threads möglichst gleichmäßig auf die vorhandenen Ressourcen verteilt werden (Skalierung ist hier das Zauberwort).

Darüber hinaus kommen VTune Performance Analyzer und Intel Threading Building Blocks zur Sprache. Ok, dann würde ich mal sagen, den Rest solltet ihr euch am besten selbst ansehen. Viel Spaß dabei!

Kategorien : Multicore Tags : , , ,

GDC09: Spieletitel für integrierte Grafikchips optimieren

veröffentlicht von Michael Hülskötter am 19. August 2009 (0) Kommentare

Anlässlich der Game Developers Conference 2009 in Köln betrat Steve Hughes von Intel die Bühne, um über ein Tool zu sprechen, von dem hier schon öfter die Rede war: Intel Graphics Performance Analyzer. Mithilfe dieses kleinen Software-Werkzeugs können Spieleentwickler wie Sega ihre Titel so optimieren, dass sie nicht nur auf Desktop-PCs mit diskreter Grafikkarte vernünftig laufen, sondern auch auf Rechnern mit integriertem Grafikchip.

Um dabei eine optimale Balance aus flüssigem Gameplay und möglichst detail- und effektreichen Bildern zu garantieren, ermittelt Intel GPA vorhandene Hotspots eines Spieletitels wie in Empire: Total War. Hierfür haben die Software-Spezialisten der Sega Tech Group im Auftrag von Sega das komplette Spiel zu Testzwecken zweigeteilt: “Kampagnen” und “Schlachten”. Innerhalb dieser zwei Segmente wurden dann mithilfe des Intel GPA interessante Dinge identifiziert.

weiterlesen…

Kategorien : Visual Computing Tags : , , , ,

Warum Demigod auch auf Notebooks spielbar ist

veröffentlicht von Michael Hülskötter am 29. Juli 2009 (0) Kommentare

Was ist der Traum aller Spiele-Publisher? Genau, dass ihre Spieletitel auf möglichst vielen Plattformen laufen. Daher sind sie stets in Sorge, dass ihre Games nicht nur auf einem Highend-PC gut aussehen, sondern auch auf einem Notebook mit integriertem Grafikchip, ohne dabei zu viele Kompromisse in Sachen 3D-Opulenz hinnehmen zu müssen. Klar ist aber, dass es vor allem um ein ausgewogenes Verhältnis von Spielbarkeit und realistischen Effekten geht.

Wer nun denkt, “man kann leider nicht alles haben”, liegt falsch. Wie das Video mit Gas Powered Games zeigt, konnten die Entwickler von Demigod mithilfe der Toolsuite Graphics Performance Analyzers (GPA) von Intel eine Leistungssteigerung von etwa 30 Prozent erzielen – ohne dabei auf wesentliche 3D-Effekte verzichten zu müssen. Denn gerade beim Rendern produzierten sie einen echten Flaschenhals, den sie mit GPA entdecken konnten. Dabei ging es vor allem um einen ganz speziellen Effekt auf einem einzigen Level, der sich als Störenfried entpuppte – und der für das Laptop-Gaming eliminiert wurde. Lieber ein Schimmern oder Gleißen weniger als 10 oder 20 Bilder pro Sekunde.

Das Gute aus GPG-Sicht war auch die Tatsache, dass sich dieser Effekt recht einfach entfernen ließ und dazu nicht die komplette Shader-Einheit umgeschrieben werden musste, was den Entwicklern natürlich eine Menge Zeit erspart hat. Auch dabei hat die Toolsammlung geholfen, da sie grafisch basiert arbeitet und sich somit Hotspots und andere Flaschenhälse ohne größeren Aufwand identifizieren lassen. Auf diesem Weg konnten die Männer rund um Chef-Entwickler Bart Kijanka auch einen nervigen Blur-Effekt-Fehler aufspüren, der zwar schön aussieht (der Effekt, nicht der Fehler), aber gerade auf Laptops mit integrierter Grafik eine Menge an Performance-Einbußen mit sich brachte. Also, weg damit!

Beide Probleme wurden übrigens in einem einzigen Durchlauf mit den Grafiktools gefunden, was die Möglichkeiten der GPA unterstreicht. Klar, dass Bart sehr euphorisch die Zusammenarbeit mit Intel und den Support preist, der Gas Powered Games zuteil wurde. Wer sich also angesprochen fühlt, die Graphics Performance Analyzers mal selbst auszuprobieren, wird entweder (kostenlos) Mitglied des Entwicklerprogramms “Visual Adrenaline” oder berappt 300 Dollar für die Toolsuite.

Kategorien : Visual Computing Tags : , ,

Colin McRae DiRT 2 unterstützt DirectX 11 und Multithreading

veröffentlicht von Michael Hülskötter am 23. Juli 2009 (0) Kommentare

So weit ich mich noch erinnern kann, war Colin McRae eines der allerersten Rennspiele, das ich ausgiebig auf dem PC  “getestet” habe. Und es sah damals schon verdammt gut aus und ließ sich auch ganz passabel steuern.

Das ist mittlerweile viele Jahre her, und Anno Domini 2009 kommt Colin McRae DiRT 2 als weiteres PC-Highlight in die Regale, wenn auch mit Verspätung. Der Grund hierfür ist recht einfach: DiRT 2 benötigt für die volle Performance und Schönheit DirectX 11. Die Grafikschnittstelle steht erst mit Windows 7 auf PCs zur Verfügung und Window 7 erscheint am 22. Oktober. Zudem muss natürlich eine passende Grafikkarte im Rechner stecken, und auch die ist noch nicht verfügbar.

Dann geht`s aber richtig los mit Colin McRae DiRT 2. Dafür sollen Features wie Hardware-Tesselation, Shader Model 5.0 und Multithreading sorgen. Was sich genau dahinter verbirgt und was die McRae-Fans davon haben werden, will ich ganz genau wissen und habe beim zuständigen Produktmanager von Codemasters nachgefragt. Ich hoffe, seine Antwort lässt nicht zu lange auf sich warten – damit ihr bald wisst, wie es Codemasters schafft, Colin McRae DiRT 2 den angeblichen Fotorealismus einzuhauchen.

Kategorien : Multicore, Visual Computing Tags : , ,

Facebook-CTO ist mit aktuellen Prozessoren unzufrieden

veröffentlicht von Michael Hülskötter am 26. Juni 2009 (0) Kommentare

Gestern fand im schönen San Francisco die von Gigacom Network organisierte Structure 09 statt, eine Eintageskonferenz, die sich dieses Mal mit dem Thema Cloud Computing beschäftigte.

Zu den Anwesenden und Vortragenden gehörte auch Jonathan Heiliger, seines Zeichens Vice President of Technical Operations der Social-Media-Plattform Facebook. Heiliger diskutierte mit Om Malik, Gründer von Gigacom Network, die Frage, wie viel Infrastruktur solch eine riesige Plattform wie Facebook benötigt und wie sich diese in Sachen Server- und Datenbankzugriffe beherrschen lässt.

In diesem Zusammenhang berichtete Mister Heiliger unter anderem darüber, dass sich Facebook aus Performance- und Skalierungsgründen neue Server mit den aktuellen Prozessoren angeschafft hat, um dem steigenden Ansturm von Facebook-Anwendern besser gerecht zu werden. Jedoch empfindet er die Mehrkosten wohl nicht als gerechtfertigt, da seinen Worten zufolge die Performance durch die neuen Chips zu wenig zugelegt hat. Außerdem merkte er an, dass Facebook die gegenüber der Presse propagierten Leistungsschübe bei der Performance ihrer Applikationen nicht sieht.

So weit, so gut. Dabei beschleicht mich das Gefühl, dass es sich Facebook damit ein wenig zu leicht macht. Denn die aktuellen Prozessoren skalieren nur dann wirklich, wenn die betreffenden Serveranwendungen das Leistungspotenzial der Rechnerfarm auch vernünftig ausnutzen. Ich gehe mal davon aus, dass sich Jonathan Heiliger und seine Mitarbeiter schon mal mit dem Thema HPC-konforme Anwendungen beschäftigt haben. Oder, Jonathan?!

(via computerworld.ch)

Kategorien : Multicore Tags : , ,

Reminder: Computerspiel optimieren und richtig abräumen

veröffentlicht von Michael Hülskötter am 15. Juni 2009 (0) Kommentare

In gut 15 Tagen ist es soweit: Da wird sich eine prominente Jury der Spieleentwickler-Welt zusammensetzen und darüber befinden, welches der eingereichten Spiele einen der ersten drei Preise erhält.

Vergeben werden die Plätze eins, zwei und drei in den Kategorien “Bestes Multicore-Spiel”, “Bestes Notebook-Spiel” und “Bestes 3D-Chip-Game”. Zu gewinnen gibt es einen ganzen Haufen an Entwicklertools, Tickets zu großen Entwicklerkonferenzen und PCs im Wert bis zu 4.000 US-Dollar. Und, ist das nix?

Falls das für euch interessant ist, solltet ihr euch möglichst schnell für den Wettbewerb “Level Up 2009″ registrieren und euer optimiertes Computerspiel anmelden. Auf dass ihr zu den glücklichen Gewinnern zählt!

Kategorien : Multicore, Visual Computing Tags : , ,

Analysetool für DirectX-Games für mehr Laptop-Performance

veröffentlicht von Michael Hülskötter am 25. Mai 2009 (0) Kommentare

Es soll Leute geben, die gehen davon aus, dass bis zum Jahr 2013 dreimal so viele Notebooks mit integriertem Grafikchipsatz wie mit diskreter Grafikkarte verkauft werden. Diese Grafikchips sind zwar leistungsschwächer als Highend-Grafikkarten von Nvidia und Konsorten, bringen aber genug 3D-Power und sind darüber hinaus sehr akkuschonend.

Und was hat das alles mit Software-Entwicklung zu tun? Nun, für Spieleentwickler ergibt sich daraus ein wichtiger Aspekt: Wie kann ich dafür sorgen, dass meine Spiele auf den verschiedenen Plattformen gleichermaßen gut laufen, also auf diskreten Grafikkarten genauso wie auf integrierten Grafikchips. Und genau an diesem Punkt kommt Graphics Performance Analyzers von Intel zum Einsatz. Mit dieser Toolsuite können Spieleprogrammierer recht schnell und unkompliziert herausfinden, an welchen Schrauben sie drehen müssen, um ihre Spieletitel für sämtliche Computerplattformen zu optimieren.

Graphics Performance Analyzers (GPA) umfasst drei Einzeltools: den System Analyzer, das Frame Capture Tool und den Frame Analyzer. Damit lassen sich verborgene Bottlenecks und andere Hemmschuhe aufspüren, die das Spiel davon abhalten, auf einem Notebook mit integrierter Grafikkarte vernünftig zu laufen. Toll an GPA ist die Tatsache, dass die Analyse auf einem separaten System läuft, während sich das zu untersuchende Spiel auf einem eigenen Laptop befindet. Beide Rechner werden mit einem Netzwerkkabel verbunden und tauschen auf diesem Weg die notwendigen Daten aus.

Derzeit unterstützt GPA lediglich die Intel-G45- und Mobile-Intel-GM45-Express-Chipsatz-Familien und untersucht nur DirectX-basierte Spiele. Aber wie man Intel kennt, werden wohl weitere Chipsätze in Zukunft folgen.

An die Toolsuite kommt man auf zwei Wegen heran: Entweder registriert man sich für das kostenlose Visual Adrenaline Program, das vom Intel Software Network betrieben wird. Oder man begibt sich in den Onlineshop Intel Business Exchange und kauft die Tools für rund 300 US-Dollar.

Video-Tipp: In einem Video-Interview live von der GDC’09 in San Francisco beantwortet Aaron Davies von Intel zahlreiche GPA-Fragen.

Kategorien : Visual Computing Tags : , , ,