PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OpenCL 2.0 Treiber


Skysnake
2014-09-25, 18:41:19
AMD OpenCL 2.0 Driver---RN-WINLIN-OPENCL2-14.41 (http://support.amd.com/en-us/kb-articles/Pages/OpenCL2-Driver.aspx)
ALTER!!!!!!!!!!!!!!


Sind die DUMM ODER WAS :mad:

Nur Win8 aber kein Win7.... Hey ich flipp hier gleich aus... Nach nem Jahr kommt endlich der OpenCL 2.0 Support, und dann so ne gequirlte Scheise... Ok, Ubuntu 14.4 wird unterstützt immerhin, aber trotzdem, kein Win7 suckt echt, da unter VS die Entwicklung von OpenCL APPs durch das PlugIn von AMD deutlich angenehmer ist, als unter Linux. :frown:

Ich hoffe, da kommt bald nen Treiber für Win7, ansonsten muss ich Linux anpassen, um mal ein paar Tests zu machen, was der Global Sync bringt. Aber dazu habe ich wohl die nächsten Monate kaum Zeit ;( Das "schnell" unter Win7 runter zu hacken, wäre wohl noch gegangen, aber so?

Nakai
2014-09-25, 18:54:26
ALTER!!!!!!!!!!!!!!


Sind die DUMM ODER WAS :mad:

Nur Win8 aber kein Win7.... Hey ich flipp hier gleich aus... Nach nem Jahr kommt endlich der OpenCL 2.0 Support, und dann so ne gequirlte Scheise... Ok, Ubuntu 14.4 wird unterstützt immerhin, aber trotzdem, kein Win7 suckt echt, da unter VS die Entwicklung von OpenCL APPs durch das PlugIn von AMD deutlich angenehmer ist, als unter Linux. :frown:

Ich hoffe, da kommt bald nen Treiber für Win7, ansonsten muss ich Linux anpassen, um mal ein paar Tests zu machen, was der Global Sync bringt. Aber dazu habe ich wohl die nächsten Monate kaum Zeit ;( Das "schnell" unter Win7 runter zu hacken, wäre wohl noch gegangen, aber so?

Was meinst du genau mit GS?

Locuza
2014-09-25, 19:16:50
GS = Global Sync Nakai?

memoal
2014-09-25, 19:33:35
Geht wohl eher um sowas wie parallele Algorithmen unter OpenCL, wenn der Treiber Win7 nicht unterstützt? @nakai hats nur noch mal abgekürzt und nachgefragt.

Nakai
2014-09-25, 20:12:18
Geht wohl eher um sowas wie parallele Algorithmen unter OpenCL, wenn der Treiber Win7 nicht unterstützt? @nakai hats nur noch mal abgekürzt und nachgefragt.

Nein ich meine, wo er GS bei specs bzgl ocl 2 sieht. Sry bin unterwegs, evtl habe ich das über lesen.

Skysnake
2014-09-25, 20:39:30
GS = Global Sync Nakai?

Ja genau, damit soll man über Workgroups hinweg syncen können
Geht wohl eher um sowas wie parallele Algorithmen unter OpenCL, wenn der Treiber Win7 nicht unterstützt? @nakai hats nur noch mal abgekürzt und nachgefragt.
Siehe oben.

Ich wollte gerade die Funktion aus der OCL2.0 Doku raus suchen, und musste feststellen, dass die da nicht mehr existent ist :freak:

WTF?

Ich bin mir ganz ganz sicher, dass diese Funktion mal da war. Das war ja das "lustige" an der Umbennenung der Barriers. Da gabe es die Barrier für die Workitems innerhalb einer Workgroup wie bisher und dann über mehrere Workgroups hinweg.

Jetzt steht da aber nur noch was von Innerhalb einer Workgroup und von einem SUBSET! von Workitems einer Workgroup :freak: WTF? War da etwa ein Fehler in der Doku?

Gipsel wo bist du :confused:

Du erinnerst dich doch daran bestimmt auch oder?

EDIT:
Ok, habs wieder gefunden puh ;D


http://stackoverflow.com/questions/7741256/calling-opencl-kernel-from-another-opencl-kernel

6.13.17 Enqueuing Kernels
OpenCL 2.0 allows a kernel to independently enqueue to the same device, without host
interaction. ...

In the example below my_func_B enqueus my_func_A on the device:

kernel void
my_func_A(global int *a, global int *b, global int *c)
{
...
}

kernel void
my_func_B(global int *a, global int *b, global int *c)
{
ndrange_t ndrange;
// build ndrange information
...
// example – enqueue a kernel as a block
enqueue_kernel(get_default_queue(), ndrange, ^{my_func_A(a, b, c);});
...
}

Das sollte dann mit dem Treiber funktionieren.
Ich hatte es allerdings anders in erinnerung, kann aber sien, das ich das allgemein mit GCN durcheinander bringe, wo es ja den GDS gibt.

Btw. wenn wir schon dabei sind, um mal zu zeigen, wie lange das gedauert hat....


Nakai
2013-08-31, 12:12:35
Also solange es keine globale Synchronisation gibt, ist der GDS sowieso kaum effektiv nutzbar. Schnelle globale Speicherzugriffe sind sicherlich sehr nett, wichtiger wäre es globale Synchronisation hinzukriegen. Zwischen den einzelnen WGs zu synchronisieren wäre echt geil, dann könnte man endlich sehr viele Algorithmen sehr gut umsetzen und müsste nicht mehr die letzten Schritte auf der CPU machen.

...weil ich es grad les:

Wenn du globale Synchronisation brauchst für deinen Algorithmus, dann musst du den kompletten Kernel beenden, und einen neuen launchen... Weist du was das an Overhead produziert? Zu viel...
Wenn man da effizient syncen könnte, das wäre SOOOOOO geil. Kann meines wissens nach nVidia selbst mit GK110 noch nicht, wobei ich mir da nicht wirklich sicher bin. Gipsel?

Globale Synchronisation bei GCN? WTF, wäre das geil.

Naja, ich hoffe ja das mit der nächsten OpenCL-Version global_barrier kommt. Die barrier wurde ja in 2.0 in work_group_barrier umbenannt

Interessant ;).
Damit würde die Einsatzbereiche für GPGPUs extrem werden. Jegliche parallele Sortier-, Reduktions, Such-, etc-Algorithmen, welche eigentlich globale Synchronisation bräuchten, würden damit erschlagen werden.

Mal OT:
Dumme Frage, gibt es für OpenCL irgendwelche Libraries für riesige Zahlen(1024bit Int).

€:
@Skysnake:
Die Sache mit Dynamic Parallelism ist ja interessant, hatte das bei 2.0 gar nicht mit bekommen. -.- Gibts dafür Beispiele? Ohne GlobalSync ist das aber halt auch wieder so ne Sache. Sortieralgos können das sicherlich ganz gut gebrauchen, aber sonst wirds halt ohne Sync sehr speziell.

Laut OpenCL 2.0 Specs:
Ending a command: Child kernels may be enqueued such that they wait for the parent
kernel to reach the end state before they can be launched. In this case, the ending of the
parent command defines a synchronization point.

Ende des Parentkernels kann als Synchronisationspunkt dienen.

Locuza
2014-09-25, 21:17:05
Ich hatte es allerdings anders in erinnerung, kann aber sein, das ich das allgemein mit GCN durcheinander bringe, wo es ja den GDS gibt.

Ich als Laie gucke mir nur die Liste an, Global Sync habe ich jedenfalls nicht in Erinnerung.
Aber öfters mitbekommen das du über den GDS und potentielle Möglichkeiten gesabbert hast. :D
Selbständige Kernelstarts unter dem Stichwort dynamic parallelism/nested parallelism standen aber meistens mit dabei.

Skysnake
2014-09-25, 21:38:44
läuft im Endeffekt durchaus aufs gleiche raus.

Man muss den Kernel neu starten, ansonsten ist die FUnktionalität gleich. Wenn also der Kernelstart nicht ins Gewicht fällt, sind es gleich gute Lösungen.

memoal
2014-09-25, 22:26:57
Die Kiste scheint wohl noch verbugt zu sein: www.planet3dnow.de/cms/12049-amd-stellt-ersten-catalyst-treiber-mit-unterstuetzung-fuer-opencl-2-0-bereit/

mksn7
2014-09-25, 23:50:39
Global Sync ist halt auch nicht so einfach, weil erstmal alle Workgroups bis zu dem Punkt ausgefuehrt werden muessen. Weil i.d.R. die Ressourcen nicht da sind, alle Workgroups praesent in den SMs/CUs yu haben, muessen dann halt fleissig workgroups geswapt werden.

Ich denke dass heute eine Workgroup die einmal einer SM/CU zugeteilt wird, auch bis zum Ende ausgefuehrt wird.

Ist ein Kernellaunch so teuer? Ich denke das wird so im Mikrosekundenbereich sein. Mit der ganzen Swapperei ist ein GS hinterher vielleicht auch nicht mehr schneller.

Nakai
2014-09-26, 00:17:34
GS ist eh vollkommen ineffektiv, da auf einer GPU extrem viele Threads(Workitems) vorgehalten werden müssen. Pro CU können maximal 2560 Threads gehalten werden(4 Scheduler mit je 10 Wavefronts a 64 Threads, imo).

GS gibt es wohl eher zu Debug-Zwecke ala CodeXL. CodeXL ist sowieso extrem nett, imo. GS ist wohl eher nicht praktikabel, obwohl man mit Dynamic Parallelism ziemlich interessant klingt. Naja mal morgen gucken, wenn ich wieder fit bin.

@Skysnake:
Ich hätte mich auch über GS gefreut, aber das wäre zuviel. OpenCL wird auch für Embedded Systeme interessant. Mit den derzeitigen Erweiterungen wird man auf CUDA aufschließen, bzw. man ist ein Schritt weiter, aber revolutionär ist es nicht.

Hübie
2014-09-26, 06:25:21
Also wenn ich nicht völlig auf dem Holzweg bin, dann erinnere ich mich an eins, zwei codesamples, welche GS behandeln und ausführen. Die Implementierung welche ich sah war mehr als doppelt so effektiv als über die CPU. Auch für CUDA gibt's derer drei Custom Code Samples. Da du / ihr Devs seid hättet ihr sicher Zugang. Müsst halt an den entsprechenden Unis die Urheber aufstöbern :tongue:

aufkrawall
2014-09-26, 11:35:06
D3D Interop ist jedenfalls immer noch hin...
http://forum.doom9.org/showpost.php?p=1695037&postcount=27383
:redface:

Unicous
2014-09-26, 11:55:40
Was interessiert euch denn überhaupt dieser Treiber?

Selbst AMD sagt, es ist ein "early adopters" Treiber und schon gar nicht für den normalen Radeon Kunden gedacht:

AMD has released its first fully-functional OpenCL 2.0 driver aimed at early adopter developers. We’re not broadly promoting this driver because we have a performance-optimized driver coming out shortly and we suggest you wait for that version. We plan to release a new SDK when the updated driver becomes available to help developers come up to speed. That said, we welcome any feedback from the community who are interested in test-driving this version of the driver.



As for the SVM capabilities, this driver fully supports the core OpenCL 2.0 features - including course-grained SVM. AMD has not yet publicly disclosed plans for OpenCL 2.0 optional features - stay tuned for further details.
http://devgurus.amd.com/message/1306155#1306155

aufkrawall
2014-09-26, 12:34:13
Hier hat sich doch kein normaler Radeon-Kunde zu Wort gemeldet?

Unicous
2014-09-26, 12:52:34
Ja, sorry, dachte es wäre noch der Originalthread.

Kartenlehrling
2014-09-27, 00:36:32
"Spielt" einer Digital Combat Simulator World?
Das soll auf jedenfall mit diesem Treiber beschleunigt werden.

http://forums.eagle.ru/showpost.php?p=2190243&postcount=15

Auf guru3d haben sie auch einen win7 MOD gebastelt,
wenn ich nicht soo viel angst hätte das mein Downsamling nach der Installation nicht mehr läuft wurde ich es ja Testen,
mein 13.11beta9.5 Treiber :) ist ja schon verdammt alt.

http://forums.guru3d.com/showthread.php?t=393257
AMD Catalyst 14.x RC1 (14.410.0.0 September 2) OpenCL 2.0
This driver originally supported only some GCN cards, I have modified it to support more cards and Win7/Win 8.0 too.

Kartenlehrling
2014-09-28, 01:15:13
.
Hab ihn nun auf meinem Win7 HD7970 installiert und den openCL Test von der Kishonti gruppe durchlaufen lassen.
Ausser Partikel Simulation 64k und Bitcoin sind die anderen Werte sogar schlechter geworden.

https://compubench.com/result.jsp?benchmark=compu20

Unicous
2014-11-03, 15:24:06
jfyi


https://www.khronos.org/conformance/adopters/conformant-products

AMD wurde schon vor ein paar Wochen die Compliancy für GCN Produkte bescheinigt. (Übrigens ist der 23.10. kurioserweise vordatiert gewesen, es stand schon eine Woche vorher auf der Khronos Seite:freak:)