OpenCl und die dazugehörigen Werkzeuge. Bewertungen und Eindrücke. - Seite 27

 
Dies sind unbegründete Panikmache aus der OpenCL-1.0-Ära. Es fühlt sich an wie ein Text aus den Jahren 2009-2010.
 
Renat:
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):

- Doppelte Präzision bei 1/4 Geschwindigkeit
Radeon HD 6870/6850/6790 (Barts-basiert):
- Keine Unterstützung für doppelte Präzision

Radeon HD 6 770/6750 (Juniper-basiert, für OEM-Verwendung umbenannt):
- Keine Unterstützung für doppelte Präzision

Radeon HD 6670/6650 (Turks-basiert):
- Keine Unterstützung für doppelte Präzision

Radeon HD 6450 (auf den Caicos-Inseln):
- Keine Unterstützung für doppelte Präzision

Radeon HD 5970 (Cypress-basiert):
- Doppelte Präzision bei 1/5 der Geschwindigkeit

Radeon HD 5870/5850/5830 (Cypress-basiert):
- Doppelte Präzision bei 1/5 der Geschwindigkeit

Radeon HD 5 770/5750 (Juniper-basiert):
- Keine Unterstützung für doppelte Präzision

Radeon HD 5670/5650/5570 (Redwood-basiert):
- Keine Unterstützung für doppelte Präzision

Radeon HD 5450 (Cedar-basiert):
- Keine Unterstützung für doppelte Präzision

Radeon HD 4890/4870/4850/4830/4730 (RV770/790 basiert):
- Doppelte Präzision bei 1/5 der Geschwindigkeit

Radeon HD 4770 (RV740-basiert):
- Doppelte Präzision bei 1/5 der Geschwindigkeit

Radeon HD 4670/4650 (basierend auf RV730):
- Keine Unterstützung für doppelte Präzision

Radeon HD 4550/4350 (RV710-basiert):
-Keine Unterstützung für doppelte Präzision

Radeon HD 3870/3850 (RV670-basiert):
- Doppelte Präzision (bei 1/5 der Geschwindigkeit)

Radeon HD 3650 (RV635-basiert):
- Keine Unterstützung für doppelte Präzision
Radeon HD 3470/3450 (RV615-basiert):
-Keine Unterstützung für doppelte Präzision

Radeon HD 2900 XT/Pro/GT/OEM (basierend auf R600):
-Keine Unterstützung für doppelte Präzision

Radeon HD 2600 XT/Pro (RV630-basiert):
- Keine Unterstützung für doppelte Präzision

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

//foren.nvidia.com/index.php?showtopic=34744Windows 2003 Server wurde nicht für die Verwendung mit CUDA getestet oder qualifiziert.


Rinat, sagen Sie uns, wie es möglich ist, ein Win32-Programm unbeabsichtigt zu schreiben, damit es auf WinXP, Win Server 2008, Vista-Win7 funktioniert und gleichzeitig nicht auf Win Server 2003?? nVidia CUDA SDK Installer von jeder 3+ Version kann nicht einmal auf Server 2003 installiert werden
(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.

 
alsu:

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.

 
Ich frage mich, wie viel davon AMD64-Unterstützung enthalten wird... sich nicht an Intel aufhängen wollen
 
joo:

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.

Das ist stark. Wirklich stark. Die Entwicklung der Rechentechnik in Richtung Parallelisierung findet buchstäblich vor unseren Augen statt.
 
AlexEro:

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

 
Renat:

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.

 
AlexEro:

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.

Man würde bei einem Beitrag nie vermuten, dass sein Autor der Themenstarter.... ist. Warum er diesen Thread eröffnet hat, ist unklar.
Grund der Beschwerde: