X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ee63a4fbf0d79259eb0e1e7c5b7053f4b99c7a75..48efae676c3604efffe21365b2d525e578fd22e5:/src/msg/msg_task.cpp diff --git a/src/msg/msg_task.cpp b/src/msg/msg_task.cpp index 8c3a95f0c3..a3b6d203ee 100644 --- a/src/msg/msg_task.cpp +++ b/src/msg/msg_task.cpp @@ -102,40 +102,6 @@ msg_task_t MSG_parallel_task_create(const char *name, int host_nb, const msg_hos return task; } -/*************** Begin GPU ***************/ -/** \ingroup m_task_management - * \brief Creates a new #msg_gpu_task_t. - - * A constructor for #msg_gpu_task_t taking four arguments and returning a pointer to the new created GPU task. - - * \param name a name for the object. It is for user-level information and can be NULL. - * \param flops_amount a value of the processing amount (in flop)needed to process this new task. If 0, then it cannot - * be executed with MSG_gpu_task_execute(). This value has to be >=0. - * \param dispatch_latency time in seconds to load this task on the GPU - * \param collect_latency time in seconds to transfer result from the GPU back to the CPU (host) when done - - * \see msg_gpu_task_t - * \return The new corresponding object. - */ -msg_gpu_task_t MSG_gpu_task_create(const char *name, double flops_amount, double dispatch_latency, - double collect_latency) -{ - msg_gpu_task_t task = xbt_new(s_msg_gpu_task_t, 1); - simdata_gpu_task_t simdata = xbt_new(s_simdata_gpu_task_t, 1); - task->simdata = simdata; - /* Task structure */ - task->name = xbt_strdup(name); - - /* Simulator Data */ - simdata->flops_amount = flops_amount; - simdata->dispatch_latency = dispatch_latency; - simdata->collect_latency = collect_latency; - - /* TRACE_msg_gpu_task_create(task); FIXME*/ - return task; -} -/*************** End GPU ***************/ - /** \ingroup m_task_management * \brief Return the user data of a #msg_task_t. * @@ -230,7 +196,6 @@ void MSG_task_set_name(msg_task_t task, const char *name) */ msg_error_t MSG_task_destroy(msg_task_t task) { - smx_synchro_t action = NULL; xbt_assert((task != NULL), "Invalid parameter"); if (task->simdata->isused) { @@ -241,9 +206,8 @@ msg_error_t MSG_task_destroy(msg_task_t task) xbt_free(task->name); - action = task->simdata->compute; - if (action) - simcall_execution_destroy(action); + if (task->simdata->compute) + task->simdata->compute->unref(); /* parallel tasks only */ xbt_free(task->simdata->host_list); @@ -286,7 +250,7 @@ msg_error_t MSG_task_cancel(msg_task_t task) */ double MSG_task_get_flops_amount(msg_task_t task) { if (task->simdata->compute) { - return simcall_execution_get_remains(task->simdata->compute); + return task->simdata->compute->remains(); } else { return task->simdata->flops_amount; } @@ -321,22 +285,9 @@ void MSG_task_set_bytes_amount(msg_task_t task, double data_size) */ double MSG_task_get_remaining_communication(msg_task_t task) { - xbt_assert((task != NULL) && (task->simdata != NULL), "Invalid parameter"); XBT_DEBUG("calling simcall_communication_get_remains(%p)", task->simdata->comm); - return simcall_comm_get_remains(task->simdata->comm); -} - -#ifdef HAVE_LATENCY_BOUND_TRACKING -/** \ingroup m_task_management - * \brief Return 1 if communication task is limited by latency, 0 otherwise - */ -int MSG_task_is_latency_bounded(msg_task_t task) -{ - xbt_assert((task != NULL) && (task->simdata != NULL), "Invalid parameter"); - XBT_DEBUG("calling simcall_communication_is_latency_bounded(%p)", task->simdata->comm); - return simcall_comm_is_latency_bounded(task->simdata->comm); + return task->simdata->comm->remains(); } -#endif /** \ingroup m_task_management * \brief Returns the size of the data attached to a task #msg_task_t. @@ -436,8 +387,8 @@ void MSG_task_set_affinity(msg_task_t task, msg_host_t host, unsigned long mask) } { - smx_synchro_t compute = task->simdata->compute; - msg_host_t host_now = compute->execution.host; // simix_private.h is necessary + simgrid::simix::Exec *compute = task->simdata->compute; + msg_host_t host_now = compute->host; // simix_private.h is necessary if (host_now != host) { /* task is not yet executed on this host */ XBT_INFO("set affinity(0x%04lx@%s) for %s (not active now)", mask, MSG_host_get_name(host),