Fortgeschrittene Werkzeuge zur Optimierung der Vektorisierung & Prototyping für Programmierer
Moderne Prozessoren machen das Threading und die Vektorisierung entscheidend, weil man einen modernen Prozessor ohne sie einfach nicht voll ausnutzen kann. Es gibt Fälle, in denen nicht vektorisierter und nicht eingefädelter Code eingefädelt und vektorisiert wurde und dadurch sofort 187 Mal schneller geworden ist. Das Einfädeln und Vektorisieren kann zeitaufwendig sein, was es teuer macht. Bevor Sie sich auf das Threading und die Vektorisierung konzentrieren, sollten Sie der Intel® Advisor 2017 Software erlauben, den Leistungsgewinn durch die Implementierung zu prognostizieren.
Prototypisieren, Priorisieren und Vorhersagen des Leistungsgewinns
Wenn Ihr Code vektorisiert, aber nicht eingefädelt ist oder eingefädelt, aber nicht vektorisiert ist, dann kann das Vektorisieren oder Einfädeln (je nachdem, was zutrifft) Ihren Code immer noch bis zu sieben Mal schneller machen. Vektorisierter plus threaded Code kann wesentlich schneller sein als einer von beiden allein. Intel Advisor 2017 ist kein Programm mit grünem oder rotem Licht. Sie zeigt nicht einfach nur an, ob Sie es umsetzen sollten oder nicht; sie gibt Ihnen eine detaillierte Analyse mit potenziell Hunderten von Optionen. Sie können sich aussuchen, was Sie auf der Grundlage Ihrer Investitionsrendite optimieren sollten und was nicht. Mit dem Werkzeug können Sie sehen, ob die Einfädelungsleistung bei mehr Kernen skaliert wird, und Sie können sehen, ob eine Schleife eine Abhängigkeit hat, die die Vektorisierung einschränkt. Sie können sogar sehen, ob Sie mit den älteren SIMD-Anweisungen oder mit den neuesten AVX2-Anweisungen optimieren.
Fantastische Benutzerfreundlichkeit für Programmierer, komplex für ein nicht-technisches Publikum
Die Benutzeroberfläche präsentiert die Daten so, dass Sie zunächst einen kurzen Überblick sehen und dann vorwärts navigieren können, um eine weitergehende Analyse Ihres Codes zu sehen. Die kurzen Übersichten sind höchst esoterisch?bis zu dem Punkt, an dem nur Programmierer die wahre Bedeutung der einzelnen Berichte verstehen werden. Aber es hat auch visuelle Indikatoren, die es Programmierern ermöglichen, die Analyse Laien, Managern, Investoren usw. zu erklären. Beispielsweise hat die Funktion Sites und Schleifen verkaufen Abschnitte "Selbstzeit" und "Effizienz", die Balkengrafiken und Prozentsätze enthalten. Selbst ein Laie kann die Auswirkungen von Balkengrafiken und Prozentzahlen verstehen, die angeben, wie schnell etwas ist und wie effizient es ist.
Das Tool hat einen fantastischen Grad an Benutzerfreundlichkeit, da die Software fast die gesamte Arbeit für Sie erledigt. Sie müssen also nur die Analyseergebnisse lesen und verstehen, die es erzeugt. Man muss sowohl die Benutzerfreundlichkeit der Software bewundern, als auch die Tatsache, dass die Benutzung der Software zu weniger Fehlern führt. Wenn Sie beispielsweise die Implementierung verzögern, bleibt Ihr Code während des Entwurfs in Serie, so dass Sie ihn jederzeit veröffentlichen können, ohne sich über Threading-Fehler Gedanken machen zu müssen.
Unterm Strich: Potenzial zur Einsparung von Tausenden von Programmierern
Die Erstellung von Prototypen ist so schnell, dass Sie eine Reihe verschiedener Gewindedesigns untersuchen können, bevor Sie Zeit und Geld in deren Umsetzung investieren. Wie bei den meisten Prototyping-Tools hat es außerdem den Nebenproduktvorteil, dass es die Anzahl der Fehler reduziert. Intel Advisor 2017 ist ein Prototyping-Tool, aber es ist so viel mehr. Es ist auch eine Investition in das Sparen. Die Software ist sehr fortschrittlich und daher auch ziemlich teuer. Die Hunderte, die Sie für diese Software ausgeben, können Ihnen jedoch Tausende von verschwendeten Programmierstunden ersparen. Die Analysefunktionen sind so tiefgehend und genau, dass Sie die Vorteile der Implementierung mit den Kosten der Implementierung sinnvoll abwägen können, was Ihnen ermöglicht, fundierte Geschäfts(investitions)entscheidungen zu treffen.