diff --git a/source/source_base/module_container/ATen/kernels/cuda/lapack.cu b/source/source_base/module_container/ATen/kernels/cuda/lapack.cu index 6300df953f..32188c3e8b 100644 --- a/source/source_base/module_container/ATen/kernels/cuda/lapack.cu +++ b/source/source_base/module_container/ATen/kernels/cuda/lapack.cu @@ -70,8 +70,10 @@ struct lapack_trtri { { // TODO: trtri is not implemented in this method yet // Cause the trtri in cuSolver is not stable for ABACUS! - //cuSolverConnector::trtri(cusolver_handle, uplo, diag, dim, Mat, lda); - cuSolverConnector::potri(cusolver_handle, uplo, diag, dim, Mat, lda); + // But why?! trtri and potri are different routines for different job! + // How can BPCG work without using a proper routine? + cuSolverConnector::trtri(cusolver_handle, uplo, diag, dim, Mat, lda); + // cuSolverConnector::potri(cusolver_handle, uplo, diag, dim, Mat, lda); } }; @@ -201,4 +203,4 @@ template struct lapack_getrs, DEVICE_GPU>; template struct lapack_getrs, DEVICE_GPU>; } // namespace kernels -} // namespace container \ No newline at end of file +} // namespace container diff --git a/tests/16_SDFT_GPU/187_PW_SDFT_MALL_BPCG_GPU/result.ref b/tests/16_SDFT_GPU/187_PW_SDFT_MALL_BPCG_GPU/result.ref index 077de5b358..cd6c5029d4 100644 --- a/tests/16_SDFT_GPU/187_PW_SDFT_MALL_BPCG_GPU/result.ref +++ b/tests/16_SDFT_GPU/187_PW_SDFT_MALL_BPCG_GPU/result.ref @@ -1,5 +1,5 @@ -etotref -96.9361190965003630 -etotperatomref -48.4680595483 -totalforceref 248.979444 -totalstressref 230453.604050 +etotref -96.9361125708192191 +etotperatomref -48.4680562854 +totalforceref 248.979476 +totalstressref 230453.662470 totaltimeref 6.44