Skip to content

Commit

Permalink
remove executor from logger, deprecate constructor
Browse files Browse the repository at this point in the history
  • Loading branch information
upsj committed Jun 20, 2022
1 parent b3b3b04 commit 0622251
Show file tree
Hide file tree
Showing 28 changed files with 304 additions and 191 deletions.
4 changes: 2 additions & 2 deletions benchmark/preconditioner/preconditioner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ void run_preconditioner(const char* precond_name,
auto precond = precond_factory.at(precond_name)(exec);

auto gen_logger =
std::make_shared<OperationLogger>(exec, FLAGS_nested_names);
std::make_shared<OperationLogger>(FLAGS_nested_names);
exec->add_logger(gen_logger);
std::unique_ptr<gko::LinOp> precond_op;
for (auto i = 0u; i < ic_gen.get_num_repetitions(); ++i) {
Expand All @@ -211,7 +211,7 @@ void run_preconditioner(const char* precond_name,
allocator, ic_gen.get_num_repetitions());

auto apply_logger =
std::make_shared<OperationLogger>(exec, FLAGS_nested_names);
std::make_shared<OperationLogger>(FLAGS_nested_names);
exec->add_logger(apply_logger);
for (auto i = 0u; i < ic_apply.get_num_repetitions(); ++i) {
precond_op->apply(lend(b), lend(x_clone));
Expand Down
9 changes: 4 additions & 5 deletions benchmark/solver/solver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -423,7 +423,7 @@ void solve_system(const std::string& solver_name,
auto x_clone = clone(x);

auto gen_logger =
std::make_shared<OperationLogger>(exec, FLAGS_nested_names);
std::make_shared<OperationLogger>(FLAGS_nested_names);
exec->add_logger(gen_logger);

auto precond = precond_factory.at(precond_name)(exec);
Expand All @@ -446,7 +446,7 @@ void solve_system(const std::string& solver_name,
}

auto apply_logger =
std::make_shared<OperationLogger>(exec, FLAGS_nested_names);
std::make_shared<OperationLogger>(FLAGS_nested_names);
exec->add_logger(apply_logger);

solver->apply(lend(b), lend(x_clone));
Expand All @@ -459,8 +459,7 @@ void solve_system(const std::string& solver_name,
if (b->get_size()[1] == 1) {
x_clone = clone(x);
auto res_logger = std::make_shared<ResidualLogger<etype>>(
exec, lend(system_matrix), b,
solver_json["recurrent_residuals"],
lend(system_matrix), b, solver_json["recurrent_residuals"],
solver_json["true_residuals"],
solver_json["implicit_residuals"],
solver_json["iteration_timestamps"], allocator);
Expand All @@ -474,7 +473,7 @@ void solve_system(const std::string& solver_name,
}

// timed run
auto it_logger = std::make_shared<IterationLogger>(exec);
auto it_logger = std::make_shared<IterationLogger>();
auto generate_timer = get_timer(exec, FLAGS_gpu_timer);
auto apply_timer = ic.get_timer();
auto x_clone = clone(x);
Expand Down
2 changes: 1 addition & 1 deletion benchmark/spmv/spmv.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ void apply_spmv(const char* format_name, std::shared_ptr<gko::Executor> exec,
add_or_set_member(spmv_case, format_name,
rapidjson::Value(rapidjson::kObjectType), allocator);

auto storage_logger = std::make_shared<StorageLogger>(exec);
auto storage_logger = std::make_shared<StorageLogger>();
exec->add_logger(storage_logger);
auto system_matrix =
share(formats::matrix_factory.at(format_name)(exec, data));
Expand Down
17 changes: 5 additions & 12 deletions benchmark/utils/loggers.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,7 @@ struct OperationLogger : gko::log::Logger {
}
}

OperationLogger(std::shared_ptr<const gko::Executor> exec, bool nested_name)
: gko::log::Logger(exec), use_nested_name{nested_name}
{}
OperationLogger(bool nested_name) : use_nested_name{nested_name} {}

private:
void start_operation(const gko::Executor* exec,
Expand Down Expand Up @@ -188,10 +186,6 @@ struct StorageLogger : gko::log::Logger {
add_or_set_member(output, "storage", total, allocator);
}

StorageLogger(std::shared_ptr<const gko::Executor> exec)
: gko::log::Logger(exec)
{}

private:
mutable std::mutex mutex;
mutable std::unordered_map<gko::uintptr, gko::size_type> storage;
Expand Down Expand Up @@ -249,14 +243,13 @@ struct ResidualLogger : gko::log::Logger {
}
}

ResidualLogger(std::shared_ptr<const gko::Executor> exec,
const gko::LinOp* matrix, const vec<ValueType>* b,
ResidualLogger(const gko::LinOp* matrix, const vec<ValueType>* b,
rapidjson::Value& rec_res_norms,
rapidjson::Value& true_res_norms,
rapidjson::Value& implicit_res_norms,
rapidjson::Value& timestamps,
rapidjson::MemoryPoolAllocator<>& alloc)
: gko::log::Logger(exec, gko::log::Logger::iteration_complete_mask),
: gko::log::Logger(gko::log::Logger::iteration_complete_mask),
matrix{matrix},
b{b},
start{std::chrono::steady_clock::now()},
Expand Down Expand Up @@ -293,8 +286,8 @@ struct IterationLogger : gko::log::Logger {
this->num_iters = num_iterations;
}

IterationLogger(std::shared_ptr<const gko::Executor> exec)
: gko::log::Logger(exec, gko::log::Logger::iteration_complete_mask)
IterationLogger()
: gko::log::Logger(gko::log::Logger::iteration_complete_mask)
{}

void write_data(rapidjson::Value& output,
Expand Down
9 changes: 4 additions & 5 deletions core/test/base/executor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -652,10 +652,9 @@ TEST(ExecutorDeleter, AvoidsDeletionForNullExecutor)


struct DummyLogger : public gko::log::Logger {
DummyLogger(std::shared_ptr<const gko::Executor> exec)
: gko::log::Logger(std::move(exec),
gko::log::Logger::executor_events_mask |
gko::log::Logger::operation_events_mask)
DummyLogger()
: gko::log::Logger(gko::log::Logger::executor_events_mask |
gko::log::Logger::operation_events_mask)
{}

void on_allocation_started(const gko::Executor* exec,
Expand Down Expand Up @@ -729,7 +728,7 @@ class ExecutorLogging : public ::testing::Test {
protected:
ExecutorLogging()
: exec(gko::ReferenceExecutor::create()),
logger(std::make_shared<DummyLogger>(exec))
logger(std::make_shared<DummyLogger>())
{
exec->add_logger(logger);
}
Expand Down
11 changes: 5 additions & 6 deletions core/test/base/lin_op.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,9 @@ namespace {


struct DummyLogger : gko::log::Logger {
DummyLogger(std::shared_ptr<const gko::Executor> exec)
: gko::log::Logger(std::move(exec),
gko::log::Logger::linop_events_mask |
gko::log::Logger::linop_factory_events_mask)
DummyLogger()
: gko::log::Logger(gko::log::Logger::linop_events_mask |
gko::log::Logger::linop_factory_events_mask)
{}

void on_linop_apply_started(const gko::LinOp*, const gko::LinOp*,
Expand Down Expand Up @@ -155,7 +154,7 @@ class EnableLinOp : public ::testing::Test {
beta{DummyLinOp::create(ref, gko::dim<2>{1})},
b{DummyLinOp::create(ref, gko::dim<2>{5, 4})},
x{DummyLinOp::create(ref, gko::dim<2>{3, 4})},
logger{std::make_shared<DummyLogger>(ref)}
logger{std::make_shared<DummyLogger>()}
{
op->add_logger(logger);
}
Expand Down Expand Up @@ -374,7 +373,7 @@ class EnableLinOpFactory : public ::testing::Test {
protected:
EnableLinOpFactory()
: ref{gko::ReferenceExecutor::create()},
logger{std::make_shared<DummyLogger>(ref)}
logger{std::make_shared<DummyLogger>()}
{}

std::shared_ptr<const gko::ReferenceExecutor> ref;
Expand Down
7 changes: 3 additions & 4 deletions core/test/base/polymorphic_object.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,8 @@ struct DummyObject : gko::EnablePolymorphicObject<DummyObject>,


struct DummyLogger : gko::log::Logger {
DummyLogger(std::shared_ptr<const gko::Executor> exec)
: gko::log::Logger(std::move(exec),
gko::log::Logger::polymorphic_object_events_mask)
DummyLogger()
: gko::log::Logger(gko::log::Logger::polymorphic_object_events_mask)
{}

void on_polymorphic_object_create_started(
Expand Down Expand Up @@ -146,7 +145,7 @@ class EnablePolymorphicObject : public testing::Test {
gko::ReferenceExecutor::create()};
std::shared_ptr<gko::OmpExecutor> omp{gko::OmpExecutor::create()};
std::unique_ptr<DummyObject> obj{new DummyObject(ref, 5)};
std::shared_ptr<DummyLogger> logger{std::make_shared<DummyLogger>(ref)};
std::shared_ptr<DummyLogger> logger{std::make_shared<DummyLogger>()};

void SetUp() override
{
Expand Down
2 changes: 1 addition & 1 deletion core/test/log/convergence.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ TYPED_TEST(Convergence, CanGetData)
{
auto exec = gko::ReferenceExecutor::create();
auto logger = gko::log::Convergence<TypeParam>::create(
exec, gko::log::Logger::iteration_complete_mask);
gko::log::Logger::iteration_complete_mask);

ASSERT_EQ(logger->has_converged(), false);
ASSERT_EQ(logger->get_num_iterations(), 0);
Expand Down
38 changes: 18 additions & 20 deletions core/test/log/logger.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@ TEST(DummyLogged, CanAddLogger)
auto exec = gko::ReferenceExecutor::create();
DummyLoggedClass c;

c.add_logger(gko::log::Convergence<>::create(
exec, gko::log::Logger::all_events_mask));
c.add_logger(
gko::log::Convergence<>::create(gko::log::Logger::all_events_mask));

ASSERT_EQ(c.get_num_loggers(), 1);
}
Expand All @@ -78,10 +78,10 @@ TEST(DummyLogged, CanAddMultipleLoggers)
auto exec = gko::ReferenceExecutor::create();
DummyLoggedClass c;

c.add_logger(gko::log::Convergence<>::create(
exec, gko::log::Logger::all_events_mask));
c.add_logger(gko::log::Stream<>::create(
exec, gko::log::Logger::all_events_mask, std::cout));
c.add_logger(
gko::log::Convergence<>::create(gko::log::Logger::all_events_mask));
c.add_logger(gko::log::Stream<>::create(gko::log::Logger::all_events_mask,
std::cout));

ASSERT_EQ(c.get_num_loggers(), 2);
}
Expand All @@ -92,10 +92,10 @@ TEST(DummyLogged, CanAccessLoggers)
auto exec = gko::ReferenceExecutor::create();
DummyLoggedClass c;

auto logger1 = gko::share(
gko::log::Record::create(exec, gko::log::Logger::all_events_mask));
auto logger1 =
gko::share(gko::log::Record::create(gko::log::Logger::all_events_mask));
auto logger2 = gko::share(gko::log::Stream<>::create(
exec, gko::log::Logger::all_events_mask, std::cout));
gko::log::Logger::all_events_mask, std::cout));

c.add_logger(logger1);
c.add_logger(logger2);
Expand All @@ -110,10 +110,9 @@ TEST(DummyLogged, CanClearLoggers)
{
auto exec = gko::ReferenceExecutor::create();
DummyLoggedClass c;
c.add_logger(
gko::log::Record::create(exec, gko::log::Logger::all_events_mask));
c.add_logger(gko::log::Stream<>::create(
exec, gko::log::Logger::all_events_mask, std::cout));
c.add_logger(gko::log::Record::create(gko::log::Logger::all_events_mask));
c.add_logger(gko::log::Stream<>::create(gko::log::Logger::all_events_mask,
std::cout));

c.clear_loggers();

Expand All @@ -125,11 +124,11 @@ TEST(DummyLogged, CanRemoveLogger)
{
auto exec = gko::ReferenceExecutor::create();
DummyLoggedClass c;
auto r = gko::share(gko::log::Convergence<>::create(
exec, gko::log::Logger::all_events_mask));
auto r = gko::share(
gko::log::Convergence<>::create(gko::log::Logger::all_events_mask));
c.add_logger(r);
c.add_logger(gko::log::Stream<>::create(
exec, gko::log::Logger::all_events_mask, std::cout));
c.add_logger(gko::log::Stream<>::create(gko::log::Logger::all_events_mask,
std::cout));

c.remove_logger(gko::lend(r));

Expand All @@ -140,9 +139,8 @@ struct DummyLogger : gko::log::Logger {
using Logger = gko::log::Logger;

explicit DummyLogger(
std::shared_ptr<const gko::Executor> exec,
const mask_type& enabled_events = Logger::all_events_mask)
: Logger(exec, enabled_events)
: Logger(enabled_events)
{}

void on_iteration_complete(
Expand All @@ -161,7 +159,7 @@ TEST(DummyLogged, CanLogEvents)
{
auto exec = gko::ReferenceExecutor::create();
auto l = std::shared_ptr<DummyLogger>(
new DummyLogger(exec, gko::log::Logger::iteration_complete_mask));
new DummyLogger(gko::log::Logger::iteration_complete_mask));
DummyLoggedClass c;
c.add_logger(l);

Expand Down
Loading

0 comments on commit 0622251

Please sign in to comment.