- TRACE_smpi_computing_in(my_proc_id, args.flops);
- smpi_execute_flops(args.flops);
- TRACE_smpi_computing_out(my_proc_id);
+ if (smpi_cfg_simulate_computation()) {
+ smpi_execute_flops(args.flops/smpi_adjust_comp_speed());
+ }
+}
+
+void SleepAction::kernel(simgrid::xbt::ReplayAction&)
+{
+ XBT_DEBUG("Sleep for: %lf secs", args.time);
+ int rank = simgrid::s4u::this_actor::get_pid();
+ TRACE_smpi_sleeping_in(rank, args.time);
+ simgrid::s4u::this_actor::sleep_for(args.time/smpi_adjust_comp_speed());
+ TRACE_smpi_sleeping_out(rank);
+}
+
+void LocationAction::kernel(simgrid::xbt::ReplayAction&)
+{
+ smpi_trace_set_call_location(args.filename.c_str(), args.line);