Winzip 16.5 mit OpenCL: Radeon-Beschleunigung im Test - Messbar mehr Leistung beim Zippen durch Grafikkarten?
Seit ein paar Tagen ist Version 16.5 des beliebten Komprimierungsprogrammes Winzip verfügbar - und das erstmals mit OpenCL-Beschleunigung. Hierdurch kann die Rechenkraft von Prozessoren genutzt werden, welche über einen passenden OpenCL-Treiber verfügen. Wir machen einen kurzen Test.
Passend zur Vorstellung von AMDs Radeon HD 7970 im vergangenen Dezember versprach AMD, dass Winzip 16.5 per offenem Standard OpenCL die Rechenkraft der Graphhics-Core-Next-Architektur zur Beschleunigung nutzen könnte. Lediglich ein Erscheinungsdatum oder eine Vorabversion blieb man damals schuldig. Seit ein paar Tagen nun ist die Version 16.5 von Winzip verfügbar und wird haben uns anhand der 30 Tage lauffähigen Testversion davon ein Bild gemacht.
Quelle: PC Games Hardware
Winzip 16.5 - jetzt mit OpenCL-Beschleunigung
Winzip 16.5 mit OpenCL-Beschleunigung im Praxiseinsatz
Wir haben den Test anhand der kostenlosen Probierversion von Winzip 16.5 auf dem regulären PCGH-Grafikkarten-Testsystem durchgeführt, das bedeutet, als Vergleichswerte-Lieferant kam ein übertakteter Core i7-2600k mit 4,5 GHz zum Einsatz, dessen Leistungsfähigkeit sicherlich zu den oberen 5 Prozent der zurzeit bestehenden PC-Systeme gehört. Trotzdem steckt in eine Radeon HD 7970 in Sachen purer Rechenleistung um mehr als eine Größenordnung (also größer Faktor 10) in die Tasche. Entsprechend sollte auch eine Beschleunigung durch solche Grafikkarten merklich ausfallen.
Nach einer normalen Installation (bei der Toolbars und Zusatz-Dienste abgewählt wurden), ist OpenCL standardmäßig nicht aktiv, sondern muss per Anhaken einer Checkbox im Menü Settings - Options - System zugeschaltet werden. Die komplette Box fehlt allerdings, sobald keine Radeon-Karte der DX11-Generation im Rechner steckt. Weder eine Geforce noch eine OpenCL-CPU-Beschleunigung war Winzip offenbar genug, um die Box überhaupt anzuzeigen, nicht einmal ausgegraut. Steckten wir jedoch eine Radeon zusätzlich zur Geforce ins System, war OpenCL (auf der Radeon, in unserem Falle die HD 6450) kein Problem.
Eine wirklich zufriedenstellende Erklärung gab es bislang weder von AMD noch vom Corel-Support (Corel ist die Muttergesellschaft von Winzip). AMD sagte auf Nachfrage per Email, dass man sich bei Software von Partnern doch bitte an diesen wenden solle. Gesagt, getan. Der Support von Winzip bestätigte, dass zurzeit nur Radeon-Nutzer in den Genuss der OpenCL-Beschleunigung kommen. So steht es im Übrigen auch in der bisher nur auf englisch verfügbaren Produktbeschreibung von Winzip 16.5:
Additional Speed for AMD Customers
WinZip has been working closely with Advanced Micro Devices (AMD) to bring you a major leap in file compression technology. WinZip 16.5 uses OpenCL acceleration to leverage the significant power of AMD Fusion processors and AMD Radeon graphics hardware graphics processors (GPUs). The result? Dramatically faster compression abilities for users who have these AMD products installed!
Die Möglichkeit, ob eventuell eine bislang nur bei AMD verfügbare OpenCL-Extension zum Einsatz komme, konnte man nicht explizit bestätigen oder dementieren. In der derzeit in Entwicklung befindlichen, nächsten größeren Version 17.0 soll nach derzeitigem Stand der Planung OpenCL jedenfalls auch auf anderen Geräten mit entsprechendem Treiber unterstützt werden. Hierzu der kompetente und freundliche Winzip-Support:
Die momentane Exklusivität der Radeon Karten in Bezug auf die Open-CL-Beschleunigung resultiert aus der Entwicklung des GPU-Supports bei WinZip. Diese Erweiterung der WinZip-Engine wurde im ersten Schritt für AMD/ATI-Grafikkarten entwickelt und in WinZip integriert . Da Grafikkarten anderer Hersteller, wie zum Beispiel Nvidia, aus technischer Sicht per OpenCL angesteuert werden können, arbeitet WinZip Computing momentan an einer Erweiterung des GPU-Supports und wird diese voraussichtlich mit dem nächsten WinZip-Update zur Verfügung stellen.
Quelle: PC Games Hardware
Winzip 16.5 mit OpenCL-Beschleunigung
Winzip 16.5 mit OpenCL-Beschleunigung im Praxistest
Für den Test haben wir das Installationsverzeichnis des Shooters Unreal Tournament 2004 (inklusiver einiger Mods und Maps rund 7 Gigabyte) mit maximaler Kompression gepackt (.zipx: "Maximum") und die benötigte Zeit gemessen. Achtung: Die Datenträger spielen hierbei eine nicht zu unterschätzende Rolle. Befinden sich Quelldaten und Zieldatei auf derselben Festplatte oder (langsamen) SSD verringert sich die Komprimierungsleistung meßbar (knapp 30 Sekunden mehr).
Mit unserer CPU komprimiert, benötigt das System rund 262 Sekunden und erzeugt ein 3,0171 Gigabyte großes Archiv. Schalten wir OpenCL mittels einer HD 7970 zu, verringert sich die benötigte Zeit auf 168 Sekunden, das Archiv fällt mit 3,051 Gigabyte etwas größer aus - hier wird offensichtlich nicht derselbe Algorithmus genutzt. Zudem fällt auf, dass die CPU-Auslastung höher ist als bei der Nicht-OpenCL-Nutzung, gleichzeitig die Radeon aber nur sprunghaft von den Leerlauf-Takten auf die 3D-Takte hochschaltet.
Neugierig geworden, testeten wir weiter - auch, um zu erfahren, ob ältere, OpenCL-taugliche Radeon-Karten ebenfalls unterstützt werden. Die gute Nachricht: Selbst bis hinunter zu einer HD 5770 war OpenCL-Beschleunigung verfügbar. Die je nach Blickwinkel noch bessere Nachricht: Auch mit dieser HD 5770 erzielte unser System exakt denselben Wert für die Kompression: 168 Sekunden. Erst mit einer HD 6450, der schwächsten gerade greifbaren Radeon, sank die OpenCL-Leistung geringfügig um 9 auf 177 Sekunden - vielleicht spielt hier auch die Speicherausstattung mit hinein. Auf 1-GiB-Karten belegte die Winzip-Ausführung immerhin bis zu 825 Megabyte (HD 5770), die 6450 konnte lediglich 483 MiByte zur Verfügung stellen. Zur Verdeutlichung: Eine HD 7970 gebietet über knapp 3.800 GigaFLOPS an Rechenleistung, die HD 6450 gerade einmal über 240 GigaFLOPS.
Auch die Schnittstelle können wir als Alleinschuldigen ausschließen: Auf einem aktuellen Ivy-Bridge-Prozessor (Core i5-3550) mit PCI-Express 3.0 verhielt sich die Software analog zu unserem Standard-Testsystem. Etwa ein Drittel Zeitgewinn war sowohl mit einer HD 7970 als auch mit einer HD 7770 drin - beide Karten schalteten beim 3D-Modus auch brav auf PCIe 3.0.
Das erinnert stark an unsere ersten Versuche, Video-Transkodierung mithilfe der GPU durchzuführen: Auch dort haben wir bei Nutzung einer Radeon-Grafikkarte vor Jahren keine signifikanten Unterschiede zwischen einzelnen Grafikkarten mit zum Teil deutlichen Unterschieden in der Leistungsfähigkeit ermitteln können. Dasselbe Spielchen wiederholte sich im Test in Ausgabe 09/2011. Auch hier erzeugten unterschiedliche Encoding-Pfade (CPU, AMD, Nvidia) unterschiedlich große Filmdateien, welche letzten Endes ja auch eine Art komprimierter Archivcontainer sind.
Probehalber führten wir den Test auf einer Fusion/HSA-Plattform mit einem AMD E-450 samt integrierter Radeon-GPU durch, in der Hoffnung, die flotte Verbindung zwischen CPU- und GPU-Part würde prozentual einen stärkeren Gewinn ermöglichen. Doch in dieser Konstellation sank die Performance beim Zuschalten der OpenCL-Beschleunigung sogar.
[Update, 11:00 Uhr]: Nachdem wir noch einige weitere Tests durchführten, können wir der OpenCL-Beschleunigung bis zu 50% Zeitersparnis gegenüber unserer Test-CPU attestieren. Die hierfür genutzte Kombination aus der Komprimierungsmethode "best" (anstelle von "maximum") führt auf der CPU zu mehr als dreifacher Berechnungsdauer. Der Prozessor wird dafür aber auch nur noch zu ca. 25% durchgehend belastet, was zwei Kernen entspricht. Per OpenCL steigt die CPU-Last wesentlich an, im Durchschnitt auf über 50%. Die Radeon-Grafikkarte wird mit nur noch rund 160 MiByte Speicherlast betraut, sodass de facto kein Unterschied mehr zwischen HD 6450 und 7970 erkennbar ist - die drei Sekunden Unterschied entsprechen 0,6% und liegen damit innerhalb der Toleranz der manuell durchgeführten Messung. Außerdem interessant: Mit der "best"-Methode sind die erzeugten Archive konstant gleich groß, ergo wird dieselbe Arbeit verrichtet, so wie es eigentlich auch sein soll.[/Update]
Winzip 16.5 mit OpenCL-Beschleunigung: Fazit
Endlich! Nach endlosen Wiederholungen der quasi-identischen Video-Transkoding-Funktionen über die APIs von AMD und Nvidia und einigen mehr oder weniger Nischenprodukten gibt es endlich eine Anwendung, welche die GPU massentauglichem Nutzen zuführen kann und dabei selbst mit einer leistungsschwachen Radeon-Grafikkarte einen Zuwachs gegenüber sehr schnellen Mehrkern-CPUs erzielt [Update:] Dieser liegt je nach Komprimierungsmethode bei bis zu 50%.[/Update]
Ein wenig seltsam mutet es allerdings schon an, dass sowohl die Rechenleistung der GPU so gut wie keine Rolle spielen soll und dass der offene Standard OpenCL hier durch eine Herstellerbeschränkung quasi ausgehebelt wird. Bei Letzterem besteht allerdings auch die Möglichkeit, dass eine der von AMD, nicht aber von Nvidia unterstützen OpenCL-Erweiterungen* zum Einsatz kommt - eine ausgegraute Schaltfläche wäre im wahrsten Sinne des Wortes jedoch transparenter.
Bildergalerie
*zusätzliche AMD-Extensions: cl_khr_3d_image_writes; cl_ext_atomic_counters_32; cl_amd_vec3; cl_amd_printf; cl_amd_mediaops; cl_amd_popcnt


Ich meinte natürlich IB alias IvyBridge. Die iGPU kann ja endlich OpenCL. Mit SB machts ja absolut keinen Sinn
Betrachtet man die geringe CPU-Auslastung (ohne GPU-Beteiligung) und deutlich schlechtere Performance gegenüber 7zip, so liegt der Verdacht nahe, WinZip versucht scheinbar einen schlechten Algorithmus (mangelnde Parallelisierung bei reiner CPU-Arbeit?) durch pure Rechenkraft auszugleichen.
Die Leistung der GPU verpufft hier offensichtlich am Flaschenhals Datenübertragung.
Das Konzept von AMD, die mäßige Prozessorleistung durch die APUs auszugleichen geht, zumindest unter diesen Testbedingungen, überhaupt nicht auf, eventuell wegen der langsamen Speicherzugriffe des integrierten Grafikkerns.
Wäre erfreulich, wenn zukünftig die hohe Rechenkraft von GPUs auch für andere Anwendungsbereiche verwendet werden könnte...
Zum Artikel: hat nicht gerade wenige Fehler drin, ist n bisserl holprig beim Lesen...
Bei meinen Test habe ich auch mal mit Winzip+neue Option eine Datei gepackt und diese mit Winzip und Winrar wieder entpackt. Dabei war Winzip dieses mal schneller als Winrar. Also wäre es im Umkehrschluß wirklich besser wie ein User es geschrieben hat wenn es alle unterstützen würden. Denn nur dann hätte man auch bei jeder gepakten Datei einen Vorteil.
Nur dann könnten alle User davon profitieren. Denn viele werden hauptsächlich heutzutage nur entpacken, bei den riesigen Festplatten. Wer weiß denn mit was für ein Programm diese Datei dann gepackt wurde.