ソースを参照

do not enable counting GPUs with old simgrid: SD_route_get_list seems to be crashing with old versions

Samuel Thibault 8 年 前
コミット
c7e5f06c7a
共有2 個のファイルを変更した3 個の追加11 個の削除を含む
  1. 1 1
      configure.ac
  2. 2 10
      src/core/simgrid.c

+ 1 - 1
configure.ac

@@ -1105,7 +1105,7 @@ if test x$enable_simgrid = xyes ; then
 		]
 	)
 	AC_CHECK_HEADERS([simgrid/msg.h], [AC_DEFINE([STARPU_HAVE_SIMGRID_MSG_H], [1], [Define to 1 if you have msg.h in simgrid/.])])
-   	AC_CHECK_FUNCS([MSG_process_join MSG_process_attach MSG_get_as_by_name MSG_environment_get_routing_root MSG_host_get_speed xbt_mutex_try_acquire smpi_process_set_user_data SD_link_get_name surf_network_link_get_name sg_link_name])
+   	AC_CHECK_FUNCS([MSG_process_join MSG_process_attach MSG_get_as_by_name MSG_environment_get_routing_root MSG_host_get_speed xbt_mutex_try_acquire smpi_process_set_user_data sg_link_name])
 	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_DECLS([smpi_process_set_user_data], [], [], [[#include <smpi/smpi.h>]])
 	AC_CHECK_FUNCS([SIMIX_process_get_code], [AC_DEFINE([STARPU_SIMGRID_HAVE_SIMIX_PROCESS_GET_CODE], [1], [Define to 1 if you have the `SIMIX_process_get_code' function.])])

+ 2 - 10
src/core/simgrid.c

@@ -706,6 +706,7 @@ _starpu_simgrid_get_memnode_host(unsigned node)
 
 void _starpu_simgrid_count_ngpus(void)
 {
+#if defined(HAVE_SG_LINK_NAME) && SIMGRID_VERSION_MAJOR >= 4 || (SIMGRID_VERSION_MAJOR == 3 && SIMGRID_VERSION_MINOR >= 13)
 	unsigned src, dst;
 	msg_host_t ramhost = _starpu_simgrid_get_host_by_name("RAM");
 
@@ -733,16 +734,6 @@ void _starpu_simgrid_count_ngpus(void)
 			routesize = SD_route_get_size(srchost, dsthost);
 			route = SD_route_get_list(srchost, dsthost);
 
-#ifndef HAVE_SG_LINK_NAME
-#ifdef HAVE_SD_LINK_GET_NAME
-/* Simgrid 3.11 name */
-#define sg_link_name(link) SD_link_get_name(link)
-#endif
-#ifdef HAVE_SURF_NETWORK_LINK_GET_NAME
-/* Simgrid 3.11+something name */
-#define sg_link_name(link) surf_network_link_get_name(link)
-#endif
-#endif
 			/* If it goes through "Host", do not care, there is no
 			 * direct transfer support */
 			for (i = 0; i < routesize; i++)
@@ -794,5 +785,6 @@ void _starpu_simgrid_count_ngpus(void)
 			_STARPU_DEBUG("%d->%d through %s, %u GPUs\n", src, dst, name, ngpus);
 			starpu_bus_set_ngpus(busid, ngpus);
 		}
+#endif
 }
 #endif