|
@@ -54,8 +54,14 @@ int _starpu_memory_manager_init()
|
|
|
|
|
|
void _starpu_memory_manager_set_global_memory_size(unsigned node, size_t size)
|
|
|
{
|
|
|
- global_size[node] = size;
|
|
|
- _STARPU_DEBUG("Global size for node %d is %ld\n", node, (long)global_size[node]);
|
|
|
+ STARPU_PTHREAD_MUTEX_LOCK(&lock_nodes[node]);
|
|
|
+ if (!global_size[node]) {
|
|
|
+ global_size[node] = size;
|
|
|
+ _STARPU_DEBUG("Global size for node %d is %ld\n", node, (long)global_size[node]);
|
|
|
+ } else {
|
|
|
+ STARPU_ASSERT(global_size[node] == size);
|
|
|
+ }
|
|
|
+ STARPU_PTHREAD_MUTEX_UNLOCK(&lock_nodes[node]);
|
|
|
}
|
|
|
|
|
|
size_t _starpu_memory_manager_get_global_memory_size(unsigned node)
|