[PyCuda] Why are Function.lmem, Function.smem, and Function.registers deprecated?

Andreas Klöckner lists at informa.tiker.net
Tue May 19 16:10:34 PDT 2009


On Dienstag 19 Mai 2009, Bryan Catanzaro wrote:
> I was browsing the documentation and saw the note that
> pycuda.driver.Function.registers, etc. are deprecated and will be
> removed in PyCuda 0.94.  That makes me a little sad, as that
> information is very useful to one of the projects I'm working on.  The
> implication in the documentation is that this is Cuda 2.2's fault.
> But I'm a little confused as to why - the .cubin files produced by my
> nvcc 2.2 compiler still have that information, so I must be missing
> something important here...  What changed to make these useful
> attributes deprecated?

No, it's different--things are getting better, not worse! :)

CUDA 2.2 introduces an official API to find these values:
http://is.gd/Bscw

So, if you're running 0.93 against 2.2, you'll get a deprecation warning for 
using .registers etc. The goal is to keep with the Zen of Python:

There should be one-- and preferably only one --obvious way to do it.

Since CUDA 2.2 brought us a second way, the first one gets deprecated. If this 
meets enough resistance, I guess I could be convinced to keep .registers et al 
around. I'd rather not though. On 2.2, all .registers does now is call the new 
API anyway.

I've added a note to the docs about what the "new way" is.

Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.tiker.net/pipermail/pycuda/attachments/20090519/b39da242/attachment-0001.pgp>


More information about the PyCUDA mailing list