2016-04-24 21 views
0

Ich habe an einem opencl Octree Ray Caster gearbeitet, der in openframeworks geschrieben ist. Es nimmt Punktwolken von 5-10m Punkten auf, baut einen Octree auf, übergibt den Octree an den Kernel und führt dann etwa 200k Raycasts durch, um punktuelle Interceptions zu finden.OpenCL/OpenGL und OSX stürzt ab

Der Code funktioniert gut und die Ergebnisse werden über vbo-Objekte gerendert. Ein paar Clips finden Sie unter here und here (noch perfektionieren Sie die Kreuzungsüberprüfungen).

Das Problem ist, ich habe in letzter Zeit eine ganze Reihe von Mac schwarzen Bildschirm Momente. (Ich bin auf einem späten 2013 Mac Pro mit einem aktuellen El-Cap-Update) Ich bin mir ziemlich sicher, dass die schwarzen Bildschirme eine Form von Kernelabsturz oder Überlastung (?) Sind. Sie treten sowohl gelegentlich auf, wenn die App läuft, als auch, wenn OF heruntergefahren wurde, und ich bin danach zu anderen Arbeiten übergegangen. Regelmäßig genug, um das Arbeiten zum Albtraum zu machen ...

Ich bin ziemlich grün mit opencl und dergleichen, aber ich denke, dass mein grundlegender Kernel-Code vernünftig ist. Ich schließe auch Cleanup-Funktionen in C++ beim Beenden ein. Gibt es noch andere einfache Probleme/Schutzmaßnahmen, die mir nicht bewusst sind und die ich unbedingt in meine App einbeziehen muss?

Es kann sein, dass ich weitere Informationen aufnehmen muss, gerne als Antwort auf Fragen zu aktualisieren.

In der Hoffnung S

Update: hier ist ein Systembericht aus dem herunter neuesten nach unten; passiert nach einem Neustart nach einem Absturz nach dem Ausführen der App. Ich habe total keine Ahnung:

Anonymous UUID:  1B68061F-68FC-BED2-559B-C8457A01380E 

Sun Apr 24 16:03:12 2016 

*** Panic Report *** 
panic(cpu 6 caller 0xffffff7f92b72bd5): "GPU Panic: [<None>] 3 0 a0 d9 9 8 0 3 : NVRM[0/1:0:0]: Read Error 0x00000100: CFG 0xffffffff 0xffffffff 0xffffffff, BAR0 0x103e00000 0xffffff92013c9000 0x0e7150a2, D0, P3/4\n"@/Library/Caches/com.apple.xbs/Sources/AppleGraphicsControl/AppleGraphicsControl-3.12.6/src/AppleMuxControl/kext/GPUPanic.cpp:127 
Backtrace (CPU 6), Frame : Return Address 
0xffffff91fd61ae30 : 0xffffff800fadab12 
0xffffff91fd61aeb0 : 0xffffff7f92b72bd5 
0xffffff91fd61af90 : 0xffffff7f908241e0 
0xffffff91fd61b050 : 0xffffff7f908f1ef4 
0xffffff91fd61b090 : 0xffffff7f908f1f5f 
0xffffff91fd61b110 : 0xffffff7f90b297a8 
0xffffff91fd61b1b0 : 0xffffff7f90b413d2 
0xffffff91fd61b1f0 : 0xffffff7f9096943a 
0xffffff91fd61b220 : 0xffffff7f909693c5 
0xffffff91fd61b250 : 0xffffff7f90a770c9 
0xffffff91fd61b280 : 0xffffff7f90a78ea4 
0xffffff91fd61b310 : 0xffffff7f90a79306 
0xffffff91fd61b370 : 0xffffff7f90839636 
0xffffff91fd61b3c0 : 0xffffff7f90a7d828 
0xffffff91fd61b530 : 0xffffff7f90a7dc3a 
0xffffff91fd61b5c0 : 0xffffff7f90928186 
0xffffff91fd61b720 : 0xffffff7f90926ddf 
0xffffff91fd61b760 : 0xffffff7f90936ffa 
0xffffff91fd61b7c0 : 0xffffff7f90931337 
0xffffff91fd61b7e0 : 0xffffff7f908eed6e 
0xffffff91fd61b820 : 0xffffff7f908ede6f 
0xffffff91fd61b890 : 0xffffff7f90827441 
0xffffff91fd61b8b0 : 0xffffff7f90827ddb 
0xffffff91fd61baa0 : 0xffffff7f9082815a 
0xffffff91fd61bb40 : 0xffffff7f907d45c0 
0xffffff91fd61bbc0 : 0xffffff7f907d3df2 
0xffffff91fd61bc20 : 0xffffff7f907d574e 
0xffffff91fd61bc60 : 0xffffff7f907864f5 
0xffffff91fd61bcf0 : 0xffffff7f9077e10b 
0xffffff91fd61bd20 : 0xffffff80100946b1 
0xffffff91fd61bd70 : 0xffffff80100de2f9 
0xffffff91fd61bde0 : 0xffffff800fb977a1 
0xffffff91fd61be30 : 0xffffff800fadf283 
0xffffff91fd61be60 : 0xffffff800fac28b8 
0xffffff91fd61bea0 : 0xffffff800fad2665 
0xffffff91fd61bf10 : 0xffffff800fbb8bda 
0xffffff91fd61bfb0 : 0xffffff800fbeca96 
     Kernel Extensions in backtrace: 
    com.apple.iokit.IOGraphicsFamily(2.4.1)[172C2960-EDF5-382D-80A5-C13E97D74880]@0xffffff7f90774000->0xffffff7f907aefff 
     dependency: com.apple.iokit.IOPCIFamily(2.9)[4FE41F9B-2849-322A-BBF8-A94816C003D6]@0xffffff7f9032c000 
    com.apple.driver.AppleMuxControl(3.12.6)[44D361A1-4938-3AA5-9F73-9C909B66214B]@0xffffff7f92b64000->0xffffff7f92b77fff 
     dependency: com.apple.driver.AppleGraphicsControl(3.12.6)[1654475C-9A4B-386C-AFA8-0A530194A2F9]@0xffffff7f92b5c000 
     dependency: com.apple.iokit.IOACPIFamily(1.4)[5D7574C3-8E90-3873-BAEB-D979FC215A7D]@0xffffff7f90f7f000 
     dependency: com.apple.iokit.IOPCIFamily(2.9)[4FE41F9B-2849-322A-BBF8-A94816C003D6]@0xffffff7f9032c000 
     dependency: com.apple.iokit.IOGraphicsFamily(2.4.1)[172C2960-EDF5-382D-80A5-C13E97D74880]@0xffffff7f90774000 
     dependency: com.apple.driver.AppleBacklightExpert(1.1.0)[C49819CE-729A-36B2-9AC1-744A43DC236F]@0xffffff7f92b5f000 
    com.apple.nvidia.driver.NVDAResman(10.1)[8649777A-3EED-3F2F-8B12-FBC5517F62E6]@0xffffff7f907d2000->0xffffff7f90a4bfff 
     dependency: com.apple.iokit.IOPCIFamily(2.9)[4FE41F9B-2849-322A-BBF8-A94816C003D6]@0xffffff7f9032c000 
     dependency: com.apple.iokit.IONDRVSupport(2.4.1)[1114B99F-E439-329E-876D-1FEC4CF45DF6]@0xffffff7f907bb000 
     dependency: com.apple.iokit.IOGraphicsFamily(2.4.1)[172C2960-EDF5-382D-80A5-C13E97D74880]@0xffffff7f90774000 
     dependency: com.apple.AppleGraphicsDeviceControl(3.12.6)[F211EB28-182A-34BB-A610-87667618F925]@0xffffff7f907cb000 
    com.apple.nvidia.driver.NVDAGK100Hal(10.1)[EB8A5980-AB59-368A-8244-60A00C7A933C]@0xffffff7f90a57000->0xffffff7f90c05fff 
     dependency: com.apple.nvidia.driver.NVDAResman(10.1.0)[8649777A-3EED-3F2F-8B12-FBC5517F62E6]@0xffffff7f907d2000 
     dependency: com.apple.iokit.IOPCIFamily(2.9)[4FE41F9B-2849-322A-BBF8-A94816C003D6]@0xffffff7f9032c000 

BSD process name corresponding to current thread: WindowServer 

Mac OS version: 
15E65 

Kernel version: 
Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 
Kernel UUID: 4E7B4496-0B81-34E9-97AF-F316103B0839 
Kernel slide:  0x000000000f800000 
Kernel text base: 0xffffff800fa00000 
__HIB text base: 0xffffff800f900000 
System model name: MacBookPro10,1 (Mac-C3EC7CD22292981F) 

System uptime in nanoseconds: 8583589115 
last loaded kext at 7720294530: com.apple.driver.AGPM 110.21.18 (addr 0xffffff7f92b3c000, size 122880) 
loaded kexts: 
net.telestream.driver.TelestreamAudio 1.0.5 
com.logmein.driver.LogMeInSoundDriver 4.1.63f33 
com.apple.driver.AGPM 110.21.18 
com.apple.driver.ApplePlatformEnabler 2.6.0d0 
com.apple.driver.X86PlatformShim 1.0.0 
com.apple.driver.AppleMikeyHIDDriver 124 
com.apple.driver.AppleOSXWatchdog 1 
com.apple.driver.AppleMikeyDriver 274.7 
com.apple.driver.AudioAUUC 1.70 
com.apple.driver.AppleHDAHardwareConfigDriver 274.7 
com.apple.driver.pmtelemetry 1 
com.apple.iokit.IOUserEthernet 1.0.1 
com.apple.driver.AppleHDA 274.7 
com.apple.iokit.IOBluetoothSerialManager 4.4.4f4 
com.apple.driver.AppleUpstreamUserClient 3.6.1 
com.apple.Dont_Steal_Mac_OS_X 7.0.0 
com.apple.GeForce 10.1.0 
com.apple.driver.AppleIntelHD4000Graphics 10.1.4 
com.apple.driver.AppleSMCLMU 208 
com.apple.driver.ACPI_SMC_PlatformPlugin 1.0.0 
com.apple.driver.AppleHV 1 
com.apple.driver.AppleFIVRDriver 4.1.0 
com.apple.driver.AppleBacklight 170.8.9 
com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 4.4.4f4 
com.apple.driver.AppleSMCPDRC 1.0.0 
com.apple.driver.AppleLPC 3.1 
com.apple.driver.AppleThunderboltIP 3.0.8 
com.apple.driver.AppleMuxControl 3.12.6 
com.apple.driver.AppleIntelSlowAdaptiveClocking 4.0.0 
com.apple.driver.AppleMCCSControl 1.2.13 
com.apple.driver.AppleIntelFramebufferCapri 10.1.4 
com.apple.nvidia.NVDAStartup 10.1.0 
com.apple.driver.AppleUSBTCButtons 245.4 
com.apple.iokit.IOBluetoothUSBDFU 4.4.4f4 
com.apple.driver.AppleUSBTCKeyEventDriver 245.4 
com.apple.driver.AppleUSBTCKeyboard 245.4 
com.apple.driver.CoreStorageFsck 517.20.1 
com.apple.driver.AppleFileSystemDriver 3.0.1 
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless 1.0.0d1 
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0 
com.apple.BootCache 38 
com.apple.driver.AirPort.Brcm4331 800.20.24 
com.apple.driver.AppleSDXC 1.7.0 
com.apple.iokit.AppleBCM5701Ethernet 10.2.0 
com.apple.iokit.IOAHCIBlockStorage 2.8.5 
com.apple.driver.AirPort.Brcm4360 1040.1.1a6 
com.apple.driver.usb.AppleUSBEHCIPCI 1.0.1 
com.apple.driver.AppleAHCIPort 3.1.8 
com.apple.driver.AppleSmartBatteryManager 161.0.0 
com.apple.driver.AppleACPIButtons 4.0 
com.apple.driver.AppleRTC 2.0 
com.apple.driver.AppleHPET 1.8 
com.apple.driver.AppleSMBIOS 2.1 
com.apple.driver.AppleACPIEC 4.0 
com.apple.driver.AppleAPIC 1.7 
com.apple.driver.AppleIntelCPUPowerManagementClient 218.0.0 
com.apple.nke.applicationfirewall 163 
com.apple.security.quarantine 3 
com.apple.security.TMSafetyNet 8 
com.apple.driver.AppleIntelCPUPowerManagement 218.0.0 
com.apple.driver.DspFuncLib 274.7 
com.apple.kext.OSvKernDSPLib 525 
com.apple.iokit.IOSerialFamily 11 
com.apple.driver.CoreCaptureResponder 1 
com.apple.nvidia.driver.NVDAGK100Hal 10.1.0 
com.apple.nvidia.driver.NVDAResman 10.1.0 
com.apple.iokit.IOSurface 108.2.1 
com.apple.driver.IOPlatformPluginLegacy 1.0.0 
com.apple.iokit.IOBluetoothHostControllerUSBTransport 4.4.4f4 
com.apple.iokit.IOBluetoothFamily 4.4.4f4 
com.apple.driver.AppleHDAController 274.7 
com.apple.iokit.IOHDAFamily 274.7 
com.apple.iokit.IOAudioFamily 204.3 
com.apple.vecLib.kext 1.2.0 
com.apple.driver.AppleSMBusPCI 1.0.14d1 
com.apple.driver.AppleThunderboltEDMSink 4.1.1 
com.apple.driver.AppleThunderboltDPOutAdapter 4.1.3 
com.apple.driver.AppleBacklightExpert 1.1.0 
com.apple.driver.AppleGraphicsControl 3.12.6 
com.apple.driver.X86PlatformPlugin 1.0.0 
com.apple.driver.IOPlatformPluginFamily 6.0.0d7 
com.apple.iokit.IOSlowAdaptiveClockingFamily 1.0.0 
com.apple.iokit.IONDRVSupport 2.4.1 
com.apple.driver.AppleSMC 3.1.9 
com.apple.driver.AppleSMBusController 1.0.14d1 
com.apple.iokit.IOAcceleratorFamily2 205.3 
com.apple.AppleGraphicsDeviceControl 3.12.6 
com.apple.iokit.IOGraphicsFamily 2.4.1 
com.apple.iokit.IOSCSIArchitectureModelFamily 3.7.7 
com.apple.driver.usb.IOUSBHostHIDDevice 1.0.1 
com.apple.driver.AppleUSBMultitouch 250.5 
com.apple.iokit.IOUSBHIDDriver 900.4.1 
com.apple.driver.usb.cdc 5.0.0 
com.apple.driver.usb.networking 5.0.0 
com.apple.driver.usb.AppleUSBHostCompositeDevice 1.0.1 
com.apple.driver.usb.AppleUSBHub 1.0.1 
com.apple.driver.CoreStorage 517.20.1 
com.apple.driver.AppleThunderboltDPInAdapter 4.1.3 
com.apple.driver.AppleThunderboltDPAdapterFamily 4.1.3 
com.apple.driver.AppleThunderboltPCIDownAdapter 2.0.2 
com.apple.driver.AppleXsanScheme 3 
com.apple.driver.AppleThunderboltNHI 4.0.4 
com.apple.iokit.IOThunderboltFamily 6.0.2 
com.apple.iokit.IOEthernetAVBController 1.0.3b3 
com.apple.iokit.IO80211Family 1110.26 
com.apple.driver.mDNSOffloadUserClient 1.0.1b8 
com.apple.iokit.IONetworkingFamily 3.2 
com.apple.driver.corecapture 1.0.4 
com.apple.driver.AppleUSBMergeNub 900.4.1 
com.apple.driver.usb.AppleUSBEHCI 1.0.1 
com.apple.iokit.IOAHCIFamily 2.8.1 
com.apple.driver.usb.AppleUSBXHCIPCI 1.0.1 
com.apple.driver.usb.AppleUSBXHCI 1.0.1 
com.apple.iokit.IOUSBFamily 900.4.1 
com.apple.iokit.IOUSBHostFamily 1.0.1 
com.apple.driver.AppleUSBHostMergeProperties 1.0.1 
com.apple.driver.AppleEFINVRAM 2.0 
com.apple.driver.AppleEFIRuntime 2.0 
com.apple.iokit.IOHIDFamily 2.0.0 
com.apple.iokit.IOSMBusFamily 1.1 
com.apple.security.sandbox 300.0 
com.apple.kext.AppleMatch 1.0.0d1 
com.apple.driver.AppleKeyStore 2 
com.apple.driver.AppleMobileFileIntegrity 1.0.5 
com.apple.driver.AppleCredentialManager 1.0 
com.apple.driver.DiskImages 417.2 
com.apple.iokit.IOStorageFamily 2.1 
com.apple.iokit.IOReportFamily 31 
com.apple.driver.AppleFDEKeyStore 28.30 
com.apple.driver.AppleACPIPlatform 4.0 
com.apple.iokit.IOPCIFamily 2.9 
com.apple.iokit.IOACPIFamily 1.4 
com.apple.kec.pthread 1 
com.apple.kec.corecrypto 1.0 
com.apple.kec.Libm 1 
Model: MacBookPro10,1, BootROM MBP101.00EE.B0A, 4 processors, Intel Core i7, 2.7 GHz, 16 GB, SMC 2.3f36 
Graphics: Intel HD Graphics 4000, Intel HD Graphics 4000, Built-In 
Graphics: NVIDIA GeForce GT 650M, NVIDIA GeForce GT 650M, PCIe, 1024 MB 
Memory Module: BANK 0/DIMM0, 8 GB, DDR3, 1600 MHz, 0x80AD,  0x484D5434314753364D465238432D50422020 
Memory Module: BANK 1/DIMM0, 8 GB, DDR3, 1600 MHz, 0x80AD, 0x484D5434314753364D465238432D50422020 
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0xEF), Broadcom BCM43xx 1.0 (7.21.95.175.1a6) 
Bluetooth: Version 4.4.4f4 17685, 3 services, 27 devices, 1 incoming serial ports 
Network Service: AirPort, AirPort, en0 
Serial ATA Device: APPLE SSD SD512E, 500.28 GB 
USB Device: USB 2.0 Bus 
USB Device: Hub 
USB Device: FaceTime HD Camera (Built-in) 
USB Device: USB 2.0 Bus 
USB Device: Hub 
USB Device: Hub 
USB Device: Apple Internal Keyboard/Trackpad 
USB Device: BRCM20702 Hub 
USB Device: Bluetooth USB Host Controller 
USB Device: USB 3.0 Bus 
Thunderbolt Bus: MacBook Pro, Apple Inc., 23.4 
+0

Sie müssen OpenCL-Kernel so entwerfen, dass sie in der Größenordnung von Millisekunden oder mindestens einer Sekunde ausgeführt werden. Irgendetwas länger und dein Grafiksystem hängt. Unter Windows nach 8 Sekunden beendet das Betriebssystem Ihre Arbeit und setzt die GPU zurück. – Dithermaster

+0

Hey, danke für die Antwort. Ja, es wird für 100k-Strahlen bei etwa 0,1s ausgeführt. Der Absturz scheint zu geschehen, nachdem die Kernel-App auch oft geschlossen wurde. –

+0

Zum Beispiel gerade jetzt; neu gestartet und begann mit Sketchup und dann Boom, schwarzer Bildschirm des Schicksals, nach dem Zufallsprinzip. Könnte der opencl Kernel die GPU auffüllen und nicht beim App Exit löschen? Zwischen Neustarts auch? : - / –

Antwort

0

Also nach viel Überprüfung, ist nichts falsch mit meinem Opencl-Code.

Das Problem scheint zu sein, dass die GPU eine Art von Hitzedrosselung hat; wenn es 55 Grad Celsius erreicht, schaltet es sich aus, Boom. Geh Apple.

Durch das Herunterladen von smcFanControl und gfxCardStatus, Drehen der Lüfter auf Vollgas und Behalten der Temperatur habe ich die Panics auf ein erträgliches/überschaubares Ereignis reduziert.

Nicht großartig, aber vielleicht brauche ich einen besseren Laptop.