   int AsyncEngineCount, devID;
   check_error( cudaGetDevice(&devID), CUBLAS_STATUS_EXECUTION_FAILED);
   check_error( cudaDeviceGetAttribute(&AsyncEngineCount, cudaDevAttrAsyncEngineCount, devID), CUBLAS_STATUS_EXECUTION_FAILED);
-  bool DO_INLINE_BOUT = AsyncEngineCount > 1;
-  
-  check_error( cudaMalloc( (void**)&Ad, (Am*An)*sizeof(T) ), CUBLAS_STATUS_EXECUTION_FAILED);
-  check_error( cudaMalloc( (void**)&Bd, (Bm*Bn)*sizeof(T) ), CUBLAS_STATUS_EXECUTION_FAILED);
+  bool DO_INLINE_BOUT = 0 &&AsyncEngineCount > 1;
+  
+  check_error( cudaMalloc( (void**)&d_A, (Am*An)*sizeof(T) ), CUBLAS_STATUS_EXECUTION_FAILED);
+  check_error( cudaMalloc( (void**)&d_B, (Bm*Bn)*sizeof(T) ), CUBLAS_STATUS_EXECUTION_FAILED);
 
   //setup streams
   cudaStream_t inStream, outStream;

    cudaStream_t compStream;
    check_error( cublasGetStream_v2(handle, &compStream), CUBLAS_STATUS_INTERNAL_ERROR);
    check_error( cudaStreamSynchronize( compStream ), CUBLAS_STATUS_INTERNAL_ERROR);
    check_error( status = cublasGetMatrixAsync( m, n, sizeof(T), Bd, incB, Bc, incB, inStream), status);
  }
  //revoke streams
  check_error( cudaStreamDestroy( inStream ), CUBLAS_STATUS_INTERNAL_ERROR);
  if(DO_INLINE_BOUT)
    check_error( cudaStreamDestroy( outStream ), CUBLAS_STATUS_INTERNAL_ERROR);
  //free device memory
  check_error( cudaFree( Ad ), CUBLAS_STATUS_INTERNAL_ERROR );
  check_error( cudaFree( Bd ), CUBLAS_STATUS_INTERNAL_ERROR );  
  return CUBLAS_STATUS_SUCCESS;
}


                          cublasOperation_t trans, cublasDiagType_t diag,
                          int m, int n,
                          const T *alpha,
                          const T *h_A, int incA, T* d_A, 
                                T *h_B, int incB, T* d_B, bool BIsIn, bool getBOut)
{
  T one = make_one<T>();
  cublasStatus_t status;
  cudaEvent_t eDataIn, eComp;
  check_error( cudaEventCreateWithFlags(&eDataIn, cudaEventDisableTiming), CUBLAS_STATUS_EXECUTION_FAILED);
  check_error( cudaEventCreateWithFlags(&eComp, cudaEventDisableTiming), CUBLAS_STATUS_EXECUTION_FAILED);
  cudaStream_t strComp;
  check_error( cublasGetStream_v2(handle, &strComp), CUBLAS_STATUS_INTERNAL_ERROR);
