Matthew Goodman reported (below) that PyCuda fails with CUDA 2.1 because nv
made a whitespace change in the cubin files they write. First of all, a change
like that shouldn't be able to take PyCuda down, so I've made sure that even
if metadata extraction fails, PyCuda doesn't throw weird-looking exceptions.
Next, I've fixed the actual bug along the lines of what Matt suggests. Since
this bug may turn people away from PyCuda unnecessarily, I've released 0.91.1.
On Mittwoch 26 November 2008, Matt G wrote:
I found a silly little bug you might wanna know
Some nvcc builds generate "cubin" files that your regex fails to account
reg = 4
(two spaces b/t 'reg' and '=' causes the:
self.registers = int(re.search("reg = ([0-9]+)", cubin).group(1))
to return a None and thusly crash ungracefully. Adding a strategic + to
the regex seems to fix things:
self.registers = int(re.search("reg += ([0-9]+)", cubin).group(1))
I attached my "cubin" file so you can take a looksee.
Thanks for the awesome tools.
I am gonna be taking on some big CFD chores only possible by your help!
Copyright (c) 2005-2007 NVIDIA Corporation
Built on Fri_Nov__7_06:20:13_PST_2008
Cuda compilation tools, release 2.1, V0.2.1221
NVIDIA 260 GTX