Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Reduce depth of nested statements
[simgrid.git] / src / surf / host_clm03.cpp
index 3a7b01299a944464584d292cee44f14c35d02f54..0005ed40b6110640e73c390f15c16fcd70b9eecd 100644 (file)
@@ -1,4 +1,4 @@
-/* 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. */
@@ -9,6 +9,7 @@
 
 #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);
@@ -32,14 +33,12 @@ void surf_host_model_init_compound()
   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*/)
 {
   /* nothing specific to be done here
-   * surf_solve already calls all the models next_occurring_event properly */
+   * EngineImpl::solve already calls all the models next_occurring_event properly */
   return -1.0;
 }
 
@@ -94,6 +93,11 @@ Action* HostCLM03Model::execute_parallel(const std::vector<s4u::Host*>& host_lis
   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