Skip to content

Commit 29ddffc

Browse files
committed
slightly improve the log info
1 parent ac0866d commit 29ddffc

3 files changed

Lines changed: 45 additions & 34 deletions

File tree

CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,6 @@ endif()
8484
# GPU-resident Lanczos (fused kernels + NCCL) is required for GPU Lanczos paths.
8585
set(CHASE_ENABLE_GPU_RESIDENT_LANCZOS ON)
8686

87-
if(NOT CMAKE_BUILD_TYPE STREQUAL "Release")
88-
message(WARNING "For prodution, please consider CMAKE_BUILD_TYPE to be Release or RelWithDebInfo")
89-
endif()
90-
9187
if( CHASE_OUTPUT )
9288
target_compile_definitions( chase_algorithm INTERFACE "-DCHASE_OUTPUT" )
9389
endif()

algorithm/algorithm.inc

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2047,7 +2047,7 @@ void Algorithm<T>::solve_pseudo(ChaseBase<T>* single)
20472047
#ifdef CHASE_OUTPUT
20482048
{
20492049
std::ostringstream oss;
2050-
oss << "[QR-HANG-TRACE][solve_pseudo] before QR: iter=" << iteration
2050+
oss << "[QR-TRACE][solve_pseudo] before QR: iter=" << iteration
20512051
<< " locked=" << locked
20522052
<< " unconverged=" << unconverged
20532053
<< " cond=" << std::scientific << std::setprecision(6) << cond
@@ -2062,7 +2062,7 @@ void Algorithm<T>::solve_pseudo(ChaseBase<T>* single)
20622062
#ifdef CHASE_OUTPUT
20632063
{
20642064
std::ostringstream oss;
2065-
oss << "[QR-HANG-TRACE][solve_pseudo] after QR: iter=" << iteration
2065+
oss << "[QR-TRACE][solve_pseudo] after QR: iter=" << iteration
20662066
<< " locked=" << locked
20672067
<< " unconverged=" << unconverged
20682068
<< '\n';
@@ -2083,19 +2083,27 @@ void Algorithm<T>::solve_pseudo(ChaseBase<T>* single)
20832083
#ifdef CHASE_OUTPUT
20842084
{
20852085
// Residual table at Info level
2086-
std::ostringstream oss_res;
2087-
oss_res << "unconverged = " << "\t" << unconverged << "\t"
2088-
<< "new_converged" << "\t" << prev_new_converged << "\n";
2089-
oss_res << "index\tdegrees\tresid\tresidLast\tritzv\n";
2090-
2091-
for (std::size_t i = 0; i < unconverged; ++i)
2086+
auto level = config.GetLogLevel();
2087+
if (!(level == LogLevel::Warn || level == LogLevel::Error))
20922088
{
2093-
oss_res << index[i] << "\t" << degrees[index[i]] << "\t"
2094-
<< resid[index[i]] << "\t" << residLast[i] << "\t"
2095-
<< ritzv[index[i]] << "\n";
2096-
}
2089+
std::size_t max_to_print =
2090+
(level == LogLevel::Debug || level == LogLevel::Trace)
2091+
? unconverged
2092+
: std::min<std::size_t>(20, unconverged);
2093+
2094+
std::ostringstream oss_res;
2095+
oss_res << "unconverged = " << "\t" << unconverged << "\t"
2096+
<< "new_converged" << "\t" << prev_new_converged << "\n";
2097+
oss_res << "index\tdegrees\tresid\tresidLast\tritzv\n";
20972098

2098-
single->Output(LogLevel::Info, oss_res.str(), "algorithm");
2099+
for (std::size_t i = 0; i < max_to_print; ++i)
2100+
{
2101+
oss_res << index[i] << "\t" << degrees[index[i]] << "\t"
2102+
<< resid[index[i]] << "\t" << residLast[i] << "\t"
2103+
<< ritzv[index[i]] << "\n";
2104+
}
2105+
single->Output(level, oss_res.str(), "algorithm");
2106+
}
20992107

21002108
// Symmetry check at Debug level
21012109
std::ostringstream oss_sym;
@@ -2105,6 +2113,7 @@ void Algorithm<T>::solve_pseudo(ChaseBase<T>* single)
21052113
<< "\n";
21062114

21072115
single->Output(LogLevel::Debug, oss_sym.str(), "algorithm");
2116+
21082117
}
21092118
#endif
21102119
std::iota(index_temp.begin(), index_temp.begin() + unconverged, 0);

interface/chase_c_interface.cpp

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -468,22 +468,25 @@ void ChASE_SEQ_Solve(int* deg,
468468
chase::Base<T>* ritzv = single->GetRitzv();
469469
chase::Base<T>* resid = single->GetResid();
470470
#ifdef CHASE_OUTPUT
471-
performanceDecorator.GetPerfData().print();
472-
std::cout << "\n\n";
473-
std::cout << "Printing first 5 eigenvalues and residuals\n";
474-
std::cout << "| Index | Eigenvalue | Residual |\n"
475-
<< "|-------|-----------------------|-----------------------|"
476-
"\n";
471+
if (chase::GetLogger().GetLevel() >= chase::LogLevel::Info)
472+
{
473+
performanceDecorator.GetPerfData().print();
474+
}
475+
476+
std::ostringstream oss;
477+
oss << "\n\nPrinting first 20 eigenvalues and residuals\n"
478+
<< "| Index | Eigenvalue | Residual |\n"
479+
<< "|-------|-----------------------|-----------------------|\n";
477480
std::size_t width = 20;
478-
std::cout << std::setprecision(12);
479-
std::cout << std::setfill(' ');
480-
std::cout << std::scientific;
481-
std::cout << std::right;
482-
for (auto i = 0; i < std::min(single->GetNev(), std::size_t(5)); ++i)
483-
std::cout << "| " << std::setw(4) << i + 1 << " | " << std::setw(width)
484-
<< ritzv[i] << " | " << std::setw(width) << resid[i]
485-
<< " |\n";
486-
std::cout << "\n\n\n";
481+
oss << std::setprecision(12) << std::setfill(' ') << std::scientific
482+
<< std::right;
483+
for (auto i = 0; i < std::min(single->GetNev(), std::size_t(20)); ++i)
484+
oss << "| " << std::setw(4) << i + 1 << " | " << std::setw(width)
485+
<< ritzv[i] << " | " << std::setw(width) << resid[i]
486+
<< " |\n";
487+
oss << "\n\n\n";
488+
chase::GetLogger().Log(chase::LogLevel::Info, "interface", oss.str(),
489+
single->get_rank());
487490
#endif
488491
}
489492

@@ -1894,7 +1897,10 @@ void ChASE_DIST<MatrixType>::Solve(
18941897
#ifdef CHASE_OUTPUT
18951898
if (single->get_rank() == 0)
18961899
{
1897-
performanceDecorator.GetPerfData().print();
1900+
if (chase::GetLogger().GetLevel() >= chase::LogLevel::Info)
1901+
{
1902+
performanceDecorator.GetPerfData().print();
1903+
}
18981904

18991905
std::ostringstream oss;
19001906
oss << "\n\nPrinting first 20 eigenvalues and residuals\n"
@@ -1908,7 +1914,7 @@ void ChASE_DIST<MatrixType>::Solve(
19081914
<< ritzv[i] << " | " << std::setw(width) << resid[i]
19091915
<< " |\n";
19101916
oss << "\n\n\n";
1911-
chase::GetLogger().Log(chase::LogLevel::Debug, "interface", oss.str(),
1917+
chase::GetLogger().Log(chase::LogLevel::Info, "interface", oss.str(),
19121918
single->get_rank());
19131919
}
19141920
#endif

0 commit comments

Comments
 (0)