code: func (ctx *CUContext) Destroy() error {
  	err := result(C.cuCtxDestroy(ctx.ctx))
  	*ctx = CUContext{}
  	return err
  }
docs: // Destroy destroys the context. It returns an error if it wasn't properly destroyed
  //
  // Wrapper over cuCtxDestroy: http://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__CTX.html#group__CUDA__CTX_1g27a365aebb0eb548166309f58a1e8b8e