-----BEGIN PGP SIGNED MESSAGE-----
On 09/10/2012 15:36, Andreas Kloeckner wrote:
First off, why are you making a new CUBLAS wrapper instead of
making scikits.cuda better?
I did look at -- and originally use -- the scikits.cuda wrapper.
However the wrapper only exposes the legacy v1 interface to CUBLAS.
(Although, for reasons I do not completely understand, will use the
_v2 interface it is is available but tries to shoehorn a v1 style
wrapper around it. Given that the v1 interface is still available in
the .so this seems strange to me.) Hence, the wrapper provides no
support for the device-pointer mode of v2.
I did consider improving it however my attempts to contact the
developer resulted in an e-mail bounce.
Second, as an answer to your question: pycuda.autoinit is by no
means a required part of PyCUDA. Just do your own initialization
(and also initialize PyCUDA), and tell your users to call your init
instead of PyCUDA's.
It is, however, necessary to pop() the context before program
termination, no? As this is, to an extent, my issue. Currently one
option, potentially, is to create a wrapper class which takes care of
calling self._ctx.pop() in __del__ and takes care of creating the
context on __init__. I can then retain an handle to this in my CUBLAS
class so ensure that it will be kept around. (Although am yet to work
out the details so my idea is possibly flawed).
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.18 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/
-----END PGP SIGNATURE-----