   return CUBLAS_STATUS_SUCCESS;
 }
 
-/*/==============================================================================================
+//==============================================================================================
 template<class T>
 cublasStatus_t kblasXtrmm(cublasHandle_t handle, cudaStream_t &strIn, cudaStream_t &strOut,
                           cublasSideMode_t side, cublasFillMode_t uplo,

  check_error( cudaEventDestroy( eAin ), CUBLAS_STATUS_INTERNAL_ERROR);
  check_error( cudaEventDestroy( eComp ), CUBLAS_STATUS_INTERNAL_ERROR);
  return CUBLAS_STATUS_SUCCESS;
}*/


//==============================================================================================
template<class T>
cublasStatus_t kblasXtrmm(cublasHandle_t handle, cudaStream_t &strIn, cudaStream_t &strOut,
                          cublasSideMode_t side, cublasFillMode_t uplo,

  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);
