PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OpenCL - VRAM-Benchtool (in Entwicklung)


Skysnake
2012-08-02, 12:42:05
Kann man das irgendwie sinnvoll testen?
Na klar, mit jedem Bandbreitentest :ugly:
Wenn die Bandbreiten nicht linear mit dem Takt ansteigt, dann stimmt was nicht. Am einfachsten halt nen OpenCL Bandbreitentest mit pinned memory schreiben, der unterschiedliche Größen durchtestet. Dann musste halt vergleichen was bei normalen Taktraten bei rum kommt und was bei OC, und wie die Sache halt skaliert.

Ein Fehler führt ja dazu, dass die Daten einfach nochmal gelesen werden, falls die Korrektur (ist doch mit Korrektur und nicht nur mit Erkennung oder?) nicht klappt. Das reduziert dann natürlich die Bandbreite.

EDIT:

alte Verisonen:
https://rapidshare.com/files/215781790/Skysnakes-Bench-Suite-Multi-GPU-DEBUG.zip
https://rapidshare.com/files/3973146648/Skysnakes-Bench-Suite%20v.01.zip(Weiterentwicklung von Mutli-GPU-DEBUG)
NEU:
https://rapidshare.com/files/231578684/Skysnakes-Bench-Suite%20v0.1b.zip (mit Preload)
https://rapidshare.com/files/209565296/Skysnakes-Bench-Suite v0.1c.zip (ohne Preload)

Iruwen
2012-08-02, 12:56:03
Am einfachsten halt nen OpenCL Bandbreitentest mit pinned memory schreiben, der unterschiedliche Größen durchtestet.

Wenn das einfach ist, mach doch mal eben :D

Skysnake
2012-08-02, 13:11:55
soll ich mich jetzt wirklich ransetzen und das runter programmieren? -.-

Ist halt verdammt viel Overhead dabei...

Ich schau aber mal....

y33H@
2012-08-02, 13:14:25
Na, wenn das so locker flockig geht wie da oben beschrieben - marsch marsch ;D

Gipsel
2012-08-02, 13:24:56
Und ich dachte, AMD liefert da ein Sample zum OpenCL SDK, was das macht (http://developer.amd.com/downloads/BufferBandwidth.zip).

y33H@
2012-08-02, 13:40:33
Und ich dachte, AMD liefert da ein Sample zum OpenCL SDK, was das macht.Psssst :freak:

Skysnake
2012-08-02, 14:06:57
Ich weiß das es da was im SDK gibt, aber wenn ich mich recht erinnere ohne Grafikausgabe, und wir wollens doch "schön" haben ;)

|MatMan|
2012-08-02, 16:16:12
@Speichertest:
Es gibt von den Folding@Home Leuten ein OpenCL Tool (http://foldingforum.org/viewtopic.php?f=52&t=15692) zum GPU-Speicher testen.
Das testet hauptsächlich auf Fehler, macht aber auch vor den eigentlichen "Fehler-Such-Iterationen" auch nen kurzen Benchmark der Speicherbandbreite. Macht man also nur 1 Iteration muss man nicht so weit hochscrollen, z.B. so mit 128 MB Speicher:

memtestCL 128 1

Das wäre für solche OC Tests zumindest ein Anfang, alternativ könnte man auch die benötigten Zeiten von z.B. einer move-Operation bei verschiedenen Taktraten vergleichen. Evtl. könnte man das Tool auch als Stabilitätstest verwenden...

Skysnake
2012-08-02, 17:36:47
Yes, mein Test ist fertig, mir ist aber gerade aufgefallen, das ich da ja die PCI-E Geschwindigkeit teste und nicht vom RAM -.-

Brauch also noch nen bischen....

Sieht in GB/s aber etwa so aus mit meiner Mühle:


Ja, sind nur 3,2 GB/s da ich noch keinen Pinned-Memory verwende, das muss ich mir nochmal anlesen, wie ich den unter OpenCL pinnen kann, weiß im Moment nur die CUDA Version davon ausm Stehgreif -.-

EDIT:
Sodele und hier die Version mit Pinned Memory:

Wie man sieht sind das knapp 5,2 GB/s bringt also schön was :biggrin:

Sind btw. 128MB Buffers, die ich immer hin und her kopiere.

Skysnake
2012-08-02, 20:15:36
Sodele, der Test ist fertig.

Ist jetzt ein PCI-E & VRAM Bandbreitentest, sowie ein Lasttest (BurnIn) für die GPU.

Ich denk das sollte erst mal reichen :ugly:

Die wichtigsten Tasten sind p und c Damit wechselt man zwischen profil und Anzeigemodus und kann mit c die Benches starten sowie stoppen.

v resettet das Bild des Burnin Tests

Falls noch Fragen bestehen, bitte melden ;)

PS:
Und ja ich weiß, man erhält nicht ganz die Bandbreite, die man haben sollte für den VRAM, aber keine Ahnung, woran das liegt... Bei mir z.B. ~140 statt 150 GB/s. Kann eventuell an Hintergrundlast liegen, aber keine Ahnung.

EDIT: Ich muss es erst wo anders hoch laden, das Zip-File ist zu groß -.-

EDIT2:
Ok hier der Link [alter Link]
EDIT3:
Neuer Link: https://rapidshare.com/files/3397235916/Skysnakes-Bench-Suite.zip

OgrEGT
2012-08-02, 20:53:03
Ich komme mit dem Tool auf ziemlich konstant 50GB/s.
Was bedeutet das jetzt?

boxleitnerb
2012-08-02, 20:57:02
Beendet sich sofort, ist da ein GUI dabei?

Hübie
2012-08-02, 20:59:13
Ähm, ja schön das du es hinbekommen hast aber ich frage mich gerade wozu? =)

Edit: :facepalm: Die vorrangegangene Seite ist mir vollkommen entfallen ;D

Skysnake
2012-08-02, 21:12:07
Ich komme mit dem Tool auf ziemlich konstant 50GB/s.
Was bedeutet das jetzt?
Bedeutet, dass die Parameter wohl schlecht gewählt sind. Hab jetzt an ne GTX570 nicht gedacht -.- Die ALUs/SM müssen ein Teiler von 256*4 sein, ansonsten gehts nicht auf und die Bandbreite bricht dann recht schnell ein.

Ich muss mal schauen, das ich das wohl flexibel mach, damit man mit den Werten rumprobieren kann...

Beendet sich sofort, ist da ein GUI dabei?
Dann taucht irgend ein Fehler auf.

Bitte direkt auf der Shell (cmd) starten. Dann geht das Dos-Fenster nicht zu und du kannst sagen, was für ein Fehler ausgegeben wird, bzw man sieht wo das Programm hängen bleibt.

Das Problem hab ich immer, das es auf Anhieb nicht wirklich 100% bei alle läuft. Muss mich da irgendwann noch in die Tiefen der Compilereinstellungen von VS2010 einsteigen -.-

boxleitnerb
2012-08-02, 21:14:01
Fehler "-33" kommt da, nachdem die DP-Fähigkeiten ausgelesen wurden.

OgrEGT
2012-08-02, 21:46:05
Ich weiß zwar nicht wie das genau geht, aber Du solltest eine GPU ID Erkennung am Anfang laufen lassen, und die Parameter entsprechend anpassen lassen.

Skysnake
2012-08-02, 21:59:35
Fehler "-33" kommt da, nachdem die DP-Fähigkeiten ausgelesen wurden.
Fehler 33 ist: clInvalidDevice

Was haste denn für ne GPU drin :freak:

Poste mal bitte die komplette Ausgabe. Irgendwas läuft da schief mit der Initialisierung des Devices. Eventuell Intel iGPU?

@OgrEGT:
Ja, das wäre durchaus sinnvoll, aber ist halt auch wieder nen ziemlicher Aufwand, und ich bin eigentlich davon ausgegangen, dass das für das hier absolut ausreicht.

boxleitnerb
2012-08-02, 22:01:19
GTX580 3GB (2x).

Gesamte Ausgabe:

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\Jojo>e:

E:\>cd downloads

E:\Downloads>cd bench

E:\Downloads\bench>bandwidth-test
lese aus Datei
lese aus Datei
size of the image:2088960
filename:BMP_0.bmp
lese aus Datei: BMP_0.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala1.bmp
lese aus Datei: Millimeterpapier_Skala1.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala2.bmp
lese aus Datei: Millimeterpapier_Skala2.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala3.bmp
lese aus Datei: Millimeterpapier_Skala3.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala4.bmp
lese aus Datei: Millimeterpapier_Skala4.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:label0.bmp
lese aus Datei: label0.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:label1.bmp
lese aus Datei: label1.bmp
Auslesen beendet. Datei wurde geschlossen
Bilder geladen
#############
INIT OpenCL
#############
Plaform_id[]:04190F00
Platform Informations
CL_PLATFORM_VERSION:OpenCL 1.1 CUDA 5.0.1
CL_PLATFORM_NAME:NVIDIA CUDA
CL_PLATFORM_VENDOR:NVIDIA Corporation
CL_PLATFORM_EXTENSIONS:cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharin
g cl_nv_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharin
g cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll
CL_PLATFORM_PROFILE:FULL_PROFILE

Available device(s):
Usable devices:2
2x GPU device(s)
GeForce GTX 580
Hersteller:NVIDIA Corporation
Local mem size in kbyte:48
Global mem cache size in bytes:262144
Global mem size in Mbyte:3071
Error Correction fⁿr global und constant Memory: Nein
Maximale Anzahl an compute Units: 16
Maximale Dimension fⁿr global und local workgroups: 3
Maximaler Kerntakt in MHz: 1566
Image Support (1=ja,0=nein): 1
Maximale Image2D Hoehe: 32768
Maximale Image2D Breite: 32768
Device extensions: cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_s
haring cl_nv_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_s
haring cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll
cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_loc
al_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64
Double precision floating-point capability:
CL_FP_DENORM: Ja
CL_FP_INF_NAN: Ja
CL_FP_ROUND_TO_NEAREST: Ja
CL_FP_ROUND_TO_ZERO: Ja
CL_FP_ROUND_TO_INF: Ja
CL_FP_FMA: Ja
CL_FP_SOFT_FLOAT: Nein
Type: GPU

2x GPU device(s)
ERROR:-33

E:\Downloads\bench>

Skysnake
2012-08-02, 22:07:08
Ah ok, er verschluckt sich, weil es ein Multi-GPU Setup ist. Muss ich mal nachschauen, woran das liegt. Eigentlich sollte das nicht passieren...

Ohne Multi-GPU aber schwer auf solche Fehler zu kommen ;D

Rente
2012-08-02, 22:12:51
Würde mir das ja auch mal ansehen, aber bei mir kommt auch nur folgendes:
lese aus Datei
lese aus Datei
size of the image:2088960
filename:BMP_0.bmp
lese aus Datei: BMP_0.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala1.bmp
lese aus Datei: Millimeterpapier_Skala1.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala2.bmp
lese aus Datei: Millimeterpapier_Skala2.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala3.bmp
lese aus Datei: Millimeterpapier_Skala3.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala4.bmp
lese aus Datei: Millimeterpapier_Skala4.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:label0.bmp
lese aus Datei: label0.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:label1.bmp
lese aus Datei: label1.bmp
Auslesen beendet. Datei wurde geschlossen
Bilder geladen
#############
INIT OpenCL
#############
Plaform_id[]:000D2F80
Platform Informations
CL_PLATFORM_VERSION:OpenCL 1.1
CL_PLATFORM_NAME:Intel(R) OpenCL
CL_PLATFORM_VENDOR:Intel(R) Corporation
CL_PLATFORM_EXTENSIONS:cl_khr_fp64 cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_intel_printf cl_ext_device_fission cl_intel_exec_by_local_thread cl_khr_gl_sharing cl_intel_dx9_media_sharing
CL_PLATFORM_PROFILE:FULL_PROFILE

Available device(s):
Usable devices:0
Error: -30

Scheint nur die integrierte Grafik zu finden... und die ist im Bios deaktiviert... nichts zu finden.
Grafikkarte ist eine GTX670.

boxleitnerb
2012-08-02, 22:15:39
Dass die Karten eingebaut sind, scheint schon zu reichen. SLI aus bringt nichts.

Hübie
2012-08-02, 22:17:25
Deaktiviere die zweite mal im HW-Manager.

boxleitnerb
2012-08-02, 22:22:02
Deaktiviere die zweite mal im HW-Manager.

Thx, klappt.

Wenn ich "C" drücke, misst er 50GB/s wie bei OgrEGT. VRAM kanns nicht sein, Faktor 4 zu wenig. Für PCIe ist es viel zuviel...

Hübie
2012-08-02, 22:26:56
dann drück doch mal "c" nachdem du per rechtsklick den entsprechenden bench ausgewählt hast und dann "p" ;)
btw: Pimmelvergleich ;D

165GB/s VRAM, 6 GB/s PCI-E und 47 ms für die 200 iterationen.

Skysnake
2012-08-02, 22:27:31
Sodele, proboers jetzt mal aus. Ich hab an einer Stelle mir nur eine DeviceID besorgt, und an anderer Stelle dann aber die tatsächliche Anzahl an Devices übergeben :ugly:
Das ist natürlich nicht so knalle -.-

Sollte jetzt funktionieren (hoffe ich zumindest, kanns ja nicht testen.... -.-)

Hier der Link:https://rapidshare.com/files/3397235916/Skysnakes-Bench-Suite.zip

boxleitnerb
2012-08-02, 22:29:42
Thx, Fehler bleibt bei 2 GPUs (33).

Hübie
2012-08-02, 22:30:30
Haben Geräte auf dem PCI-E Bus nicht auch eine ID?

Skysnake
2012-08-02, 22:33:06
Gnarf... dann muss ich da noch genauer rein gehen, aber das ist ohne ne zweite GPU halt echt assig zu debuggen, woran es denn jetzt liegt -.-

Hab mir jetzt auf jeden Fall nochmal die Parameter angeschaut. Für die GTX500er Serie passen die auf jeden Fall auch! Da sollte es eigentlich kein Performanceverlust geben...

Und btw. natürlich per rechter Maustaste bitte den Benchmark auswählen :biggrin: Ich hoffe das habe ich nicht vergessen zu sagen...

@boxleitnerb: Ich schau mal, woran das liegen könnte. Ich mach mal ne Debug-Verison für dich :ugly: Ich hoffe ich komm damit dann drauf was falsch läuft...

@Hübie: Ja haben Sie, aber das sind meines Wissens nach andere IDs. Man muss ja auch Dual-GPUs unterscheiden können ;)

Rente
2012-08-02, 22:35:01
Ich zitier mich mal selber
Würde mir das ja auch mal ansehen, aber bei mir kommt auch nur folgendes:
lese aus Datei
lese aus Datei
size of the image:2088960
filename:BMP_0.bmp
lese aus Datei: BMP_0.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala1.bmp
lese aus Datei: Millimeterpapier_Skala1.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala2.bmp
lese aus Datei: Millimeterpapier_Skala2.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala3.bmp
lese aus Datei: Millimeterpapier_Skala3.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala4.bmp
lese aus Datei: Millimeterpapier_Skala4.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:label0.bmp
lese aus Datei: label0.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:label1.bmp
lese aus Datei: label1.bmp
Auslesen beendet. Datei wurde geschlossen
Bilder geladen
#############
INIT OpenCL
#############
Plaform_id[]:000D2F80
Platform Informations
CL_PLATFORM_VERSION:OpenCL 1.1
CL_PLATFORM_NAME:Intel(R) OpenCL
CL_PLATFORM_VENDOR:Intel(R) Corporation
CL_PLATFORM_EXTENSIONS:cl_khr_fp64 cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_intel_printf cl_ext_device_fission cl_intel_exec_by_local_thread cl_khr_gl_sharing cl_intel_dx9_media_sharing
CL_PLATFORM_PROFILE:FULL_PROFILE

Available device(s):
Usable devices:0
Error: -30

Scheint nur die integrierte Grafik zu finden... und die ist im Bios deaktiviert... nichts zu finden.
Grafikkarte ist eine GTX670.
Dann dürfen scheinbar nicht die OpenCL-Treiber von Intel installiert sein. Sobald ich die runterschmeiße läuft auch der Bench.

€: Unübertaktet ~140 GB/s VRAM ~11,6 GB/s PCI-E 40 ms
Übertaktet (RAM@3600 MHz): ~168 GB/s ~ 11,6 GB/s 36ms

Die Bandbreite der GTX660 kann ich nicht simulieren, sobald ich mehr als -500 MHz im Inspector einstelle gibt es einen Freeze und danach einen Treiberreset.

Hübie
2012-08-02, 22:38:33
@Hübie: Ja haben Sie, aber das sind meines Wissens nach andere IDs. Man muss ja auch Dual-GPUs unterscheiden können ;)

Und kannst du nicht anhand dieser ID das Gerät auswählen? Ne wa weil man ja nicht weiß welche ID das Gerät hat oder? :redface:

Skysnake
2012-08-02, 22:48:27
Und kannst du nicht anhand dieser ID das Gerät auswählen? Ne wa weil man ja nicht weiß welche ID das Gerät hat oder? :redface:
RICHTIG :biggrin: :frown:

Sodele, hier die Multi-GPU-Debug-Version ;D

Ich hoffe damit tut jetzt. Ich hab noch nen Fehlerchen gefunden. Ich iteriere über die zurückgegebene Anzahl an Devices, und da taucht wohl nen Fehler aus.

Ist schon bischen behämmert... Ich sag: "Gib mir maximal eine DeviceID" und er gibt mir die auch, sagt dann aber in nem zweitne Rückgabewert: "Du ich hab 2 Devices zurückgegeben" :facepalm:
Das erwartet man so nicht wirklich... Naja, jetzt weiß ichs, und ist auch recht praktisch zu nutzen. Ich frag einfach einmal an, bau dann meine Datenstruktur auf, in der ich genau die richtige Anzahl an Elementen hab und frag speicher erst dann die IDs. :biggrin:
Darauf muss man aber auch erst mal kommen. In den ganzen Beispielen wird ja immer sehr sehr sehr sehr viel einfach nicht verwendet :rolleyes:

So hier der Link: https://rapidshare.com/files/215781790/Skysnakes-Bench-Suite-Multi-GPU-DEBUG.zip

Ich hoffe es tut jetzt.

Skysnake
2012-08-02, 22:50:04
Ich zitier mich mal selber

Dann dürfen scheinbar nicht die OpenCL-Treiber von Intel installiert sein. Sobald ich die runterschmeiße läuft auch der Bench.

€: Unübertaktet ~140 GB/s VRAM ~11,6 GB/s PCI-E 40 ms
Übertaktet (RAM@3600 MHz): ~168 GB/s ~ 11,6 GB/s 36ms
Hm... Ja, ich glaub ich weiß auch woran das liegt...

Jeder Hersteller gibt dann eine "Platform" an. Die kann man auch abfragen, bzw. man muss die sogar abfragen. Ich geh in meinem Code, um den nicht noch weiter auf zu blähen, noch davon aus, dass man nur eine Plattform installiert hat... Als ich den Teil geschrieben hab gabs auch von Intel noch keine Platform und AMD + nVidia hat man ja nicht so wirklich oft im Rechner :ugly:

HarryHirsch
2012-08-02, 23:14:00
wie lange brauch dein tool denn um ergebnisse zu liefern?
bei mir passiert da ewig nix.

lese aus Datei
lese aus Datei
size of the image:2088960
filename:BMP_0.bmp
lese aus Datei: BMP_0.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala1.bmp
lese aus Datei: Millimeterpapier_Skala1.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala2.bmp
lese aus Datei: Millimeterpapier_Skala2.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala3.bmp
lese aus Datei: Millimeterpapier_Skala3.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala4.bmp
lese aus Datei: Millimeterpapier_Skala4.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:label0.bmp
lese aus Datei: label0.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:label1.bmp
lese aus Datei: label1.bmp
Auslesen beendet. Datei wurde geschlossen
Bilder geladen
#############
INIT OpenCL
#############
Plaform_id[]:62515584
Platform Informations
CL_PLATFORM_VERSION:OpenCL 1.2 AMD-APP (993.1)
CL_PLATFORM_NAME:AMD Accelerated Parallel Processing
CL_PLATFORM_VENDOR:Advanced Micro Devices, Inc.
CL_PLATFORM_EXTENSIONS:cl_khr_icd cl_amd_event_callback cl_amd_offline_devices c
l_khr_d3d10_sharing cl_khr_d3d11_sharing
CL_PLATFORM_PROFILE:FULL_PROFILE

Available device(s):
Number of returned devices after Single-Device reduce: 1
Number of returned devices after Single-Device reduce: 0
Usable devices:1
1x GPU device(s)
Tahiti
Hersteller:Advanced Micro Devices, Inc.
Local mem size in kbyte:32
Global mem cache size in bytes:16384
Global mem size in Mbyte:2048
Error Correction f³r global und constant Memory: Nein
Maximale Anzahl an compute Units: 32
Maximale Dimension f³r global und local workgroups: 3
Maximaler Kerntakt in MHz: 925
Image Support (1=ja,0=nein): 1
Maximale Image2D Hoehe: 8192
Maximale Image2D Breite: 8192
Device extensions: cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_ato
mics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr
_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_at
omics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_
ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf c
l_amd_media_ops cl_amd_popcnt cl_khr_d3d10_sharing
Double precision floating-point capability:
CL_FP_DENORM: Ja
CL_FP_INF_NAN: Ja
CL_FP_ROUND_TO_NEAREST: Ja
CL_FP_ROUND_TO_ZERO: Ja
CL_FP_ROUND_TO_INF: Ja
CL_FP_FMA: Ja
CL_FP_SOFT_FLOAT: Nein
Type: GPU

READ kernel-file:./KernelLaunch_Kernels.cl
Kernel file erfolgreich geladen
Kernel file geschlossen
Fill clDevicebuffer with new image data
Devicebuffer filled with new image data
#############
INIT OpenGL
#############
OpenGL INIT finished
GLUT: Warning in C:\Skysnakes-Bench-Suite\Bandwidth-Test.exe:
glutOverlayDisplayFunc: window has no overlay established

Skysnake
2012-08-02, 23:27:33
mit p in den Profilmodus wechseln, -> rechte maustaste ->benchmark wählen -> c drücken zum starten/stoppen ;)

Wenn ihr nicht im Prfilmodus seid, dann habt ihr die Visualisierung einer Heatblade auf Grundlage von den Bilddaten. Die RGB-Farbwerte werden von 0-255 auf 0.0-1.0 gemapped und dann jeder Farlayer als Temperatur interpretiert. Mit "." "-" wars glaub ich, könnt ihr dann die Anzahl der Iterationen varieieren. Der Standardwert ist aber schon recht gut gewählt. Je nach GPU erhält man aber eine noch bessere Performance, wenn man die Anzahl der Iterationen/Bild-Refresh erhöht. Ganz lustig wirds, wenn ihr die Anzahl an Iterationen nach unten dreht. Da sieht man dann, dass das ganze nicht mehr gut skaliert, da der Overhead aus dem Start eines Kernels signifikant wird ;)

Dazu gibts noch ein paar andere Tricks um zumindest die Leistungsaufnahme nach oben zu schrauben, aber die verrat ich nicht ;D

Soul
2012-08-03, 08:48:08
Läuft das ganze auch mit OnBoard/dedizierter Grafik unter Lucid Virtu?

Skysnake
2012-08-03, 09:35:16
Das Programm braucht OpenGL UND OpenCL support. Ach und nicht mehr als eine OpenCL-Platform ;)

Saugbär
2012-08-03, 14:13:45
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

H:\test\Neuer Ordner>bandwidth-test
lese aus Datei
lese aus Datei
size of the image:2088960
filename:BMP_0.bmp
lese aus Datei: BMP_0.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala1.bmp
lese aus Datei: Millimeterpapier_Skala1.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala2.bmp
lese aus Datei: Millimeterpapier_Skala2.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala3.bmp
lese aus Datei: Millimeterpapier_Skala3.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:Millimeterpapier_Skala4.bmp
lese aus Datei: Millimeterpapier_Skala4.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:label0.bmp
lese aus Datei: label0.bmp
Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:label1.bmp
lese aus Datei: label1.bmp
Auslesen beendet. Datei wurde geschlossen
Bilder geladen
#############
INIT OpenCL
#############
Plaform_id[]:046B0EE8
Platform Informations
CL_PLATFORM_VERSION:OpenCL 1.1 CUDA 4.2.1
CL_PLATFORM_NAME:NVIDIA CUDA
CL_PLATFORM_VENDOR:NVIDIA Corporation
CL_PLATFORM_EXTENSIONS:cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharin
g cl_nv_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharin
g cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll
CL_PLATFORM_PROFILE:FULL_PROFILE

Available device(s):
Usable devices:1
1x GPU device(s)
GeForce GTX 670
Hersteller:NVIDIA Corporation
Local mem size in kbyte:48
Global mem cache size in bytes:114688
Global mem size in Mbyte:2048
Error Correction f³r global und constant Memory: Nein
Maximale Anzahl an compute Units: 7
Maximale Dimension f³r global und local workgroups: 3
Maximaler Kerntakt in MHz: 705
Image Support (1=ja,0=nein): 1
Maximale Image2D Hoehe: 32768
Maximale Image2D Breite: 32768
Device extensions: cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_s
haring cl_nv_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_s
haring cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll
cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_loc
al_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64
Double precision floating-point capability:
CL_FP_DENORM: Ja
CL_FP_INF_NAN: Ja
CL_FP_ROUND_TO_NEAREST: Ja
CL_FP_ROUND_TO_ZERO: Ja
CL_FP_ROUND_TO_INF: Ja
CL_FP_FMA: Ja
CL_FP_SOFT_FLOAT: Nein
Type: GPU

READ kernel-file:./KernelLaunch_Kernels.cl
Kernel file erfolgreich geladen
Kernel file geschlossen
Fill clDevicebuffer with new image data
Devicebuffer filled with new image data
#############
INIT OpenGL
#############
OpenGL INIT finished
GLUT: Warning in bandwidth-test: glutOverlayDisplayFunc: window has no overlay e
stablished
pic0
Fill clDevicebuffer with new image data
Devicebuffer filled with new image data
pic0
Fill clDevicebuffer with new image data
Devicebuffer filled with new image data
pic0
Fill clDevicebuffer with new image data
Devicebuffer filled with new image data

H:\test\Neuer Ordner>
Läuft der Test undendlich weiter?
Wie kann man das Overlay einschalten?
Dann auch mal ein paar Ergebnisse
VRAM bandwidth 138GB/s @ 6,0GBps Speicher( +-0 über Afterburner)
VRAM bandwidth 148GB/s @ 6,4GBps Speicher(+200 über Afterburner)
VRAM bandwidth 158GB/s @ 6,8GBps Speicher(+400 über Afterburner)
VRAM bandwidth 167GB/s @ 7,2GBps Speicher(+600 über Afterburner)

PCI-E bandwidth 5,6 GB/s:confused:

Und dein Lasttest (BurnIn) soll Heatblade sein?
Der Test schafft es gerade so auf 60° trotz GPU @ 1215Mhz

Skysnake
2012-08-03, 16:17:39
Ja, der Test läuft unendlich weiter.

Overlay gibt nur mit FirePro und Tesla :ugly: Habs daher nicht voll ausprogrammiert. Keine Ahnung, warum die da so rumpinzen mit dem Support der Funktion in OpenGL...

Dann muss ich mir die Sache nochmal anschauen, ob ich eventuell die falsche Datei drin hab.

PS: du hast aber keinen Framelimiter drin? Dann gehts nämlich nicht.
Alternativ auch mal die Anzahl der Iterationen/Refresh hoch setzen. Das sorgt auch für mehr Last. Je nach Karte sind die default Werte zu wenig.

Ich hab mal geschaut. Mit der HD5870 hab ich mit Default Parametern ~70% Auslastung, wenn ich auf 2000 Iterationen hoch geh, dann hab ich 94% Auslastung bei 83°C und 68% Lüfter.

Wenn du "i" drückst, kannst du dann in der Shell einen Zahlenwert eingeben. Gib mal was im Bereich 2000 bis 5000 ein. Dann sollten die Temps gut ansteigen ;)

OgrEGT
2012-08-03, 17:33:05
dann drück doch mal "c" nachdem du per rechtsklick den entsprechenden bench ausgewählt hast und dann "p" ;)
btw: Pimmelvergleich ;D

165GB/s VRAM, 6 GB/s PCI-E und 47 ms für die 200 iterationen.

Korrekt :biggrin:

VRAM: ca.132Gb/s
PCI-e: ca. 5Gb/s
Heatblade: 200 iterationen/49ms

Edit: Werte auch mit der neuesten Version identisch

Laut GPU-Z Theoretisch VRAM: 165Gb/s
PCI-e 2.1: bis zu 8Gb/s

:confused::confused::confused:

Saugbär
2012-08-03, 20:27:47
Ja, der Test läuft unendlich weiter.

Ich hab mal geschaut. Mit der HD5870 hab ich mit Default Parametern ~70% Auslastung, wenn ich auf 2000 Iterationen hoch geh, dann hab ich 94% Auslastung bei 83°C und 68% Lüfter.

Wenn du "i" drückst, kannst du dann in der Shell einen Zahlenwert eingeben. Gib mal was im Bereich 2000 bis 5000 ein. Dann sollten die Temps gut ansteigen ;)
Habe es mal ausprobiert
Default: GPU-Load: 82% Memory Controller-Load: 42% Power Consumtion: 61%TDP OGL: 20Fps GPU:60°
i2000: GPU-Load: 95% Memory Controller-Load: 51% Power Consumtion 70% TDP OGL: 2,4 FPS GPU:64°
i10.000: GPU-Load: 95% Memory Controller-Load: 51% Power Consumtion 71% TDP OGL: 0,9 FPS GPU:65°
Die Lüftergeschwindigkeit war dabei max 42%. Mit 100% Fanspeed bin ich jedoch auf 55° gekommen, und das bei sommerlichen Temperaturen von 29° im Zimmer.
Furmark schafft es beim Burnin-Test auf 75° bei 55% Lüfter.
Es ist eine Gigabyte GTX 670 W3
Laut GPU-Z theoretische Bandwidth: 217,9Gb/s

Skysnake
2012-08-04, 10:36:42
Korrekt :biggrin:

VRAM: ca.132Gb/s
PCI-e: ca. 5Gb/s
Heatblade: 200 iterationen/49ms

Edit: Werte auch mit der neuesten Version identisch

Laut GPU-Z Theoretisch VRAM: 165Gb/s
PCI-e 2.1: bis zu 8Gb/s

:confused::confused::confused:

Das sind halt die wirklich real gemessenen Bandbreiten. Die Werte sind halt, wie Sie sind :ugly:

Wenn ich Zeit habe, muss ich mal aber noch schauen, ob weniger Threads das Ergebnis für das Lesen aus dem VRAM verbessern. Damit steigt dann aber auch der Fehler aus dem Start/Stop des Kernels, den ich eben nicht raus rechnen kann. Dafür hat man aber eben auch die Fehler aus den Zugriffen anderer Tasks mit drin.... Muss mir mal noch das SDK-Example anschauen, welche Workgroupe sizes die verwenden. Die SDK-Examples sind aber nicht wirklich einfach zu lesen in Ihrer Gesamtheit...

Mit den 5GB ist das so ne Sache, die ich mir nicht ganz erklären kann. Die Datensätze sind groß genug, um den Bus zu sättigen. Sie stimmen auch mit den Werten aus dem Profiler überein. Eventuell gibts aber doch noch ne Möglichkeit, den Durchsatz zu steigern. Ist für mich jetzt auch interessant, da die Pinned-Memory Version eigentlich voll auf ausreichen sollte um die maximale Bandbreite zu erhalten.

EDIT:
Ok, eine Sache hab ich doch gefunden, an der die zu geringe Bandbreite des PCI-E liegen könnte. Ich schreibe auf die Karte. Eventuell ist lesen von der Karte schneller. Wenn ich mich recht erinnere ist das normal nicht symmetrisch.

Aber nur mal so als Info mit dem BufferBandwidth-Test aus dem SDK kommt man +/- auf die gleichen Werte, zumindest bei mir.

EDIT2:
Ok, hab noch etwas Bandbreite gefunden. Statt clEnqueueWriteBuffer oder clEnqueueReadBuffer einfach clEnqueueMapBuffer verwenden. Zumindest bei der aktuellen AMD Implementation auf einer HD5870 erreicht man damit ~6,2GB/s.

Ich werde heute mal die ganzen Read/Writes mit pinned memory, und eventuell auch ohne pinned memory implementieren, damit man nur noch auswählen muss, welche Funktion man denn nun gern hätte. Das dauert aber seine Zeit. Daher weiß ich nicht, ob ich das heute fertig bekomme. Ich melde mich aber sobald es fertig ist.

Hübie
2012-08-04, 20:33:08
Dann bin ich wohl der einzige der 6GB/s erhält :confused:
Dachte PCI-E ist gerade gut, weils symmetrisch ist?! Aber bei 2.0 kommt ja nun auch wieder overhead zum Tragen (8*0.75=0.6GB/s - passt bei mir im Groben also).

Skysnake
2012-08-05, 04:15:04
Die 8 GB/s sind schon nach Abzug des Overheads ;)

Und es sind wenn dann 0.8 und nicht 0.75, da 8/10 Bit Coding ;)

PCI-E ist auch nicht Symmetrisch apriori. Du kannst maximal eben den gleichen Up/Downstream haben, aber das muss nicht sein. Kommt halt ganz darauf an, was dein PCI-E-Core kann, oder eben auch nicht kann.

Solche Transfers laufen ja auch über die DMA-Engine. Da kommts dann halt auch wieder drauf an, was geht usw usw.

Wäre aber mal sehr interessant zu sehen, welche Plattformen welche Bandbreiten so abliefern. Die älteren Intel Plattformen sollen ja teilweise etwas an Bandbreite zu wünschen übrig lassen.

Vor allem parallele Bandbreiten wären interessant, aber dafür muss ich dann das ganze dann erst Multi-GPU tauglich machen.... Das wird schon nen gewisser Aufwand.

Zuerst mal die unterschiedlichen Transferarten, unterschiedliche Buffersizes und dann halt alles in Plots packen. Das wird schon mal genug arbeit für die nächsten Tage/Wochen.

Hübie
2012-08-05, 04:57:19
Na nu hals dir ma net zuviel auf.:smile: 8 GB/s sind doch theoretische peak ohne overhead@PCIe 2.0. Oder vercheck ich nun gerade was?!

Skysnake
2012-08-05, 11:10:24
Ah du hast, Recht, es ist ohne Protokolloverhead! Aber schon nach Abzug des 8/10 Bit Coding Overheads... :rolleyes:

Ich hab jetzt doch nochmal nachgeschaut, und einen entsprechenden Beitrag gefunden. Im Institut hat vor einiger Zeit mal jemand darüber einen kleinen Vortrag gehalten, aber das kann ich euch ja nicht verlinken ;)

Zunächst der Transaction-Layer ist der oberste Layer, den wir betrachten und enthält Header und Payload (Daten) des Pakets.
Also der Header und die Daten werden immer in DoubleWords unterteilt. Ein DoubleWord (DW) ist dabei 32Bit lang.

Ein Paket hat einen Header der aus 3-4 DW bestehen kann. Danach kommen 0 - 1023 DW an Payload (Daten). Das liegt daran, dass im Header die Länge der Payload mit übertragen wird, da es keine terminierende Bitfolge gibt. Diese ist eben 10 Bit lang, was eben für genau 1024 Zustände ausreicht, und da man eben die 0 mit codieren muss, ist die Maximallänge bei 1023.

Ein Paket desTransaction-Layers ist also maximal 1023+4 DW lang. Reads und Writes werden, soweit ich mich erinnere getrennt behandelt, also ein Paket kann immer nur ein Read oder ein Write sein, bin mir dazu aber gerade nicht sicher und habe auch gerade nichts gefunden. Die minimale größe eines Pakets im Transaction-Layer ist auch noch ganz interessant. Für Reads kann diese 3 und für Writes 4 DW sein. Read halt ohne Payload und Write mit nur einem DW Payload. Es wird aber scheinbar/oft/meistens die minimale Payload (für writes?) auf 32DW angehoben. Damit sinkt der Overhead ab, aber die Latenz erhöht sich natürlich, da man Daten sammelt... Es gibt da aber durchaus recht komplizierte Direktiven je nach Implementierung, wie denn mit kleinen Paketen umgegangen werden soll. Meines wissens nach, gibt es hier auch kein einheitliches vorgehen.

Der nächste Layer ist dann der Data-Link-Layer, der aus Paket-Sequenz-Nummer und CRC besteht. Wenn ich mich recht erinnere ist die CRC 32 Bit lang, also auch wieder ein DW. Ich nehme mal stark an, die Paket-Sequenz-Nummer ist auch ein DW lang. Würde einfach sinn machen, wenn DW die grundlegende Breite ist.

Darunter kommt dann der Physical-Layer, der sich um die 8/10 Bit Codierung kümmert. Ist für uns also uninteressant, da wir den Overhead schon berücksichtigt haben.

Also dann wollen wir mal alles zusammenrechnen für den optimalen! Fall.

3DW Header + 1023DW Payload + 1DW Paket-Sequenz-Nummer + 1 DW CRC = 1028 DW

Overhead: 5 DW / 1028 DW = ~0,5%

bzw. für die Daten haben wir eine Effizienz von ~99,5%

Ich weiß jetzt auch wieder, warum ich den Overhead aus dem Transaction- und Data-Link-Layer vergessen/ignoriert habe ;D :biggrin:

Also grob passt das dann schon mit der Angabe ohne Overhead. Wir gehen ja NUR! von großen Paketen aus. Das wird erst interessant, wenn ich dann mehrere Plots mache, wo man dann sieht, das die Bandbreite massiv einbricht für kleine Übertragungsgrößen.

Da könnte man auch durchaus dann sehen, wo die Grenze für die minimale Payload liegt ;)

Aber das wird alles grad bischen viel :ugly: Also bitte genug Geduld mitbringen, und auch nicht traurig sein, wenn nicht alles implementiert wird. ;)

EDIT:

Hier noch die Links, falls es jemand selbst nachlesen will, die ganz gut sind:
http://www.weblearn.hs-bremen.de/risse/RST/WS04/pci-express.pdf
http://www.fpga4fun.com/PCI-Express4.html

Skysnake
2012-08-05, 13:55:18
Sodele, es gibt ne neue Version, die für den PCI-E Reads und Writes für pinned Memory unterscheidet. Es wird clEnqueueReadBuffer, clEnqueueWriteBuffer und clEnqueueMapBuffer (Read und Write) getestet.

Ganz interessant ist, dass die Schwankung der Bandbreite sehr groß ist, wenn man kleine und große Transfers im Wechsel macht! Die Bandbreite für die großen Transfers schwank bei mir dann massiv.

Ich habe dies dadurch gelöst, das vor der eigentlichen Messung bereits 19 mal der selbe Befehl ausgeführt wird. Die Schwankungen sind dann massiv kleiner!

Hier gleich zwei Vergleichsbilder:

ohne preload / mit preload:

EDIT:
Die Transfergrößen sind farblich markiert. von grün (klein) bis grau (groß). Die genauen Werte entnehmt ihr bitte der Ausgabe in der Shell.

Die weitere Entwicklung richtet sich btw. ganz nach dem was ihr sehen/haben wollt. Lasst mich also wissen, was ihr gern hättet. Und JA, ich weiß, dass das GUI noch scheise aussieht und einige wichtige Informationen fehlen, aber das ist so ziemlich das unwichtigste meiner Meinung nach, zumal es eben unglaublich schnell unglaublich viel Zeit frisst das "schön" zu machen. Wenn sich jemand berufen fühlt ein GUI Design zu machen immer her damit, am liebsten schon in OpenGL ausprogrammiert ;P

Saugbär
2012-08-05, 15:20:04
Die Schwankungen sehe ich nicht bei Pinned Read und Pinned Write.
Wenn ich jedoch versuche, Pinned ReadMapBuffer oder Pinned WriteMapBuffer zu testen, schließt sich das Programm ohne Fehlermeldung.
Chipsatz Intel P55.
Auuserdem die Breite des Ausgabefensters etwas verbreitern, oder einfach den Schriftzug "GB/s" etwas verkleinern, damit man das Fenster nicht manuell verbreitern muß. Das sieht so abgeschnitten aus.

Skysnake
2012-08-05, 18:33:28
Also das mit den fehlenden Schwankungen ist ganz einfach. Ich hab ja nur die Version mit Preload hochgeladen ;) Ihr wollt ja sehen, was möglich ist und nicht, was alles schief gehen kann ;)

Was nicht passieren sollte ist, dass das Programm einfach abschmiert. Das spricht für nen Pointer-Fehler... Nur komisch, dass das bei mir nicht auftritt :ugly:

Was man bei dir aber sehr schön sieht ist, wie die Performance bei kleineren Buffergrößen massiv verbessert wurde im Vergleich zu meinem Sockel 775 System :up:

EDIT:
Habs jetzt von hier runter geladen und getestet. Bei mir gibts keine Probleme. Könnte eventuell daran liegen, das es ein Problem mit dem nVidia Treiber gibt, oder hast du noch nen Intel OpenCL Treiber installiert? Wenn ja, mal deinstallieren.

Mir ist grad btw. noch nen kleiner Fehler aufgefallen, hatte zum debuggen was auskommentiert. Das ist jetzt wieder drin ;)

Hübie
2012-08-05, 18:46:21
Da schwankt nix... Oder bin ich blöd? (Wahrscheinlich ;D)

Nur die ersten 2-3 Sekunden waren Schwankungen zu erkennen.

Saumäßig interessant was du da gepostet hast. Wenn man auch mal unter die Haube schaut sieht man immer wieder dass die Abwärtskompatiblität oft hemmt. Dennoch ist PCIE imo recht gut gelöst.

LG Hübie

Edit: Kann es sein das beim VRAM-Test nicht alle MCU aktiv sind :| 163GB/s ist dann doch etwas weit von den theoretischen 200GB/s.

Edit2: Die Schwankungen kommen evtl. von p-states/ASPM?!

Skysnake
2012-08-05, 19:18:31
Ok, ich hab die Version ohne Preload mal noch hochgeladen. Das ist Version 0.1c

Wenn ihr unbedingt die Schwankungen sehen wollt, dann bitte ;P

Hübie
2012-08-05, 19:33:28
Bei mir schwanken nur die 4092 Byte-Blöcke. Der Rest stabil wie vorher. Woran liegt das nun? :|

Skysnake
2012-08-05, 20:03:23
Besserer PCI-E Controller? :biggrin:

Mein S775 ist ja schon ein paar Tage alt ;)

EDIT:

Scherzfrage:
Und warum hab ich wohl die 4092 Byte genommen? ;)

Sind 1023 DW Payload ;) Also gerade der Anfälligste Bereich, da eben ein maximal zulässiges Paket geseindet wird. Da kann dann auch maximal viel schief gehen. Ergo sollten hier die Schwankungen am größten sein, was Sie ja auch scheinbar bei dir sind ;)

PS: Wäre cool, wenn ihr eure CPU+MB+GPU dazu schreiben könntet. Dann kann man gleich vergleichen. Falls OC, dann bitte auch dazu.

Saugbär
2012-08-05, 20:58:18
Intel OpenCL Treiber ist nicht installiert, den braucht man ja nur bei einer Intel-GPU?
CPU: i860 @3,72 Ghz
MB: Asus P7P55-E Deluxe Chipsatz iP55
GPU: GTX 670 @1050-1702
Win: Win7-64

Die Tests Pinned ReadMapBuffer oder Pinned WriteMapBuffer laufen an, einige Ergebnisse sind auch zu sehen, das Programm schließt sich dann jedoch nach ca. 1 Sek.
Alle anderen Tests laufen fehlerfrei.
getestet version 0.1c
"so" extrem wie bei dir sind die Schwankungen jedoch nicht

Skysnake
2012-08-05, 21:56:04
hm....

Dann würde ich fast sagen, dass du nen Hardwaredefekt hast :ugly:

Das kann ja nicht im einen Moment gehen, und im nächsten dann abschmieren. Gibt keinen Grund, warum so ein Verhalten auftauchen sollte:confused:

Saugbär
2012-08-05, 23:30:14
Läuft da ein Buffer über?
Mit cmd schließt sich nur die Anwendung
ERROR:-6

Auslesen beendet. Datei wurde geschlossen
lese aus Datei
lese aus Datei
filename:label1.bmp
lese aus Datei: label1.bmp
Auslesen beendet. Datei wurde geschlossen
Bilder geladen
#############
INIT OpenCL
#############
Plaform_id[]:00610EC8
Platform Informations
CL_PLATFORM_VERSION:OpenCL 1.1 CUDA 4.2.1
CL_PLATFORM_NAME:NVIDIA CUDA
CL_PLATFORM_VENDOR:NVIDIA Corporation
CL_PLATFORM_EXTENSIONS:cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharin
g cl_nv_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharin
g cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll
CL_PLATFORM_PROFILE:FULL_PROFILE

Available device(s):
Number of returned devices after Single-Device reduce: 1
Number of returned devices after Single-Device reduce: 0
Usable devices:1
1x GPU device(s)
GeForce GTX 670
Hersteller:NVIDIA Corporation
Local mem size in kbyte:48
Global mem cache size in bytes:114688
Global mem size in Mbyte:2048
Error Correction f³r global und constant Memory: Nein
Maximale Anzahl an compute Units: 7
Maximale Dimension f³r global und local workgroups: 3
Maximaler Kerntakt in MHz: 705
Image Support (1=ja,0=nein): 1
Maximale Image2D Hoehe: 32768
Maximale Image2D Breite: 32768
Device extensions: cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_s
haring cl_nv_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_s
haring cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll
cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_loc
al_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64
Double precision floating-point capability:
CL_FP_DENORM: Ja
CL_FP_INF_NAN: Ja
CL_FP_ROUND_TO_NEAREST: Ja
CL_FP_ROUND_TO_ZERO: Ja
CL_FP_ROUND_TO_INF: Ja
CL_FP_FMA: Ja
CL_FP_SOFT_FLOAT: Nein
Type: GPU

READ kernel-file:./KernelLaunch_Kernels.cl
Kernel file erfolgreich geladen
Kernel file geschlossen
Fill clDevicebuffer with new image data
Devicebuffer filled with new image data
#############
INIT OpenGL
#############
OpenGL INIT finished
GLUT: Warning in band: glutOverlayDisplayFunc: window has no overlay established

PCI-E Bandwidth Benchmark aktiviert
PCI-E bandwidth: 0.00342398 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0358201 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.14328 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.551895 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 4.5805 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 46950.1 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.0013229 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0116415 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.252562 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.24055 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.24602 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000669054 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0110872 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0307875 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.236526 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.5075 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.16576 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000802864 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0114978 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0642291 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.201367 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.5075 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.24062 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000902444 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0113576 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0454304 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.191041 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.5075 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.22712 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000718613 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0113576 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0404923 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.177395 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.52683 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.2495 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000770962 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0113576 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0642291 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.188622 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.5075 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.182 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000946466 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0113576 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0642291 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.183965 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.20296 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.22211 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000736806 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0116415 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0465661 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.191041 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.48866 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.24925 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00100358 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0117889 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0465661 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.222405 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.16758 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.16922 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00143723 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0117889 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.198682 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.52683 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.25242 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00161688 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0117889 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.171278 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.52683 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.22366 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00140259 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0116415 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.198682 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.54666 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.19596 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000654019 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0117889 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.065356 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.179532 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.54666 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.23868 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00118791 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0117889 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.137974 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.19093 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.22455 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00145519 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0166308 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.181721 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.52683 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.54936 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00145519 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0116415 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.188622 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.56701 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.92964 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000970128 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0116415 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.140577 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.17914 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.89176 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000718613 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0116415 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.065356 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.198682 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.54666 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.9354 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000855995 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0116415 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.181721 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.28057 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.87313 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00161688 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0116415 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0677326 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.181721 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.19093 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.84446 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00121266 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0116415 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0620882 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.188622 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.54666 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.81108 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000600079 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0117889 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.179532 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.54666 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.78547 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00104879 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0117889 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.181721 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.52683 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.92022 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00161688 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0117889 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.196068 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.54666 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.79828 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.0012935 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0109567 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0642291 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.191041 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.56701 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.94842 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00122542 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0117889 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.065356 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.181721 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 0.888753 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.94876 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00125178 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0117889 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0620882 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.181721 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.56701 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.81531 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00163965 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0107049 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0471556 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.206961 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.54666 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.88794 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00161688 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0113576 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.188622 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.52683 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.93738 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000855995 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0116415 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.181721 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.56701 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.72534 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00100358 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0116415 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0454304 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.252562 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.54666 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.53355 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000692948 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0166308 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.065356 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.256917 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.54666 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.81312 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000902444 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0166308 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.256917 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.56701 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.4791 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00083752 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0117889 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.065356 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.252562 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.56701 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.39355 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000849747 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0166308 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0677326 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.181721 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.13422 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.31429 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000855995 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0166308 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0677326 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.256917 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.54666 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.32225 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00140259 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0166308 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.256917 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.54666 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.45548 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.000909495 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0169331 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.256917 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.54666 GB/s bei Buffersize von 4092 Byte
ERROR:-6

H:\test\tt>

Skysnake
2012-08-06, 11:15:07
Error 6:= clOutOfHostMemory

hm.... Das kann eigentlich nicht sein...

Also das kann/darf eigentlich überhaupt nicht passieren :ugly: Es gibt eigentlich absolut keinen Grund dafür, warum das passieren sollte...

Kannst du mal den Taskmanager während des Programms beobachten und eventuell nen Screen machen?

Bei mir läuft das ja ohne Probleme durch, eventuell muss ich es aber auch einfach länger durchlaufen lassen :confused:

Das mit der cmd ist immer so. Wenn du ein Programm per exe startest, wird eine shell geöffnet, die eben automatisch geschlossen wird, wenn das Programm beendet wird. Daher shell programme am besten aus der cmd öffnen, wenn irgendwas schief geht, dann kann man die DEBUG-Ausgaben auch sehen ;)

Könntest du mal testen, ob es immer an der gleichen Stelle abbricht?

Also bei dem größten Buffer z.B.

Ach und btw.


PCI-E bandwidth: 6.23868 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00118791 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0117889 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.137974 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.19093 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.22455 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00145519 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0166308 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.181721 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.52683 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.54936 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 0.00145519 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.0116415 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.066523 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.188622 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 1.56701 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 2.92964 GB/s bei Buffersize von 41943040 Byte

Warum sinkt die Bandbreite so massiv ab? Hast du irgendein Hintergrundprogramm gestartet?

Das Programm brauch ziemlich viel Speicher UND!!! nahezu der komplette Speicher ist gepinnt! Kann also nicht raus geswapped werden. Wenn da dann natürlich irgendwas im Hintergrund den Speicher komplett auslasten will, kann es natürlich zu Problemen kommen.

Hübie
2012-08-06, 12:07:48
Hab dir mal n Video gemacht. Bei mir kackt der auch mit Error: -6 ab. Schau mal in die Beschreibung des Vids ;)

http://www.youtube.com/watch?v=wIMkTcBJw34

LG Hübie

Skysnake
2012-08-06, 13:40:27
seltsam seltsam seltsam....

Das muss ich mir wirklich mal anschauen. Wenns geht, stoppe mal bitte durch drücken von c den Benchmark, bevor du umschaltest.

BeetleatWar1977
2012-08-06, 13:58:14
bei mir bei pinnedReadMapbuffer und pinnedWriteMapbuffer (Error 6) - die normalen gehen.....

Saugbär
2012-08-06, 16:43:12
Das Pausieren zwischen dem Umschalten mit "c" hilft auch nicht, es bleibt immer an der selben stelle hängen.(4092 Byte)
Pinned read und write haben diese Einbrüche nicht.
Treiber nForce 301.42
Speicher ist voll bestückt mit 4*4 GB. Da sind immer noch ~10GB Ram frei.
Auch der Speicher der GPU säuft nicht ab. Memory used ~500 MB laut GPU-Z.
Auslagerungsdatei mit 2 GB sollte auch groß genug sein.

Noch eine Auffälligkeit
1.: Programm starten
2.: Profile on
3.: Benchmark pinnedReadMapbuffer auswählen
4.: "c" drücken
Die Grafik freezt, die Ergebnisse werden jedoch über den cmd weiter ausgegeben bis zum error:-6
Wenn vorher jedoch ein anderer Test gestartet wurde, funktioniert die Profilausgabe zumindest bis error:-6
Schaue dir mal über den Prozess-Explorer deine Strings an. Gibt es da Probleme mit "ö" "ü" und "ö"?

Skysnake
2012-08-06, 19:03:34
Könnte eine Möglichkeit sein, wobei ich auf Sonderzeichen eigentlich verzichte.

Ich muss das bei mir einfach rekonstruieren können, ansonsten wirds halt echt bitter...

Habt ihr vielleicht alle ne nVidia?

BeetleatWar1977
2012-08-06, 19:05:29
Könnte eine Möglichkeit sein, wobei ich auf Sonderzeichen eigentlich verzichte.

Ich muss das bei mir einfach rekonstruieren können, ansonsten wirds halt echt bitter...

Habt ihr vielleicht alle ne nVidia?
Ich hab ne GTX 470 - Treiberstand war 304.79

Hübie
2012-08-06, 19:35:10
Habt ihr vielleicht alle ne nVidia?

JA! ;D :freak:

Skysnake
2012-08-06, 20:42:36
Na vielleicht liegts wirklich daran. Wie gesagt, ich muss mal Zeit finden und das bei mir nochmal durchtesten, und eben schauen, ob ich zu dem Fehler bzgl nVidia was finde. Wenn ja, Bugreport an nVidia und warten.

EDIT:
Ach wie geil, das nVidia Forum für Developer ist ja noch immer down.... :down: Also keine Fehlersuche über nVidia.... ganz großes Kino.

Google liefert bzgl nVidia und error 6 bei OpenCl auch nicht wirklich was. Wenn steht es eigentlich immer mit irgendner nvidia lib in Verbindung. Kann also eventuell wirklich nen Treiber-Problem sein, aber wie gesagt, ich muss es noch mit der AMD voll durchtesten, was ich dann mal jetzt auch mach...

Skysnake
2012-08-07, 12:17:24
Also Leuts, das scheint wirklich ein Problem eures nVidia Treibers zu sein. Ich hab extra die Version hier ausm Forum genommen und nicht direktin VS das Ding laufen lassen, und es läuft und läuft und läuft und läuft. Über Minuten hinweg. absolut keine Fehler, egal welchen der PCI-E Benchmarks ich durchlaufen lasse....

Sorry, aber das scheint wirklich an eurem Treiber zu liegen, anders kann ich es mir einfach nicht erklären. Mir ist heute Nacht beim Einschlafen auch ne Erklärung dafür eingefallen :biggrin:

Soweit ich mich erinnern kann, verhält sich nvidia etwas eigenwillig bzgl synchrones und asynchrones transfers. Kann gut sein, das hierdurch ein Fehler auftritt, einfach dadurch das nVidia nicht wirklich wartet bis der Transfer abgeschlossen ist. Mit Gewissheit kann ich es nicht sagen, aber das würde durchaus den Fehler erklären.

Weiß vielleicht jemand von euch, wohin ich den Bug-Report schicken kann? Das nVidia Forum, wo ich mich jetzt hin gewendet hätte, ist ja noch immer down...

Hübie
2012-08-07, 12:47:04
Also ich nutze den aktuellen 304.79. Hab gestern mal n clean-install gemacht - nüscht geändert ;D Was mir seit gestern dann aber auffiel: Obwohl ich PCI-E ASPM deaktiviert habe stellt der auf 1.1 zurück. Belaste ich den Bus gering geht der Bus auch wieder in den 2.0-Mode :|

Skysnake
2012-08-07, 12:56:54
Ja, das ist völlig normal! Damit soll Energie gespart werden ;)

Hübie
2012-08-07, 13:18:27
DAS WILL ICH ABER NICHT ;D Ich wundere mich nur, da ich es ja abgestellt habe.

Übrigens: Versuch mal ne mail an cuda-developer-supp@nvidia.com zu schicken. Glaub das war die Adresse...

Skysnake
2012-08-07, 13:27:04
Ich kanns ja mal versuchen :ugly:

Aber da steht ja schon "cuda" dabei... ich versuchs mal ;)

EDIT:
Ok, die Mail ist raus. Ich hab auch extra nochmal alles überprüft. Die clEnqueueMapBuffer sind auch auf blocking=CL_TRUE gesetzt. Das Programm führt die nächste Programmzeile also immer erst aus, wenn der Transfer beendet wurde. Da darf also eigentlich nichts schief gehen.... Mal schauen ob sich nVidia meldet.

Hübie
2012-08-07, 13:58:20
Wird vllt. einfach nur ne Parametergeschichte sein. Kennt man ja von nVidia ;)

Skysnake
2012-08-07, 14:05:44
Irgend ein "wir halten uns nicht 100% an die Specs für 0,x% mehr Leistung" wirds wohl sein.

Die Sache geht ja auch erst nach einige Zeit schief. Da sind ja schon einige hundert Transfers drüber gerödelt, und das innerhalb kürzester Zeit. So verhält sich keine normale Applikation ;D

Kann also gut sein, dass das ein "bug" ist um die Leistung in normalen Anwendungen zu steigern.

Es ist ja auch sehr auffällig, dass die Transferleistung plötzlich so massiv einbricht, bevor der Fehler auftritt.

Saugbär
2012-08-07, 14:06:59
Aus der ATI-Fraktion gibt es hier ja immer noch keine Meldungen?
Sind die alle noch im Urlaub?:rolleyes:

Skysnake
2012-08-07, 14:11:11
Wahrscheinlich :ugly:

Dabei wären ja gerade die Werte einer APU SEHR interessant. Da sollten nämlich deutlich bessere Werte bei rum kommen ;)

Ne PCI-E Platform wäre auch noch interessant. Ich hab ja ne Karte, aber keinen entsprechenden Unterbau -.-

EDIT:

Ok, die Mail könnt ihr knicken. Die kam zurück. Da meldet sich kein Mail-Server :ugly:

Meine Suche nach einer Alternative war dann auch total fürn Arsch. Entweder sind die Seiten nicht erreichbar, oder man wird direkt in die FAQs geschickt,bzw. halt in das offline Forum.... Sehr geil... Man kann nVidia als Developer im Moment nicht wirklich erreichen :ugly:

Die einzige Chance, die ich jetzt gefunden habe ist ihre Live-Chat, der ist aber nur von 9-5PM PDT, also ab 17 Uhr bei uns... Sehr geil -.-

Hübie
2012-08-07, 20:41:47
Ja mein Hirn is halt net das beste ;D Die sind da eh völlig überfordert mit der Forengeschichte ;D

Was meinst du mit "Ne PCI-E Platform wäre auch noch interessant."?
Und wieso sollte eine APU bessere Werte erreichen? Die hat doch nur Caches und dann DRAM, kein VRAM. Oder steh ich mal wieder aufm Schlauch? :|

Edit: Twitter kannst du benutzen. Ne Antwort ist dann aber fast wie Lotto ;D

Saugbär
2012-08-07, 22:37:51
Ich glaube ja fast, die haben sich absichtlich ihre Forenseite hacken lassen.
Immerhin brauchen sie seit dem 12. Juli so ja keine Supportanfragen mehr zu beantworten. Der Angriff selber fand jedoch schon Wochen vorher statt.
Das sind fast 4 Wochen, wo NVidia es nicht hinbekommt, ihr eigenes Forum wieder online zu bekommen.
Ob der Live-Chat wirklich das ware ist?:freak:

Pirx
2012-08-08, 13:23:22
Mein Llano@work -A8-3850-hat nur bei der größten Buffersize ca. 6,2GB PCIe-Bandbreite (alle anderen gehen gegen Null) und 23GB VRAM-Bandbreite.:ulol:

Skysnake
2012-08-08, 13:35:11
23GB/s passen ja auch wunderbar! Das wäre Dual-Channel 1600 DDR3 ca. Das sollte ziemlich gut passen.

Warum die anderen Werte aber so schlecht sind ist mir nicht wirklich klar :ka:

Pirx
2012-08-08, 13:52:27
Sind DDR3-1866 @ DC, aber diese "PCIe-Bandbreite" bei Llano hmmm - hat der einfach einen internen PCIe zur iGPU? Nö, oder, die hängt doch am IMC?

Skysnake
2012-08-08, 14:37:11
das sollte, soweit ich das verstanden habe, einfach von einem Speicherbereich in den nächsten des Hauptspeichers kopieren. Kannste mal bei Gelegenheit einen Screen vom Diagramm und shell posten?

Pirx
2012-08-08, 15:26:42
Pinned Read

http://www.forum-3dcenter.org/vbulletin/attachment.php?attachmentid=43511&stc=1&d=1344432325


Plaform_id[]:6E7C6514
Platform Informations
CL_PLATFORM_VERSION:OpenCL 1.2 AMD-APP (938.2)
CL_PLATFORM_NAME:AMD Accelerated Parallel Processing
CL_PLATFORM_VENDOR:Advanced Micro Devices, Inc.
CL_PLATFORM_EXTENSIONS:cl_khr_icd cl_amd_event_callback cl_amd_offline_devices c
l_khr_d3d10_sharing
CL_PLATFORM_PROFILE:FULL_PROFILE

Available device(s):
Number of returned devices after Single-Device reduce: 1
Number of returned devices after Single-Device reduce: 0
Usable devices:1
1x GPU device(s)
BeaverCreek
Hersteller:Advanced Micro Devices, Inc.
Local mem size in kbyte:32
Global mem cache size in bytes:0
Global mem size in Mbyte:512
Error Correction f³r global und constant Memory: Nein
Maximale Anzahl an compute Units: 5
Maximale Dimension f³r global und local workgroups: 3
Maximaler Kerntakt in MHz: 600
Image Support (1=ja,0=nein): 1
Maximale Image2D Hoehe: 8192
Maximale Image2D Breite: 8192
Device extensions: cl_khr_global_int32_base_atomics cl_khr_global_int32
_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_at
omics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_
ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf c
l_amd_media_ops cl_amd_popcnt cl_khr_d3d10_sharing
Double precision floating-point capability:
CL_FP_DENORM: Nein
CL_FP_INF_NAN: Nein
CL_FP_ROUND_TO_NEAREST: Nein
CL_FP_ROUND_TO_ZERO: Nein
CL_FP_ROUND_TO_INF: Nein
CL_FP_FMA: Nein
CL_FP_SOFT_FLOAT: Nein
Type: GPU

READ kernel-file:./KernelLaunch_Kernels.cl
Kernel file erfolgreich geladen
Kernel file geschlossen
Fill clDevicebuffer with new image data
Devicebuffer filled with new image data
#############
INIT OpenGL
#############
OpenGL INIT finished
GLUT: Warning in C:\Users\as\Desktop\Skysnakes-Bench-Suite v0.1b\Skysnakes-Bench
-Suite\Bandwidth-Test v0_1b.exe: glutOverlayDisplayFunc: window has no overlay e
stablished
start profiling
PCI-E Bandwidth Benchmark aktiviert
PCI-E bandwidth: 4.16234e-005 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.000471108 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0015997 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.00535772 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 0.0857169 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.17341 GB/s bei Buffersize von 41943040 Byte
PCI-E bandwidth: 3.60908e-005 GB/s bei Buffersize von 4 Byte
PCI-E bandwidth: 0.000288335 GB/s bei Buffersize von 32 Byte
PCI-E bandwidth: 0.0011761 GB/s bei Buffersize von 128 Byte
PCI-E bandwidth: 0.00475127 GB/s bei Buffersize von 512 Byte
PCI-E bandwidth: 0.0408552 GB/s bei Buffersize von 4092 Byte
PCI-E bandwidth: 6.16398 GB/s bei Buffersize von 41943040 Byte

...usw

Skysnake
2012-08-08, 19:06:37
Danke.

Sieht soweit eigentlich ganz ok aus. Ich hatte aber eigentlich schon erwartet, das da eine höhere Bandbreite erziehlt wird. Kann ich wirklich nicht ganz nachvollziehen, warum man da auf die ganz normale PCI-E Bandbreite limitiert ist...

Gibt auch was neues von nVidia. Im LiveChat konnte mir nicht im geringsten geholfen werden. Das geilste war aber folgendes:


XY: I request, please post this query in NVIDIA CUDA forums when the website is up. I apologize for the inconvenience, as this is generic support team and we are unsure of the CUDA related queries, I had to redirect you to the NVIDIA CUDA forums.
Sky Walter: is it really up again?
XY: And unfortunately as of now the forums website is down for maintenance.
Sky Walter: 1 or 2 days ago it was still offline
Sky Walter: yeah, it is down since some weaks...
Sky Walter: as far i know
XY: Please wait for few more days. Our website administrators are working on it.


Ähm ja..... wie geil... Da kam ich mir schon etwas verarscht vor...

Ende vom Lied, also entweder warten, oder aber einen Bugreport raus hauen. Er war dann doch noch so freundlich und hat mir auf Nachfrage einen entsprechenden Link für die Seite mit dem Bugreport genannt ;D

Naja, immerhin. Dann gehts mal weiter.

samm
2012-08-08, 19:17:45
Skysnake: Wie wäre es, in's Startposting noch eine Anleitung reinzupacken? Ist bisschen zu aufwändig für nen schnellen Benchmark-Run ohne gross forschen zu wollen im Thread die Informationen zu suchen (p und dann c drücken, was "preload" vs "no preload" ist etc. :)

7970 @PCIe 2.0

Ca. 5.5GB PCIe-Bandbreite

http://www.abload.de/thumb/skysnake_bm9fft8.jpg (http://www.abload.de/image.php?img=skysnake_bm9fft8.jpg)

Ca. 207 GB Speicherbandbreite (von theoretisch 273.6, hm...)

http://www.abload.de/thumb/skysnake_bm2qrcok.jpg (http://www.abload.de/image.php?img=skysnake_bm2qrcok.jpg)

Pirx
2012-08-08, 19:27:02
Danke.

Sieht soweit eigentlich ganz ok aus. Ich hatte aber eigentlich schon erwartet, das da eine höhere Bandbreite erziehlt wird. Kann ich wirklich nicht ganz nachvollziehen, warum man da auf die ganz normale PCI-E Bandbreite limitiert ist.......
Erinnerte mich gerade an diesen älteren Artikel: http://www.realworldtech.com/fusion-llano/3/

Hier steht ein bisschen was dazu, es müsste aber trotzdem noch ein bisschen mehr sein;), naja, was solls.

Skysnake
2012-08-08, 19:35:37
Werd ich die Tage mal machen. Ist ne gute Idee. Danke

Welchen Unterbau hast du denn?

Die 207 GB/s kommen halt bei einer Buffersize von 40 MB und 163840 Threads bei block/workgroupe sizes von {256,1,1} zustande. Ich hab da einfach noch nicht die Zeit gehabt, etwas rum zu spielen mit den Buffersizes.

Ich bin einfach mal nach dem Grundsatz ran gegangen, das man die Zugriffslatenz verstecken muss, also möglichst viele Threads, aber auch nicht zu viele, da eben jeder Threadwechsel doch minimal Overhead bedeutet. Daher 64 Reads pro Thread insgesamt und 1 write, damit eben die Zugriffe nicht von der LLVM einfach entfernt werden.

Man muss da wirklich aufpassen, was man macht. Man darf z.B. nur jeden Wert genau 1 mal lesen, aber trotzdem aligned, da man ansonsten entder den L2 mit benched, oder aber den Memory-Controller wegen Zugriffskonflikten (Bank/Rank conflicts) nicht optimal ausnutzt.

Da muss ich mir einfach mal die Muße nehmen, und GENAU das OpenCL Beispiel im AMD SDK anschauen. Die benchen nämlich teilweise den L2 mit....

Man muss sich auch fragen, ob die Bandbreite eben nur gilt, wenn man eine Optimalsituation hat, oder eben auch, wenn man z.B. andere Buffersizes hat, die dann je nachdem eben nicht mehr optimal funktionieren.

Daher wird es wie beim PCI-E Test hier auch noch eine Erweiterung geben.

Btw. für PCI-E ist auch noch eine Unterteilung in große und kleine Buffer angedacht. Der Sprung zwischen den zwei größten Buffern ist einfach zu groß.

Skysnake
2012-08-17, 00:19:39
Kleines update:

Der Bugreport hat nicht geklappt, weil ich nVidia keine Nachricht zukommen lassen kann..... :down:

Im AMD Developer-Forum gibts aber auch jemand, der mit seinem Programm das gleiche Problem mit einer GTX295 hat. Scheint also wirklich ein allgemeines nVidia Problem zu sein, wie es scheint.

HarryHirsch
2012-08-17, 23:28:40
7970 @ pcie3 x16

http://www.abload.de/img/cropimage37lwb.jpg (http://www.abload.de/image.php?img=cropimage37lwb.jpg)

(:freak:)

Skysnake
2012-08-17, 23:58:28
lol? :ugly:

WTF das macht ja mal bar keinen Sinn :ugly:

bzw....

Kann das sein, dass das in nem 1155er System mit ner zweiten GPU steckt und dann auf 8x2.0 runter geht?

Nimm mal die zweite GPU raus und teste dann mal.

HarryHirsch
2012-08-18, 00:10:55
nee, das ist nen x79 system mit e-cpu.
der gpu-z test spuckt das aus:

http://www.abload.de/thumb/gpu-z2012-08-1800-05-qvob6.jpg (http://www.abload.de/image.php?img=gpu-z2012-08-1800-05-qvob6.jpg)

cf inzwischen aus.

HarryHirsch
2012-09-11, 17:32:04
pcie3 x16

http://www.abload.de/img/cropimageu2qq0.jpg (http://www.abload.de/image.php?img=cropimageu2qq0.jpg)

jetzt läuft es ;D

btw. hatte ich eben seit monaten den ersten 101er bsod
die cpu braucht anscheinend etwas mehr saft um 16 lanes dauerhaft bereitstellen zu können. :D

Hübie
2012-09-11, 20:57:50
Müsste das nicht eher der SA sein?

HarryHirsch
2012-09-11, 21:07:53
sa?

Hübie
2012-09-11, 21:17:11
Öh, sorry. System Agent ;D

HarryHirsch
2012-09-11, 22:25:19
ach so, der system agent.
schreib das doch gleich!
btw., der sitzt gerade neben mir und meinte: "meooww"
war also logisch