It did at one point :smile: CUBLAS used to to use `cublasInit` to set up a single handle internally used by all other CUBLAS functions. I created an `autoinit` module to call this function (and a similar one provided by CULA) upon import; I didn't import `pycuda.autoinit` to give folks the flexibility to initialize pycuda on a specific GPU in the event that more than one is available. Although the legacy CUBLAS API is still available, I decided to stop supporting it because of the increased flexibility the newer API provides with respect to creating specific handles. I'll therefore remove `cublasInit` and update `autoinit` to create the global CUBLAS handle via `misc.init` (and clean it up properly on exit).

I would prefer that the high-level functions in `linalg` that use CUBLAS create the global handle if it doesn't exist and no existing handle is specified rather than create another layer of wrappers above those in the `cublas` module (which essentially amounts to recreating the old CUBLAS interface in Python). I'll update them accordingly.