OpenCl und die dazugehörigen Werkzeuge. Bewertungen und Eindrücke. - Seite 27
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Dies sind unbegründete Panikmache aus der OpenCL-1.0-Ära. Es fühlt sich an wie ein Text aus den Jahren 2009-2010.
Wovon sprichst du, Rinat?
Die Catalyst-Treiber 11.7 WHQL und 11.8 Preview stehen zum Download bereit und AMD hat sein APP-SDK zur Beschleunigung von OpenCL verschoben
Anwendungen auf Version 2.5, die nun endlich Double Precision/Doubles/FP64/watchamacallit über cl_khr_fp64 unterstützt.
Der Haken an der Sache: Er ist nur für Cypress-basierte GPUs enthalten, nicht für Cayman und nicht für ältere Chips, die 64-Bit-genaue Berechnungen durchführen können.
http://www.gpu-tech.org/content.php/167-AMD-Catalyst-Driver-11.7-AMD-APP-SDK-2.5-bring-double-precision-for-Cypress-AVX-for-CPUs
Radeon HD 6990/6970/6950 (Cayman-basiert):
Radeon HD 2400 XT/Pro (RV610-basiert): - DirectX 10 (allerdings kein Compute Shader) und niedriger,
- Keine Unterstützung für doppelte Präzision
http://developer.download.nvidia.com/compute/cuda/4_1/rel/toolkit/docs/CUDA_Toolkit_Release_Notes_And_Errata.txt
(entpackt!), dummerweise schreibt ungültige Zellreferenz, wie in Win 3.1. Wie konnte nVidia dies in Win32-Programm UNEXECUTIONAL tun?Es gibt eine Menge über die strukturelle Genauigkeit auf der GPU, der Programmierer von FIXED Software muss sehr, sehr vorsichtig sein, auch von Nvidia selbst zum Beispiel:
http://developer.nvidia.com/content/precision-performance-floating-point-and-ieee-754-compliance-nvidia-gpus
4.7 Unterschiede zur x86-Architektur NVIDIA-Grafikprozessoren unterscheiden sich von der x86-Architektur dadurch, dass die Rundungsmodi in jedem Foaming-Point-Befehl kodiert werden, anstatt dynamisch ein Foaming-Point-Steuerwort zu verwenden. Trap-Handler für Fließkomma-Ausnahmen werden nicht unterstützt. Auf der GPU gibt es kein Statusflag, das anzeigt, wenn Berechnungen einen Überlauf, einen Unterlauf oder eine ungenaue Arithmetik aufweisen. Wie bei SSE ist die Genauigkeit jeder GPU-Operation im Befehl kodiert (bei x87 wird die Genauigkeit dynamisch durch das Gleitkomma-Steuerwort gesteuert).
Wenn man sich mit CUDA und OpenCL beschäftigt, hat man manchmal den Eindruck, dass die Bügeleisenhersteller beschlossen haben, die Mathematik mit ihren "Revolutionen" und ihrer Marketing-Wow-Hysterie endgültig zu töten - wenn sie künstlich ein falsches Gefühl dafür schaffen, was und wie genau MEIN Computer tun sollte. Anstelle von exakten und vorhersehbaren mathematischen Berechnungen wird ihre rasante, spielerzentrierte Geschwindigkeit vorgeschlagen.
Ein Programmierer muss sehr auf die Genauigkeit der Berechnungen achten und entscheiden, ob er/sie auf der CPU oder der GPU rechnen möchte. Darüber hinaus haben die Hardware-Hersteller zusammen mit Microsoft heimlich, still und leise, auch bei der CPU ein böses Chaos angerichtet.
Nun, ich habe zu arbeiten. Auf Wiedersehen.
Es scheint noch nicht diskutiert worden zu sein...
Related link: AMD C++ AMP library integrated in Visual Studio 11 http://blogs.amd.com/developer/2012/03/01/amd-and-the-visual-studio-11-beta/ Soweit ich weiß, kann die Beta-Version bereits heruntergeladen werden.
Es scheint noch nicht diskutiert worden zu sein...
Zugehöriger Link: AMD C++ AMP-Bibliothek integriert in Visual Studio 11 http://blogs.amd.com/developer/2012/03/01/amd-and-the-visual-studio-11-beta/ Soweit ich weiß, steht die Beta-Version bereits zum Download bereit.
Besonders interessant ist dies:
Auto-Vektorisierung
Ebenfalls neu in C++ in Visual Studio 11 ist ein Auto-Vektorisierer, der standardmäßig aktiviert ist. Der Compiler vektorisiert Schleifen, wo dies möglich ist, um die Leistung mit Vektorbefehlen auf dem Prozessor zu verbessern (wie SSE2 und SSE4.x). Nehmen Sie den folgenden Codeausschnitt als Beispiel:
Float A[1000], B[1000], C[1000];
for (i = 0; i < 1000; i++) {
A[i] = B[i] + C[i];
}
Der C++-Compiler kann diese Schleife vektorisieren, um mehrere Iterationen gleichzeitig auszuführen, was die Leistung mit den auf modernen Prozessoren verfügbaren Anweisungen erheblich verbessert.
Zusätzlich zum Vektorisierer führt der Auto-Parallelisierer Schleifen über mehrere CPU-Prozessoren im System aus und sorgt so für eine bessere Ausnutzung der zugrunde liegenden Hardware. Der Parallelisierer benötigt eine Eingabe vom Programmierer, um die Schleifen anzugeben, die parallelisiert werden sollen, und kann auch in Verbindung mit dem Auto-Vektorisierer verwendet werden.
Besonders interessant ist dies:
Auto-Vektorisierung
Ebenfalls neu in C++ in Visual Studio 11 ist ein Auto-Vektorisierer, der standardmäßig aktiviert ist. Der Compiler vektorisiert Schleifen, wo dies möglich ist, um die Leistung mit Vektorbefehlen auf dem Prozessor zu verbessern (wie SSE2 und SSE4.x). Nehmen Sie den folgenden Codeausschnitt als Beispiel:
Float A[1000], B[1000], C[1000];
for (i = 0; i < 1000; i++) {
A[i] = B[i] + C[i];
}
Der C++-Compiler kann diese Schleife vektorisieren, um mehrere Iterationen gleichzeitig auszuführen, was die Leistung mit den auf modernen Prozessoren verfügbaren Anweisungen erheblich verbessert.
Zusätzlich zum Vektorisierer führt der Auto-Parallelisierer Schleifen über mehrere CPU-Prozessoren im System aus und sorgt so für eine bessere Ausnutzung der zugrunde liegenden Hardware. Der Parallelisierer benötigt eine Eingabe vom Programmierer, um die Schleifen anzugeben, die parallelisiert werden sollen, und kann auch in Verbindung mit dem Auto-Vektorisierer verwendet werden.
Wovon sprichst du, Rinat?
Die Catalyst-Treiber 11.7 WHQL und 11.8 Preview stehen zum Download bereit und AMD hat sein APP-SDK zur Beschleunigung von OpenCL verschoben
Ich will damit sagen, dass Sie so tun, als gäbe es kein Heute und versuchen, offenkundig falsche Schlussfolgerungen zu ziehen.
Zum Beispiel durch die Veröffentlichung der ältesten Versionen von Grafikkarten als Beweismittel und die hartnäckige Ignorierung von 7XXX-Modellen und Catalyst 12.x-Treibern
Nach Ihren Aussagen zu Windows 2003 zu urteilen, sind Sie ein Befürworter von "SIE müssen ALLE unterstützen", und aufgrund der Verletzung einer solch heiligen Bedingung (wie es Ihnen scheint) sollte die Welt ihre Wertlosigkeit eingestehen und um Vergebung beten. Die Welt entwickelt sich einfach weiter, bringt neue und bessere Produkte auf den Markt.
Sie wissen nicht, wie man inkompatible Software schreibt, weil Sie diese Software nicht für die Massenproduktion entwickeln und die technischen Probleme und notwendigen Kompromisse nicht kennen. Die Forderung an die Hersteller von Grafikkarten, die alte Serverversion von Windows 2003 zu unterstützen, ist ein Extremismus der Verbraucher. Die Softwarehersteller sind froh, den Zoo der alten Betriebssysteme als schlechten Traum zu vergessen. Und die Autofahrer träumen nur davon.
P.S.: Es besteht keine Notwendigkeit, zu einer trivialen Vergleichsmethode "warum unterstützen sie 2008" überzugehen, die ein wirkliches Verständnis der Ursachen ersetzt.
syl: Hören Sie auf, die kaputte Version von Windows 2003 Server zu verwenden - es ist 2012
Ich meine, dass Sie so tun, als gäbe es das Heute nicht, und versuchen, offen gesagt, falsche Schlüsse zu ziehen.
Zum Beispiel, indem sie die ältesten Versionen von Grafikkarten als Beweise angeben und hartnäckig 7XXX Modelle und Catalyst 12.x Treiber ignorieren.
Nach Ihren Aussagen zu Windows 2003 zu urteilen, sind Sie ein Befürworter von "SIE müssen ALLE unterstützen", und aufgrund der Verletzung einer solch heiligen Bedingung (wie es Ihnen scheint) sollte die Welt ihre Wertlosigkeit eingestehen und um Vergebung beten. Die Welt entwickelt sich einfach weiter, bringt neue und bessere Produkte auf den Markt.
Sie wissen nicht, wie inkompatible Software geschrieben werden kann, weil Sie diese Software nicht für die Massenproduktion entwickeln und nicht wissen, welche technischen Probleme und notwendigen Kompromisse es gibt. Die Forderung an die Hersteller von Grafikkarten, die alte Serverversion von Windows 2003 zu unterstützen, ist ein Extremismus der Verbraucher. Die Softwarehersteller sind froh, den Zoo der alten Betriebssysteme als schlechten Traum zu vergessen. Und die Autofahrer träumen nur davon.
Hinweis: Es ist nicht nötig, auf die banale Vergleichsmethode "warum unterstützen sie dann 2008" zurückzugreifen, die ein wirkliches Verständnis der Ursachen ersetzt.
syl: hören Sie auf, die kaputte Version von Windows 2003 Server zu verwenden - es ist 2012
Nun, ich verstehe Ihre Antwort sehr gut. Haha, ich hoffe, andere tun das auch.
Und das ist es, ich werde wahrscheinlich Ihren Rat befolgen, es ist genau das gleiche wie meine Absichten. Ich werde Sie also für eine Weile hier lassen - ein oder zwei Jahre.
Auf Wiedersehen.
Nun, ich verstehe Ihre Antwort sehr gut. Ha ha, ich hoffe, alle anderen tun das auch.
Und ich sage Ihnen, ich werde Ihren Rat befolgen, denn er deckt sich mit meinen Absichten. Ich werde Sie also für eine Weile hier lassen - ein oder zwei Jahre.
Auf Wiedersehen.