                                       (const void*)&h_dgemm_beta_one,
                                       darg,cuda_task->tens_cudesc[0],cumod_d,
                                       darg,cuda_task->tens_cudesc[0],cumod_d,
-                                      CUTENSOR_OP_IDENTITY,CUDA_R_64F,CUTENSOR_ALGO_DEFAULT,NULL,(uint64_t)0,*cuda_stream);
+                                      CUTENSOR_OP_IDENTITY,CUDA_R_64F,CUTENSOR_ALGO_DEFAULT,
+                                      cutensor_workspace[gpu_num],(uint64_t)cutensor_worksize[gpu_num],
+                                      *cuda_stream);
      if(cuda_task->pref_ptr == &h_dgemm_beta_one) cuda_task->pref_ptr=NULL;
 #else
      err_cublas=cublasDgemm(cublas_handle[gpu_num],left_conj,right_conj,(int)ll,(int)lr,(int)lc,

                                      (const void*)&h_zgemm_beta_one,
                                      darg,cuda_task->tens_cudesc[0],cumod_d,
                                      darg,cuda_task->tens_cudesc[0],cumod_d,
                                      CUTENSOR_OP_IDENTITY,CUDA_C_64F,CUTENSOR_ALGO_DEFAULT,NULL,(uint64_t)0,*cuda_stream);
     if(cuda_task->pref_ptr == &h_zgemm_beta_one) cuda_task->pref_ptr=NULL;
#else
     if(conj_r){

                                      (const void*)&h_sgemm_beta_one,
                                      darg,cuda_task->tens_cudesc[0],cumod_d,
                                      darg,cuda_task->tens_cudesc[0],cumod_d,
                                      CUTENSOR_OP_IDENTITY,CUDA_R_32F,CUTENSOR_ALGO_DEFAULT,
                                      cutensor_workspace[gpu_num],(uint64_t)cutensor_worksize[gpu_num],
                                      *cuda_stream);
     if(cuda_task->pref_ptr == &h_sgemm_beta_one) cuda_task->pref_ptr=NULL;
#else
     err_cublas=cublasSgemm(cublas_handle[gpu_num],left_conj,right_conj,(int)ll,(int)lr,(int)lc,
