* @brief Creates a synchro that executes some computation of an host.
*
* This function creates a SURF action and allocates the data necessary
* @brief Creates a synchro that executes some computation of an host.
*
* This function creates a SURF action and allocates the data necessary
* @param host host where the synchro will be executed
* @return A new SIMIX execution synchronization
*/
* @param host host where the synchro will be executed
* @return A new SIMIX execution synchronization
*/
- xbt_assert(std::isfinite(flops_amount[i]), "flops_amount[%d] is not finite!", i);
+ if (flops_amount != nullptr)
+ xbt_assert(std::isfinite(flops_amount[i]), "flops_amount[%d] is not finite!", i);
if (bytes_amount != nullptr) {
for (int j = 0 ; j < host_nb ; ++j) {
xbt_assert(std::isfinite(bytes_amount[i + host_nb * j]),
if (bytes_amount != nullptr) {
for (int j = 0 ; j < host_nb ; ++j) {
xbt_assert(std::isfinite(bytes_amount[i + host_nb * j]),
return;
XBT_DEBUG("Set kill time %f for process %s@%s", kill_time, process->get_cname(), process->host_->get_cname());
process->kill_timer = SIMIX_timer_set(kill_time, [process] {
return;
XBT_DEBUG("Set kill time %f for process %s@%s", kill_time, process->get_cname(), process->host_->get_cname());
process->kill_timer = SIMIX_timer_set(kill_time, [process] {
* @brief Creates a new sleep SIMIX synchro.
*
* This function creates a SURF action and allocates the data necessary
* @brief Creates a new sleep SIMIX synchro.
*
* This function creates a SURF action and allocates the data necessary
* host crashed. The default SIMIX name of the synchro is "sleep".
*
* @param duration Time duration of the sleep.
* host crashed. The default SIMIX name of the synchro is "sleep".
*
* @param duration Time duration of the sleep.