|
@@ -368,6 +368,8 @@ int starpu_conf_init(struct starpu_conf *conf)
|
|
|
|
|
|
conf->single_combined_worker = starpu_get_env_number("STARPU_SINGLE_COMBINED_WORKER");
|
|
|
|
|
|
+ conf->disable_asynchronous_copy = starpu_get_env_number("STARPU_DISABLE_ASYNCHRONOUS_COPY");
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -444,6 +446,16 @@ int starpu_init(struct starpu_conf *user_conf)
|
|
|
* initialization */
|
|
|
config.user_conf = user_conf;
|
|
|
|
|
|
+ if (user_conf)
|
|
|
+ {
|
|
|
+ config.disable_asynchronous_copy = (user_conf->disable_asynchronous_copy == 1);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ int disable_asynchronous_copy = starpu_get_env_number("STARPU_DISABLE_ASYNCHRONOUS_COPY");
|
|
|
+ config.disable_asynchronous_copy = (disable_asynchronous_copy == 1);
|
|
|
+ }
|
|
|
+
|
|
|
ret = _starpu_build_topology(&config);
|
|
|
if (ret)
|
|
|
{
|
|
@@ -689,6 +701,11 @@ unsigned starpu_spu_worker_get_count(void)
|
|
|
return config.topology.ngordon_spus;
|
|
|
}
|
|
|
|
|
|
+int starpu_disable_asynchronous_copy()
|
|
|
+{
|
|
|
+ return config.disable_asynchronous_copy;
|
|
|
+}
|
|
|
+
|
|
|
/* When analyzing performance, it is useful to see what is the processing unit
|
|
|
* that actually performed the task. This function returns the id of the
|
|
|
* processing unit actually executing it, therefore it makes no sense to use it
|