[Nouveau] NV50 compute support questions
Hi Samual, et al, In http://cgit.freedesktop.org/mesa/mesa/commit/src/gallium/drivers/nouveau?id=ff72440b40211326eda118232fabd53965410afd you write: "This compute support has been tested by Pierre Moreau and myself with some compute kernels." Can you provide testing instructions (and the necessary files) so that I can try to reproduce your tests ? And once I've reproduced your tests, the next question is where / how did you get the compute kernels for testing. I guess you manually wrote them ? As you know I'm working on a llvm tgsi backend, it actually produces some output now, if you want to take a peek it lives here: http://cgit.freedesktop.org/~jwrdegoede/llvm Before working further on this I want to take a bottom up approach, so I want to first make sure we've working TGSI -> compute-kernel and compute-kernel -> hardware steps. So the next question is, do you know if we can go from (manually written) TGSI to a compute-kernel using say nouveau-compiler ? And if not, do you know what is missing to do this? Thanks & Regards, Hans ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
Re: [Nouveau] NV50 compute support questions
Hello Hans, IIRC, Samuel wrote the kernel directly in assembly by hand. As for me, I manually wrote the SPIR-V binary for the kernel, hacked clover to use it as if it had been produced by the regular LLVM path, and then fed it into the WIP SPIR-V to NV50 IR translator. I can send the instructions on how to get it working later today. (Some more comments below) > On 20 Nov 2015, at 11:36, Hans de Goede wrote: > > Hi Samual, et al, > > In > http://cgit.freedesktop.org/mesa/mesa/commit/src/gallium/drivers/nouveau?id=ff72440b40211326eda118232fabd53965410afd > you write: "This compute support has been tested by > Pierre Moreau and myself with some compute kernels." > > Can you provide testing instructions (and the > necessary files) so that I can try to reproduce > your tests ? > > And once I've reproduced your tests, the next > question is where / how did you get the compute > kernels for testing. I guess you manually wrote them ? > > As you know I'm working on a llvm tgsi backend, > it actually produces some output now, if you want > to take a peek it lives here: > http://cgit.freedesktop.org/~jwrdegoede/llvm > > Before working further on this I want to take > a bottom up approach, so I want to first make > sure we've working TGSI -> compute-kernel and > compute-kernel -> hardware steps. So the next > question is, do you know if we can go from > (manually written) TGSI to a compute-kernel > using say nouveau-compiler ? IIRC, it should be possible… but I'll have a look at it this evening. Regards, Pierre > > And if not, do you know what is missing to do > this? > > Thanks & Regards, > > Hans ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
Re: [Nouveau] NV50 compute support questions
On 11/20/2015 11:36 AM, Hans de Goede wrote: Hi Samual, et al, Hi Hans, In http://cgit.freedesktop.org/mesa/mesa/commit/src/gallium/drivers/nouveau?id=ff72440b40211326eda118232fabd53965410afd you write: "This compute support has been tested by Pierre Moreau and myself with some compute kernels." Can you provide testing instructions (and the necessary files) so that I can try to reproduce your tests ? And once I've reproduced your tests, the next question is where / how did you get the compute kernels for testing. I guess you manually wrote them ? Yeah, I wrote those compute kernels directly in assembly by hand. I already said few days ago, you have some examples in src/gallium/tests/trivial/compute.c which show how to use that compute support stuff with TGSI kernels and without clover. Because clover is not currently able to do OpenCL -> TGSI using Clang/LLVM, you can't really use your backend directly. An other way to achieve what you need is to copy/paste your TGSI kernel in src/gallium/tests/trivial/compute.c, set up the global buffers and other stuff (maybe samplers, textures and so on) yourself. This is a bit painful but should work as expected. As you know I'm working on a llvm tgsi backend, it actually produces some output now, if you want to take a peek it lives here: http://cgit.freedesktop.org/~jwrdegoede/llvm I'm currently building your TGSI branch. :-) Before working further on this I want to take a bottom up approach, so I want to first make sure we've working TGSI -> compute-kernel and compute-kernel -> hardware steps. So the next question is, do you know if we can go from (manually written) TGSI to a compute-kernel using say nouveau-compiler ? Sure, you can use nouveau-compiler to convert TGSI to NV50 IR, but as I said, you can't directly execute your compute kernel without setting a ton of stuff before... That's a bunch of fun! :-) Btw, do you still need compute support on your GK208? or did you have an other card for testing ? And if not, do you know what is missing to do this? Thanks & Regards, Hans ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
Re: [Nouveau] NV50 compute support questions
Hi, On 20-11-15 17:07, Samuel Pitoiset wrote: On 11/20/2015 11:36 AM, Hans de Goede wrote: Hi Samual, et al, Hi Hans, In http://cgit.freedesktop.org/mesa/mesa/commit/src/gallium/drivers/nouveau?id=ff72440b40211326eda118232fabd53965410afd you write: "This compute support has been tested by Pierre Moreau and myself with some compute kernels." Can you provide testing instructions (and the necessary files) so that I can try to reproduce your tests ? And once I've reproduced your tests, the next question is where / how did you get the compute kernels for testing. I guess you manually wrote them ? Yeah, I wrote those compute kernels directly in assembly by hand. I already said few days ago, you have some examples in src/gallium/tests/trivial/compute.c which show how to use that compute support stuff with TGSI kernels and without clover. Ah, right. Ok I'll take a look at those. Because clover is not currently able to do OpenCL -> TGSI using Clang/LLVM, you can't really use your backend directly. I know I'm fine with manually copying TGSI output by llc for my first tests. I've the feeling I need to understand how inputs to / outputs from the TGSI code are handled better before I can do further work on the llvm TGSI backend. An other way to achieve what you need is to copy/paste your TGSI kernel in src/gallium/tests/trivial/compute.c, set up the global buffers and other stuff (maybe samplers, textures and so on) yourself. This is a bit painful but should work as expected. As you know I'm working on a llvm tgsi backend, it actually produces some output now, if you want to take a peek it lives here: http://cgit.freedesktop.org/~jwrdegoede/llvm I'm currently building your TGSI branch. :-) Cool, note this is very very preliminary. This really is just curro's work ported to the latest llvm trunk without me having added anything (yet). Before working further on this I want to take a bottom up approach, so I want to first make sure we've working TGSI -> compute-kernel and compute-kernel -> hardware steps. So the next question is, do you know if we can go from (manually written) TGSI to a compute-kernel using say nouveau-compiler ? Sure, you can use nouveau-compiler to convert TGSI to NV50 IR, but as I said, you can't directly execute your compute kernel without setting a ton of stuff before... That's a bunch of fun! :-) Btw, do you still need compute support on your GK208? or did you have an other card for testing ? No I've a GT 610 / GF119 card now (still need to plug it in). Regards, Hans ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 91738] [NV117] NULL deref in nvkm_i2c_try_acquire_pad, kernel 4.1
https://bugs.freedesktop.org/show_bug.cgi?id=91738 ryanpcmcquen changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #23 from ryanpcmcquen --- This appears to be fixed in the Nov 19 version of nouveau (git commit 6e6d8ac). -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 71659] [NVD9] Hangs under load with ![ PFIFO][0000:01:00.0] unhandled status 0x00800000
https://bugs.freedesktop.org/show_bug.cgi?id=71659 --- Comment #27 from Viorel-Cătălin Răpițeanu --- I'm having the same problem on a Dell Latitude e6420 having an NVIDIA Corporation GF119M [NVS 4200M] GPU with the following software installed: xf86-video-nouveau 1.0.11+31+g1ff13a9-1 mesa 11.0.5-1 xorg-server 1.18.0-3 The error I'm getting on dmesg is the following: [ 215.375729] nouveau E[ PFIFO][:01:00.0] INTR 0x0080 I've attached the complete Xorg log under the name "Xorg-21-11-15.log". -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 71659] [NVD9] Hangs under load with ![ PFIFO][0000:01:00.0] unhandled status 0x00800000
https://bugs.freedesktop.org/show_bug.cgi?id=71659 --- Comment #28 from Viorel-Cătălin Răpițeanu --- Created attachment 120001 --> https://bugs.freedesktop.org/attachment.cgi?id=120001&action=edit Xorg-21-11-15 - Nouveau Xorg failure -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 91738] [NV117] NULL deref in nvkm_i2c_try_acquire_pad, kernel 4.1
https://bugs.freedesktop.org/show_bug.cgi?id=91738 ryanpcmcquen changed: What|Removed |Added Status|RESOLVED|VERIFIED --- Comment #24 from ryanpcmcquen --- I spoke too soon, the issue seems absent with the latest nouveau driver on Linux 4.2.x+, but still exists on 4.1.x. I now have Xorg 1.18.0 if that makes any difference. -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 91738] [NV117] NULL deref in nvkm_i2c_try_acquire_pad, kernel 4.1
https://bugs.freedesktop.org/show_bug.cgi?id=91738 ryanpcmcquen changed: What|Removed |Added Status|VERIFIED|REOPENED Resolution|FIXED |--- Ever confirmed|0 |1 -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 92971] [GF110] KDE plasma locks randomly due to crash of nouveau driver
https://bugs.freedesktop.org/show_bug.cgi?id=92971 --- Comment #8 from Philippe Condé --- Hello, I desactivated kscreenlocker which resolve the reactivate problem. But the problem of corrupt screen when starting different programs remains and is worst since the last zypper dup. I found this error still related to nouveau when the two screen got corrupted ov 20 22:37:07 hpprol2 kernel: audit: type=1105 audit(1448055427.213:154): pid=2624 uid=1000 auid=1000 ses=1 msg='op=PAM:session_open grantors=pam_limits,pam_unix,pam_umask,pam_systemd,pam_gnome_keyring,pam_ Nov 20 22:39:12 hpprol2 kernel: nouveau :0a:00.0: fifo: PBDMA0: 8000 [] ch 30 [007e6ab000 kwin_x11[2097]] subc 0 mthd data Nov 20 22:39:12 hpprol2 kernel: nouveau :0a:00.0: fifo: PBDMA0: 8004 [] ch 30 [007e6ab000 kwin_x11[2097]] subc 0 mthd data Nov 20 22:39:12 hpprol2 kernel: nouveau :0a:00.0: fifo: PBDMA0: 8000 [] ch 30 [007e6ab000 kwin_x11[2097]] subc 0 mthd data Nov 20 22:39:12 hpprol2 kernel: nouveau :0a:00.0: fifo: read fault at 00 engine 07 [PFIFO] client 06 [PFIFO] reason 00 [PT_NOT_PRESENT] on channel 30 [007e6ab000 kwin_x11[2097]] Nov 20 22:39:12 hpprol2 kernel: nouveau :0a:00.0: fifo: fifo engine fault on channel 30, recovering... during each boot i see two error messages related to edac (at the end) Nov 20 22:58:07 hpprol2 kernel: EDAC MC: Ver: 3.0.0 Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3ca0 Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3ca0 Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3ca8 Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3ca8 Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3c71 Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3c71 Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3caa Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3caa Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3cab Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3cab Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3cac Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3cac Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3cad Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3cad Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3cb8 Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3cb8 Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3cf4 Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3cf4 Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3cf6 Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3cf6 Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3cf5 Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Seeking for: PCI ID 8086:3cf5 Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Some needed devices are missing Nov 20 22:58:07 hpprol2 kernel: EDAC sbridge: Couldn't find mci handler when the screens are corrupted I can still go to a console (VIA CTRL-ALT-F1) and if I start top I see that the plasmeshell is running at 100% and also Xorg. trying to kill plasmashell d lock the graphic screens in the kdm.log I have a lot of these errors nouveau: kernel rejected pushbuf: Device or resource busy nouveau: ch0: krec 0 pushes 1 bufs 2 relocs 0 nouveau: ch0: buf 0004 0004 0004 nouveau: ch0: buf 0001 001c 0002 0002 nouveau: ch0: psh 006a04 006a84 nouveau:0x20056080 nouveau:0x00cf nouveau:0x nouveau:0x0040 nouveau:0x0001 nouveau:0x nouveau:0x20046086 nouveau:0x0774 nouveau:0x040d nouveau:0x nouveau:0x06a2 nouveau:0x200460a0 nouveau:0x nouveau:0x nouveau:0x0774 nouveau:0x040d nouveau:0x200160ab nouveau:0x0003 nouveau:0x20036160 nouveau:0x0004 nouveau:0x00cf nouveau:0x00d6d2d0 nouveau:0x20046180 nouveau:0x0657 nouveau:0x0026 nouveau:0x0658 nouveau:0x003d nouveau:0x20046180 nouveau:0x013f nouveau:0x003d nouveau:0x0658 nouveau:0x003e nouveau: kernel rejected pushbuf: Device or resource busy nouveau: ch0: krec 0 pushes 1 bufs 2 relocs 0 nouveau: ch0: buf 0004 0004 0004 nouveau: ch0: buf 0001 001c 0002 0002 nouveau: ch0: psh 006a84 006af0 nouveau:0x20056080 nouveau:0x00cf nouveau: