Intel veröffentlicht Power Gadget 2.0 zum kostenlosen Download
Cleveres Tool, nicht nur für Programmierer, sondern auch für Systemadministratoren und System-Builder: Mit dem neuen Power Gadget 2.0 können Sie bei Sandy Bridge-Prozessoren den Energieverbrauch und die Prozessorfrequenz in Echtzeit messen. Dafür laden Sie (kostenlos natürlich) ein kleines Windows 7-Gadget (zusammen mit Treibern und Libraries) auf Ihren Desktop, das Ihnen in Watt-Angaben die CPU-Belastung anzeigt. Diese Angaben holt sich das nützliche Programm direkt aus den Energy Conuters des Prozessors. Folge: Die Messwerte sind genauer und schneller, als wenn diese über Third-Party-Tools vom Motherboard geschleust werden.
Gedacht ist das Tool sowohl für Notebooks, Desktop-PCs als auch Server mit Windows 7.
Im Gegensatz zur früheren Version verfügt das neue Release über Support für Multi Socket-Systeme und die Möglichkeit per API-Layer (diverse Librariers und DLLs) via C/C#/C++ oder JavaScript relevante Energieinformationen auszulesen und weiterzugeben. Sie können das Tool über das Gadget bedienen oder auch über die Kommandozeile steuern. Dafür steht Ihnen die Funktion PwrLogSample.exe zur Verfügung.
Systemvoraussetzungen:
- Windows 7 32-bit oder 64-bit
- Windows Server 2008, Windows Server 2008 RC2 (64-Bit Server)
- Microsoft .Net Framework 4
- Microsoft Visual C++ 2010 SP1 (x86 oder x64 anhängig vom OS)
- Sandy Bridge-Prozessor
Intels kostenloser Ratgeber, wie sich Anwendungen parallelisieren lassen
Intel hat seinen Multicore-Ratgeber aktualisiert, denn seit dessen Erscheinen ist das ein oder andere passiert in Sachen Parallelprogrammierung. Daher werde ich im folgenden lediglich die Änderungen des Ratgebers beleuchten und weniger das gesamte Dokument. Das umfasst nämlich 135 Seiten, das würde eine ausführliche Beschreibung des PDFs den Rahmen dieses Blogs doch ein wenig sprengen.
Die erste Anpassung des Programmier-Leitfadens betrifft die neuen Register namens AVX, die Intel seiner aktuellen Prozessorgeneration spendiert hat (Codename: Sandy Bridge). Interessant ist die Überschrift des zugehörigen Abschnitts: Using AVX Without Writing AVX Code. Soll also heißen: mit ein wenig Know-how können Sie als Software-Entwickler C/C++- und Fortran-Code alleine dadurch beschleunigen, indem Sie die vorhandenen AVX-Register richtig einsetzen und so 10 bis 15 Prozent an Geschwindigkeitszuwachs erreichen. Keine schlechte Sache, oder?!
Nicht minder interessant ist der neu hinzugekommene Abschnitt Optimizing Applications for NUMA. NUMA steht für Non-Uniform Memory Access und bedeutet nichs anders, dass jeder Prozessor einen eigenen lokalen Speicher hat, auf den alle anderen Prozessorkerne über einen gemeinsamen Adressraum zugreifen können (man spricht hierbei von Distributed Memory Access). Klar, dass es hierfür neue Programmieransätze braucht und es diese natürlich auch gibt.
Der dritte neue Abschnitt in dem Programmier-Ratgeber nennt sich Optimize Data Structures and Memory Access Patterns to Improve Data Locality und beschäftigt sich mit dem komplexen Thema “Cache Misses” und wie diese mithilfe geeigneter Algorithmen im besten Fall verhindert werden, aber zumindest reduziert werden können.
Neben diesen drei Neuheiten hat Intel zwei Abschnitte überarbeitet. Das betrifft die Sektionen Using Intel Inspector XE 2011 to Find Data Races in Multithreaded Code und Getting Code Ready for Parallel Execution with Intel Parallel Composer. Es werden dabei die neuen Features vorgestellt, die beide Tools seit ihrem Update bieten.
Sie sehen also: viele gute Gründe, den Multicore-Ratgeber auf den eigenen Rechner zu laden und sich mit dem Thema Parallelprogrammierung eingehend zu beschäftigen. Viel Spaß dabei!
Intel veröffentlicht OpenCL SDK 1.5
Das wäre fast untergangenen angesichts der vielen wichtigen Veranstaltungen und Programmier-Wettbewerbe der nächsten Wochen:
Intel hat eine Update-Version des OpenCL SDK veröffentlicht mit einigen wichtigen neuen Funktionen und Performance-Verbesserungen. Das OpenCL SDK 1.5 steht unter der Adresse www.intel.com/go/opencl zum kostenlosen Download bereit. Damit wird es nun deutlich leichter, OpenCL-Anwendungen zu schreiben, zu debuggen und zu optimieren. Das SDK ist für Intel Core- und Intel Xeon-Prozessoren verfügbar.
Zur deutlichen Geschwindigkeitsverbesserung führt die Nutzung der Intel Advanced Vector Extensions (Intel AVX) bei der Code-Generierung. AVX ist eine Erweiterung für SSE mit 256 Bit Registerbreite, die deutlich so schnellere Vektorberechnungen ermöglicht und mit Sandy Bridge eingeführt wurde. AVX ist vor allem Floating Point-intensive Anwendungen interessant. Zum Thema AVX hat dieser Blog ja schon häufig und sehr ausführlich berichtet. Zudem finden Sie bei ISN eine sehr gute Zusammenfassung.
Über das so genannte Implicit CPU Vectorization Module im Intel OpenCL SDK Compiler können Sie nun nahtlos die volle Performance der Intel-Architektur ausschöpfen, indem Sie für den OpenCL-Kernel Code die Auto-Vektorisierung nutzen. Mehr dazu erfahren Sie auf dieser Seite.
Zudem enthält die neue Version nun auch den Intel OpenCL SDK Offline Compiler for Linux. Mit diesem Standalone-Tool können Sie Kernels offline erzeugen und den Code analysieren.
Auch das Debuggen wurde verbessert. Mit der neuen Beta Version des Intel OpenCL SDK Debugger als Microsoft Visual Studio 2008-Plug-In können Sie ab sofort OpenCL-Applikationen direkt auf der Intel-Plattform debuggen!
Eine Liste aller Neuerungen finden Sie in den Intel OpenCL SDK Release Notes.
Von „A“ wie App bis „O“ wie OOP
Halbzeit beim Oktoberfest 2011. Nicht nur das Bier fließt in Strömen, sondern auch die Downloads. Das gilt vor allem für die derzeit über 80 Apps zum Thema „Wiesn 2011“. Die zeigen Ihnen, welche Zelte noch Platz bieten und welche bereits geschlossen sind, was das Bier kostet und auch, wie man mit der hübschen Tischnachbarin anbändelt und wie viele Promille am Ende des Abends das eigene Blut in Waalung bringen.
Oktoberfest-Apps gibt es für Android, für iPhone und auch Windows Phone 7. Dort allerdings ist bislang „nur“ ein Wiesn-Songbook zu haben.
Eine ganz gute Übersicht zu den aktuellen Apps finden Sie bei Focus Online.
Wenn Sie Windows Phone-Entwickler sind (oder werden möchten) und diese Marktlücke schließen möchten, können wir Ihnen ein recht aktuelles Tutorial empfehlen, das – ein paar Kenntnisse in .Net und C# vorausgesetzt – bei der Programmierung hilft: Von der ersten Code-Zeile bis zum Qualitätstest und sicherlich nicht nur für Wiesn-Apps interessant. Hier geht’s zum MSDN-Beitrag.
Ganz anderes Thema: Die Veranstalter der OOP 2012 haben ihr künftiges Konferenzprogramm veröffentlicht. Seit mehr als 20 Jahren dient die OOP als Plattform speziell für Software-Architekten, technische (Projekt-) Leiter und Entwickler, die sich einen Überblick über den aktuellen Stand des modernen Software-Engineering verschaffen möchten.
Die kommende OOP-Konferenz wurde von der Community gestaltet. Zehn Trackchairs, unterstützt durch 35 Reviewer gestalteten das Programm mit vielen Höhepunkten wie den Keynotes von Ralph Langners “Tiefe Kenntnisse der Schadsoftware Stuxnet” und Prof. David Parnas “Making Architecture Meaningful”.
Und es gibt auch einen Early Bird Rabatt:
Bei Buchung bis zum 2.12.2011 erhalten Sie einen Nachlass von 15 % auf den Normalpreis des von Ihnen gewünschten Tickets (gilt nicht für Abendkuse und 1-Tages-Tickets) zusätzlich einen digitalen Bilderrahmen “New Basic” der Firma Hama.
Viel Spaß auf der Wiesn oder im Konferenzsaal!
Intel Cilk Plus nun als Open Source-Version verfügbar
Intel gibt den Cilk Plus Compiler und die Runtime (Linux) als Open Source zur allgemeinen, kostenlosen Nutzung frei. Sämtliche Cilk-Plus Source-Files und Libraries können Sie ab sofort von dieser Seite downloaden.
Sollten Sie Fragen zu Cilk Plus haben, auf Fehler oder Probleme bei der Bedienung stoßen, wenden Sie sich bitt an das Intel Cilk Plus Forum. Dort finden Sie auch Hinweise zu aktuellen Patches wie dem aktuellen Cilk Plus Patch for gcc 4.7 vom 31.8.2011.
Damit festigt Intel das Ziel, allen Programmierern auf Basis von C/C++ eine gleichermaßen einfache und effektive Programmiersprache beziehungsweise Extensions an die Hand zu geben, die dabei hilft, parallelen Code zu entwickeln. Seit 2009 hat Intel die Cilk-Technologie in eigene Produkte integriert und zu Cilk Plus weiterentwickelt, um sein Portfolio mit OpenMP und den Threading Building Blocks abzurunden.
Ähnlich wie bei OpenMP kennt Cilk Plus so genannte Keywords (spawn, sync, inlet, abort), mit deren Hilfe sich ein seriell programmierter Quellcodeabschnitt in ein parallel ablaufendes Konstrukt verwandelt. Ein beliebtes und oft verwendetes Beispiel ist die rekursive Berechnung von Fibonacci-Zahlen. Hier ein Code-Sample:
01 cilk int fib (int n)
02 {
03 if (n < 2) return n;
04 else
05 {
06 int x, y;
07
08 x = spawn fib (n-1);
09 y = spawn fib (n-2);
10
11 sync;
12
13 return (x+y);
14 }
15 }
Die entscheidenden Schlüsselwörter lauten spawn (Zeile 8 und 9) und sync (Zeile 11). Diese Keywords sorgen dafür, dass die Funktion parallel auf zwei oder mehreren Prozessorkernen ausgeführt wird. Den Rest übernimmt die Runtime von Cilk Plus, die sich um das Erstellen von Threads kümmert, um das Synchronisieren derselben und um das richtige Beenden der parallel laufenden Threads. Dies ist auch der große Unterschied zu OpenMP.
Einen sehr guten Grundlagenartikel zu den Unterschieden zwischen OpenMP und Cilk liefert Michaels Beitrag vom Juli 2010: Infos aus erster Hand zu Cilk.
Zudem empfehle ich James Reinders’ Blog-Beitrag Parallelism as a First Class Citizen in C and C++, the time has come, in dem er die Bedeutung von Task-Parallelisierung und Daten-Parallelisierung verdeutlicht und zeigt, wie sich beide Programmieraufgaben mit Cilk Plus realisieren lassen.
Live von der GDC Europe 2011: Philipp Gerasimov im Interview
Wenige Stunden vor seiner offiziellen Session habe ich Philipp für ein Kurz-Interview verpflichten können. Philipp ist Senior Application Engineer bei Intel, blickt auf eine langjährige Developer-Erfahrung zurück und ist Experte für Intel Graphics Performance Analyzers.
Im Interview erklärt er, wer GPA unbedingt braucht, welche Verbesserungen die Version 4.1 gegenüber dem Vorgänger verspricht und wie Sie sehr, sehr günstig an die aktuelle Version kommen, um die Grafikleistung auch Ihrer eigenen Spiele zu optimieren.
Hier das sehr sehenswerte Video dazu:
Später werde ich von noch von seiner Session berichten.
Intel Composer XE 2011 SP1 Beta Programm gestartet!
Intel hat das Beta-Programm für das Intel C++ Composer XE 2011 SP1 und das Intel Fortran Composer XE 2011 SP1 Update gestartet. Sie sind eingeladen, daran kostenlos teilzunehmen und Ihr Feedback mitzuteilen.
Zu den wichtigsten Neuerungen des Compiler-Updates gehören bessere Dokumentationen und Hilfe-Funktionen sowie eine erweiterte Integration in Microsoft Visual Studio.
Das Beta-Programm unterstützt IA-32 und Intel 64-Bit-Prozessoren für Windows, Linux und OS X.
Im Einzelnen profitieren Sie von folgenden Verbesserungen:
Intel C++ Composer XE 2011 SP1
Das Update bietet erweiterten Support für den künftigen C++0x Sprachstandard inklusive Variadic Templates. Zusätzlich wird OS X ab sofort besser unterstützt inklusive Intel Cilk Plus Erweiterungen (Outer Loop Elemental Functions, Cilk on Mac) und Blocks.
Intel Fortran Composer XE 2011 SP1
Intel Fortran-Anwender profitieren von einer optimierten Fortran 2003-Unterstützung. Sie können ab sofort die neue Microsoft Visual Studio 2010 Shell nutzen, ohne Visual Studio-Installation.
Wer hingegen Microsoft Visual Studio 2010 (inklusive Shell) nutzt, hat nun Zugriff auf neue Quellcode-Funktionen wie Source- und Object-Browser.
Hier können Sie die Beta-Versionen downloaden. Das Beta-Programm für die aktuelle Version wird vermutlich am 22. Juli 2011 beendet.
Wenn Sie daran teilnehmen möchten, nutzen Sie bitte die Webadresse http://premier.intel.com, um Ihr Feedback abzugeben oder Fehler zu melden.
Weitere Informationen zum Intel C++ Composer XE 2011 finden Sie auf dieser Seite und natürlich im Software Dev Blog, wo wir uns detailliert den Vorteilen des Composer XE 2011 gewidmet haben.
Download: Performance Tuning Utility (Intel PTU) Utility 4.0 Update 5
Intel hat gestern das neue Performance Tuning Utility (Intel PTU) zum kostenlosen Download veröffentlicht.
Dabei handelt es sich um ein Performance Analyse-Tool für unterschiedliche Systemplattformen wie Windows und Linux. Neben den gewohnten Power-Funktionen etwa zur Identifizierung von Flaschenhälsen und Leistungsbremsen im Sourcecode, hat Intel eine Reihe von Verbesserungen zur Datenkontrolle, Analyse und Visualisierung integriert.
Die wichtigsten Funktionen und Eigenschaften des Performance Tuning Utility:
- Ereignisbasiertes Sampling: Über die prozessoreigene Leistungsmessung lassen sich Probleme sehr genau ermitteln
- Block-Analyse: Hotspots werden exakt ermittelt
- Visualisierung: Performance-Histogramme stellen Leistungshöchst- und Tiefstwerte in der Anwendung dar
- Schleifen-Analyse: Ermitteln von Loops und Rekursionen im Code
- Data Access Profiling: Identifizieren von Memory-Hotspots und Zuordnen zu Code-Hotspots
- Heap Profiler: Ermitteln der Speichernutzung der Anwendung und in der Folge auch von möglichen Memory-Leaks
Insgesamt gesehen bietet die Toolbox hinsichtlich Performance-Analyse ähnliche Funktionen wie der Intel VTune Performance Analyzer. Allerdings profitieren vor allem erfahrene Anwender von den sehr flexiblen Profi-Features.
Dazu gehört ab sofort eine detailliertere Speicherdiagnostik hinsichtlich der CPU-Nutzung. Leistungsprobleme können so schneller dem Sourcecode zugewiesen werden, um Korrekturen einzuleiten. Auch die grafische Darstellung von Leistungswerten -und kurven wurde erweitert.
Hier eine Übersicht der Neuerungen:
- volle Unterstützung für Sandy Bridge inklusive AVX
- bessere Unterstützung für neue Atom-Prozessoren von Intel
- neue Profile ermöglichen bessere Konfiguration
- verbesserte Hotspot-Analyse
- Möglichkeit zur Integration des Intel Performance Bottleneck Analyzer
- diverse Fehlerkorrekturen
Neugierig geworden? Hier gibt es den Download und eine detaillierte Übersicht zu allen Neuerungen.
Ausblick auf die CES, Sandy Bridge und zwei nützliche Tools
Keine Ahnung, wie viele Menschen Ihnen in den letzten Tagen „Ein gutes neues Jahr!“ gewünscht haben. Aber vermutlich waren es viele, und ganz sicher werden sie Recht behalten. Denn das Jahr 2011 wird für Parallel-Programmierer und Spiele-Entwickler Maßstäbe setzen!
In wenigen Tagen wird Intel während der CES in Las Vegas die neue Prozessorgeneration Sandy Bridge offiziell vorstellen. Vor Ort werden dann auch gleich ein paar Hardware-Hersteller erste Notebooks mit den neuen Recheneinheiten zeigen.
Die Prozessor-Architektur von Sandy Bridge wird vor allem in puncto Multimedia-Performance alle Vorgänger der Nehalem-Bauweise in den Schatten stellen. Sandy Bridge integriert den Grafikkern (GPU) in die CPU bei einer Strukturbreite von 32 Nanometern. Dank der integrierten Encoding-Einheit lassen sich Videos wesentlich schneller konvertieren als beispielsweise mit bekannten Core-i5-Prozessoren.
Die technologischen Neuerungen von Sandy Bridge und die daraus resultierenden, erweiterten Möglichkeiten für Parallel-Computing sind Anlass genug, dieses Blog wiederzubeleben. Ich werde Sie ab sofort regelmäßig mit News, technischem Background und Veranstaltungshinweisen versorgen, die Ihnen den Programmieralltag etwa erleichtern.
Zunächst aber darf ich Ihnen zwei neue, sehr nützlich Tools empfehlen, die Intel im Rahmen der Partnerprogramme veröffentlich hat und vor allem Entwickler von Media- und Videoanwendungen adressieren.
Das Intel Media Software Development Kit in der Version 1.5 ist ein plattformübergreifendes SDK, das Ihnen hilft, auf einfache Weise leistungsstarke und schnelle Videoanwendungen zu entwickeln. Das Tool-Paket bietet Ihnen drei Highlights:
- Codecs für Hardwarebeschleunigung: Sie greifen auf Video-Codecs zu, die für Intel Multicore-Prozessoren und Intel HD Graphics optimiert wurden und bestmögliche Performance bieten
- Einheitliches API für unterschiedliche Plattformen: Weniger Code und weniger Komplexität durch ein universelles API, das viele PC-Plattformen unterstützt, darunter selbstverständlich auch die zukunftsträchtigen Intel Graphics- und Multicore-Architekturen.
- Support und Add-Ons: Schneller optimale Ergebnisse erzielen dank nützlicher Features wie Video-Pre-Processing, Decodieren und Encodieren
Sie können das Media Software Development Kit kostenlos laden und installieren. Sinnvoll ergänzt wird das SDK durch das Intel Media Checker Software Assessment Tool. Zugegeben, eine grauenhafte Bezeichnung, aber das Tool ist überaus nützlich. Denn damit stellen Sie beispielsweise sicher, dass Sie das SDK korrekt in die Anwendungen einbinden. Zudem fungiert es als Tutorial, indem es die Funktionen und Technologien des SDK erläutert. Also für die ersten Schritte mit dem SDK sicherlich genau richtig. Und kostenlos ist es natürlich auch. Viel Erfolg damit!
Baue eigene 3D-Games – for free und Multicore-optimiert
Dass Intel die Software-Gemeinde schon seit vielen Jahren mit Entwicklertools, Know-how und einer eigenen Gemeinde unterstützt, ist ja nichts Neues. Dass man aber als Spiele-Entwickler die geballte Kraft des UDK (Unreal Developer Kit) kostenlos bekommt, ist schon etwas ganz Besonderes. Finde ich.
Das UDK bietet so ziemlich alles, was man als ambitionierter Spieleentwickler braucht. Neben Unreal Engine 3 bietet es beispielsweise das integrierte Beleuchtungsmodell Lightmass, mit dem sich Lichteffekte wie Reflektionen von Glanzlichtern und verstreute Lichtquellen im Offline-Modus, also vorab, berechnen lassen. Und da UE3 höchst Multicore-optimiert ist, profitieren Game-Entwickler bei der Berechnung von Spielszenen und -Leveln von den schnellen 8- oder 12-Core-Prozessor-Maschinen, in denen eine Intel-CPU werkelt.
Aber auch die Möglichkeit, mithilfe von Unreal Swarm komplexe 3D-Berechnungen nicht nur von einem, sondern von einem ganzen Rechnernetzwerk durchführen zu lassen, spricht für Unreal Engine 3, respektive Unreal Developer Kit. Und auch weitere Features wie das Unreal Build Tool, Navigation Meshes und der Content Browser machen aus Unreal Engine 3 eine extrem leistungsfähige Entwicklerplattform für aufwändige 3D-Spiele. Und das alles für umsonst?! Kaum zu glauben…
Intel-Softwaretools kostenlos 30 Tage lang testen
Über was hab ich hier nicht schon alles berichtet:
- Intel C++ Compiler 11.0
- Intel VTune Performance Analyzer 9.1
- Intel Thread Checker 3.1
- Intel Thread Profiler 3.1
- Intel Threading Building Blocks 2.1
- Intel Integrated Performance Primitives 6.0
und über vieles andere mehr.
Das Praktische an all diesen Entwicklerwerkzeugen: Ihr könnt sie völlig kostenlos testen, und das 30 Tage lang. Und zwar nicht nur die Linux- und Mac-OS-Varianten, sondern auch die komplette Windows-Suite. Daneben gibt es auch Linux-Tools, die gar nichts kosten und keiner zeitlichen Beschränkung unterliegen. Einzige Bedingung hierfür: Die Linux-Anwendungen, die damit geschrieben werden, dürfen nicht zu kommerziellen Zwecken eingesetzt oder gar verkauft werden.
Und falls ihr euch den kostenlosen Intel-Support während des Testmonats nicht entgehen lassen wollt, müsst ihr euch einmal einen Premier Support Account zulegen. Und schon könnt ihr Intel mit euren Fragen zutexten, bis die DSL-Leitung glüht.
Ach ja: Bevor ihr die Tools auf euren Rechner packt, solltet ihr einen Blick auf die Softwarevoraussetzungen werfen. Damit ihr die Werkzeuge auch ohne Probleme einsetzen könnt.
Nützliche und kostenlose Entwickler-Tools
Kennen Sie eigentlich die Code- und Download-Seite des Intel Software Network? Nein?! Dann wird’s aber höchste Zeit. Auf dieser sehr nützlichen Webseite finden Sie diverse Tools, aber auch Sourcecode-Beispiele, die Ihre tägliche Arbeit rund um die Software-Entwicklung erleichtern und verbessern sollen.
Finden Sie zum Beispiel mit dem Concurrency Checker heraus, ob Ihre Software tatsächlich parallel programmiert wurde und wie sich der Multicore-Code zur Laufzeit verhält. So spüren Sie relativ einfach Fehler im Quellcode auf. Anhand der Ergebnisse wissen Sie dann schon mal ziemlich genau, wo es bei Ihrer Software in Sachen Multithreading hakt. Anschließend können Sie mithilfe der Intel Threading Analysis Tools die Fehler beheben und aus Ihren Anwendungen echte Multicore-Anwendungen machen.
Aber auch kostenlose Entwickler-Werkzeuge für nicht-kommerzielle Softwareprojekte finden Sie dort. Dazu gehören beispielsweise die Intel-Compiler (C++ und Fortran) für Linux sowie der VTune Performance Analyzer für Linux. Aber auch die C++-Multithread-Bibliothek Intel Threading Building Blocks lässt sich für nicht-kommerzielle Zwecke gratis nutzen.


