Okay.  Well, ``cutlas.cublasInit()`` does not exist, so something needs to change here anyway:-).

What exactly is the point of ``autoinit``?  Should it not import ``pycuda.autoinit``?

The more I think about it, the more I think that a ``blas`` module between ``cublas`` and ``linalg`` is the way to go.  Each of these ``blas`` functions should allow an optional ``handle`` argument, but if not provided, should then get it from a method that will initialize the handle if it has not been done.

If you think this is a good idea, open an enhancement issue so we can discuss that further and I will draft a proposal.