浏览代码

simgrid: Cope with sg_host_send_to being deprecated

Samuel Thibault 5 年之前
父节点
当前提交
12b65412a9
共有 2 个文件被更改,包括 12 次插入7 次删除
  1. 1 1
      configure.ac
  2. 11 6
      src/core/simgrid.c

+ 1 - 1
configure.ac

@@ -199,7 +199,7 @@ if test x$enable_simgrid = xyes ; then
 	AC_CHECK_FUNCS([xbt_mutex_try_acquire smpi_process_set_user_data SMPI_thread_create sg_zone_get_by_name sg_link_name sg_host_route sg_host_self sg_host_speed simcall_process_create sg_config_continue_after_help])
 	AC_CHECK_FUNCS([simgrid_init], [AC_DEFINE([STARPU_SIMGRID_HAVE_SIMGRID_INIT], [1], [Define to 1 if you have the `simgrid_init' function.])])
 	AC_CHECK_FUNCS([xbt_barrier_init], [AC_DEFINE([STARPU_SIMGRID_HAVE_XBT_BARRIER_INIT], [1], [Define to 1 if you have the `xbt_barrier_init' function.])])
-	AC_CHECK_FUNCS([sg_actor_sleep_for sg_actor_self sg_actor_ref sg_host_get_properties sg_host_send_to sg_cfg_set_int sg_actor_self_execute simgrid_get_clock])
+	AC_CHECK_FUNCS([sg_actor_sleep_for sg_actor_self sg_actor_ref sg_host_get_properties sg_host_send_to sg_host_sendto sg_cfg_set_int sg_actor_self_execute simgrid_get_clock])
 	AC_CHECK_DECLS([smpi_process_set_user_data], [], [], [[#include <smpi/smpi.h>]])
 
 	# Oldies for compatibility with older simgrid

+ 11 - 6
src/core/simgrid.c

@@ -743,7 +743,7 @@ void _starpu_simgrid_submit_job(int workerid, struct _starpu_job *j, struct star
 
 /* Note: simgrid is not parallel, so there is no need to hold locks for management of transfers.  */
 LIST_TYPE(transfer,
-#ifdef HAVE_SG_HOST_SEND_TO
+#if defined(HAVE_SG_HOST_SEND_TO) || defined(HAVE_SG_HOST_SENDTO)
 	size_t size;
 #else
 	msg_task_t task;
@@ -876,15 +876,20 @@ static void *transfer_execute(void *arg)
 		if (t->last_transfer == transfer)
 			t->last_transfer = NULL;
 
-#ifdef HAVE_SG_HOST_SEND_TO
+#if defined(HAVE_SG_HOST_SEND_TO) || defined(HAVE_SG_HOST_SENDTO)
 		if (transfer->size)
 #else
 		if (transfer->task)
 #endif
 		{
 			_STARPU_DEBUG("transfer %p started\n", transfer);
-#ifdef HAVE_SG_HOST_SEND_TO
-			sg_host_send_to(_starpu_simgrid_memory_node_get_host(transfer->src_node),
+#if defined(HAVE_SG_HOST_SEND_TO) || defined(HAVE_SG_HOST_SENDTO)
+#ifdef HAVE_SG_HOST_SENDTO
+			sg_host_sendto
+#else
+			sg_host_send_to
+#endif
+				(_starpu_simgrid_memory_node_get_host(transfer->src_node),
 					_starpu_simgrid_memory_node_get_host(transfer->dst_node),
 					transfer->size);
 #else
@@ -985,7 +990,7 @@ static void _starpu_simgrid_wait_transfers(void)
 	struct transfer *sync = transfer_new();
 	struct transfer *cur;
 
-#ifdef HAVE_SG_HOST_SEND_TO
+#if defined(HAVE_SG_HOST_SEND_TO) || defined(HAVE_SG_HOST_SENDTO)
 	sync->size = 0;
 #else
 	sync->task = NULL;
@@ -1053,7 +1058,7 @@ int _starpu_simgrid_transfer(size_t size, unsigned src_node, unsigned dst_node,
 
 	_STARPU_DEBUG("creating transfer %p for %lu bytes\n", transfer, (unsigned long) size);
 
-#ifdef HAVE_SG_HOST_SEND_TO
+#if defined(HAVE_SG_HOST_SEND_TO) || defined(HAVE_SG_HOST_SENDTO)
 	transfer->size = size;
 #else
 	msg_task_t task;