Преглед на файлове

Inline new functions for managing memoy nodes

Corentin Salingue преди 8 години
родител
ревизия
1361c43dbd
променени са 4 файла, в които са добавени 11 реда и са изтрити 8 реда
  1. 1 7
      src/datawizard/datawizard.c
  2. 0 1
      src/datawizard/datawizard.h
  3. 2 0
      src/datawizard/memory_nodes.c
  4. 8 0
      src/datawizard/memory_nodes.h

+ 1 - 7
src/datawizard/datawizard.c

@@ -19,14 +19,13 @@
 #include <common/config.h>
 #include <datawizard/datawizard.h>
 #include <datawizard/memalloc.h>
+#include <datawizard/memory_nodes.h>
 #include <core/workers.h>
 #include <core/progress_hook.h>
 #ifdef STARPU_SIMGRID
 #include <core/simgrid.h>
 #endif
 
-static char worker_drives_memory[STARPU_NMAXWORKERS][STARPU_MAXNODES];
-
 int ___starpu_datawizard_progress(unsigned memory_node, unsigned may_alloc, unsigned push_requests)
 {
 	int ret = 0;
@@ -85,8 +84,3 @@ void _starpu_datawizard_progress(unsigned may_alloc)
 {
 	__starpu_datawizard_progress(may_alloc, 1);
 }
-
-void _starpu_worker_drives_memory_node(unsigned worker_id, unsigned memnode)
-{
-    worker_drives_memory[worker_id][memnode] = 1;   
-}

+ 0 - 1
src/datawizard/datawizard.h

@@ -36,6 +36,5 @@
 int ___starpu_datawizard_progress(unsigned memory_node, unsigned may_alloc, unsigned push_requests);
 int __starpu_datawizard_progress(unsigned may_alloc, unsigned push_requests);
 void _starpu_datawizard_progress(unsigned may_alloc);
-void _starpu_worker_drives_memory_node(unsigned worker_id, unsigned memnode);
 
 #endif // __DATAWIZARD_H__

+ 2 - 0
src/datawizard/memory_nodes.c

@@ -25,6 +25,8 @@
 #include "copy_driver.h"
 #include "memalloc.h"
 
+char worker_drives_memory[STARPU_NMAXWORKERS][STARPU_MAXNODES];
+
 struct _starpu_memory_node_descr _starpu_descr;
 starpu_pthread_key_t _starpu_memory_node_key STARPU_ATTRIBUTE_INTERNAL;
 

+ 8 - 0
src/datawizard/memory_nodes.h

@@ -33,6 +33,8 @@
 #define _STARPU_MEMORY_NODE_TUPLE_FIRST(tuple) (tuple & 0x0F)
 #define _STARPU_MEMORY_NODE_TUPLE_SECOND(tuple) (tuple & 0xF0)
 
+extern char worker_drives_memory[STARPU_NMAXWORKERS][STARPU_MAXNODES];
+
 struct _starpu_cond_and_mutex
 {
         starpu_pthread_cond_t *cond;
@@ -96,6 +98,12 @@ static inline void _starpu_memory_node_add_nworkers(unsigned node)
 	_starpu_descr.nworkers[node]++;
 }
 
+/* same utility as _starpu_memory_node_add_nworkers */
+static inline void _starpu_worker_drives_memory_node(unsigned worker_id, unsigned memnode)
+{
+    worker_drives_memory[worker_id][memnode] = 1;   
+}
+
 static inline unsigned _starpu_memory_node_get_nworkers(unsigned node)
 {
 	return _starpu_descr.nworkers[node];