-/* Copyright (c) 2013-2021. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2013-2022. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
#include "simgrid/sg_config.hpp"
#include "src/kernel/EngineImpl.hpp"
+#include "src/kernel/resource/NetworkModel.hpp"
#include "src/surf/host_clm03.hpp"
XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(res_host);
engine->get_netzone_root()->set_host_model(host_model);
}
-namespace simgrid {
-namespace kernel {
-namespace resource {
+namespace simgrid::kernel::resource {
double HostCLM03Model::next_occurring_event(double /*now*/)
{
return action;
}
-} // namespace resource
-} // namespace kernel
-} // namespace simgrid
+Action* HostCLM03Model::execute_thread(const s4u::Host* host, double flops_amount, int thread_count)
+{
+ auto cpu = host->get_cpu();
+ /* Create a single action whose cost is thread_count * flops_amount and that requests thread_count cores. */
+ return cpu->execution_start(thread_count * flops_amount, thread_count, -1);
+}
+
+} // namespace simgrid::kernel::resource