On Mon, 1 Aug 2011 09:28:03 -0700, "Eli Stevens (Gmail)" <[email protected]> wrote: > On Mon, Aug 1, 2011 at 8:30 AM, Andreas Kloeckner > <[email protected]> wrote: > > What it likely means to say is that your kernel caused a segmentation > > fault. Check the output of 'dmesg'. If it says something like 'Nv Xid > > 13' (from memory, may be wrong--the 13 is what says 'segfault', I > > think), then that's what it is. Have you tried chopping your kernel down > > to almost-nothing? Bisected? > > As it turns out, chopping it down was part of the issue - I was > passing in too many arguments to the kernel from the python side. :( > Would it be possible to improve the error reporting for these kinds of > errors, or is this something that's baked into the CUDA libraries? > I'd be willing to at least try my hand at a patch, if you think it's > possible.
This is hard, since PyCUDA doesn't (and shouldn't) attempt to parse the kernel source code. But that's the only way to find out what the number of arguments should be. Therefore, the CUDA libraries are the only spot where it's sensible to do that reporting, and they actually can't, either, since they treat the arguments passed to the function as a binary blob. More generally, error reporting in CUDA is often very poor. I try to do my best to improve on it in PyCUDA, but often I can't do much, since only CUDA "knows" what the real issue is. Andreas
pgpf9S90pZ7yz.pgp
Description: PGP signature
_______________________________________________ PyCUDA mailing list [email protected] http://lists.tiker.net/listinfo/pycuda
