Просмотр исходного кода

Clean ram pointer of handles when freeing an interface, notably useful with NULL data registration

Samuel Thibault лет назад: 10
Родитель
Сommit
03f5b6f62a
1 измененных файлов с 3 добавлено и 0 удалено
  1. 3 0
      src/datawizard/memalloc.c

+ 3 - 0
src/datawizard/memalloc.c

@@ -354,6 +354,9 @@ static size_t free_memory_on_node(struct _starpu_mem_chunk *mc, unsigned node)
 			data_interface = mc->chunk_interface;
 			data_interface = mc->chunk_interface;
 		STARPU_ASSERT(data_interface);
 		STARPU_ASSERT(data_interface);
 
 
+		if (handle && node == STARPU_MAIN_RAM)
+			_starpu_data_unregister_ram_pointer(handle);
+
 		_STARPU_TRACE_START_FREE(node, mc->size);
 		_STARPU_TRACE_START_FREE(node, mc->size);
 		mc->ops->free_data_on_node(data_interface, node);
 		mc->ops->free_data_on_node(data_interface, node);
 		_STARPU_TRACE_END_FREE(node);
 		_STARPU_TRACE_END_FREE(node);