Multicore-Guide, Teil 2 ist verfügbar

veröffentlicht von am 22. April 2010 (0) Kommentare

Mitte März hatte ich über eine ausführliche Sammlung gebloggt, in der es sehr ausführlich um das Thema Multicore-Programmierung geht. Und jetzt habe ich dazu passend eine E-Mail des Intel-Service “Software Dispatch” erhalten. Diese Mail verweist nämlich auf den zweiten Teil des großen Multicore-Guides. Darin geht es auf gut 50 Seiten unter anderem um folgende Dinge:

  • das richtige Speicher-Management beim Threaden von Anwendungen

und

Toll an diesem Programmier-Leitfaden ist die sehr ausführlich Darstellung möglicher Szenarien und wie sich diese richtig behandeln lassen. Dazu gibt es eine Menge nützlicher Diagramme und Code-Beispiele.

Allerdings hat Intel vor den Download dieser digitalen Broschüre eine kleine Registrierung gestellt, die aber nur aus einem Namen und einer E-Mail-Adresse besteht. Anschließend könnt ihr sogar auswählen, welche Themen und Broschüren euch besonders interessieren. Im Falle der Multithreading-Anleitungen solltet ihr “Intel Software Dispatch” anklicken. Viel Spaß beim Lesen!

Kategorien : Multicore Tags : , ,

Aus seriell mach parallel: Intel Parallel Advisor Lite

veröffentlicht von am 19. März 2010 (1) Kommentar

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 parallelen 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 Synchronisieren von Threads ergeben können.

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

  1. Leistungsengpässe (Hotspots) identifizieren
  2. Annotationen in den seriellen Quellcode einfügen (eine Art von C-/C++-Makros)
  3. die  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: Sogar 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 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 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 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 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 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 : , ,