|
@@ -1217,20 +1217,30 @@ int starpu_data_interface_get_next_id(void)
|
|
|
return _data_interface_number-1;
|
|
|
}
|
|
|
|
|
|
-int starpu_data_pack(starpu_data_handle_t handle, void **ptr, starpu_ssize_t *count)
|
|
|
+int starpu_data_pack_node(starpu_data_handle_t handle, unsigned node, void **ptr, starpu_ssize_t *count)
|
|
|
{
|
|
|
STARPU_ASSERT_MSG(handle->ops->pack_data, "The datatype interface %s (%d) does not have a pack operation", handle->ops->name, handle->ops->interfaceid);
|
|
|
- return handle->ops->pack_data(handle, starpu_worker_get_local_memory_node(), ptr, count);
|
|
|
+ return handle->ops->pack_data(handle, node, ptr, count);
|
|
|
}
|
|
|
|
|
|
-int starpu_data_unpack(starpu_data_handle_t handle, void *ptr, size_t count)
|
|
|
+int starpu_data_pack(starpu_data_handle_t handle, void **ptr, starpu_ssize_t *count)
|
|
|
+{
|
|
|
+ return starpu_data_pack_node(handle, starpu_worker_get_local_memory_node(), ptr, count);
|
|
|
+}
|
|
|
+
|
|
|
+int starpu_data_unpack_node(starpu_data_handle_t handle, unsigned node, void *ptr, size_t count)
|
|
|
{
|
|
|
STARPU_ASSERT_MSG(handle->ops->unpack_data, "The datatype interface %s (%d) does not have an unpack operation", handle->ops->name, handle->ops->interfaceid);
|
|
|
int ret;
|
|
|
- ret = handle->ops->unpack_data(handle, starpu_worker_get_local_memory_node(), ptr, count);
|
|
|
+ ret = handle->ops->unpack_data(handle, node, ptr, count);
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
+int starpu_data_unpack(starpu_data_handle_t handle, void *ptr, size_t count)
|
|
|
+{
|
|
|
+ return starpu_data_unpack_node(handle, starpu_worker_get_local_memory_node(), ptr, count);
|
|
|
+}
|
|
|
+
|
|
|
size_t starpu_data_get_size(starpu_data_handle_t handle)
|
|
|
{
|
|
|
return handle->ops->get_size(handle);
|