comparison nanos-vss.c @ 42:bb6fbcbce14d

fix unpacking of dependency ptrs
author Nina Engelhardt <nengel@mailbox.tu-berlin.de>
date Fri, 07 Jun 2013 15:47:52 +0200
parents 37bb39da5ff1
children 8733d1299c3a
comparison
equal deleted inserted replaced
1:b4f5aa34af29 2:82fec0a6e428
23 } 23 }
24 24
25 nanos_err_t nanos_create_wd_compact(nanos_wd_t *wd, nanos_const_wd_definition_t *const_data, nanos_wd_dyn_props_t *dyn_props, 25 nanos_err_t nanos_create_wd_compact(nanos_wd_t *wd, nanos_const_wd_definition_t *const_data, nanos_wd_dyn_props_t *dyn_props,
26 size_t data_size, void ** data, nanos_wg_t wg, nanos_copy_data_t **copies) { 26 size_t data_size, void ** data, nanos_wg_t wg, nanos_copy_data_t **copies) {
27 27
28 *wd = NULL;
29 return NANOS_OK;
30
28 VSsTaskStub* ts = (VSsTaskStub*) malloc(sizeof (VSsTaskStub)); 31 VSsTaskStub* ts = (VSsTaskStub*) malloc(sizeof (VSsTaskStub));
29 void* alloc_data = malloc(data_size); 32 void* alloc_data = malloc(data_size);
30 *data = alloc_data; 33 *data = alloc_data;
31 ts->args = alloc_data; 34 ts->args = alloc_data;
32 35
44 return NANOS_OK; 47 return NANOS_OK;
45 } 48 }
46 49
47 nanos_err_t nanos_submit(nanos_wd_t wd, size_t num_deps, nanos_dependence_t *deps, nanos_team_t team) { 50 nanos_err_t nanos_submit(nanos_wd_t wd, size_t num_deps, nanos_dependence_t *deps, nanos_team_t team) {
48 51
52 return NANOS_UNIMPLEMENTED;
53
49 int32* depsTypes = malloc(sizeof (int32) * num_deps); 54 int32* depsTypes = malloc(sizeof (int32) * num_deps);
50 size_t* depsSizes = malloc(sizeof (size_t) * num_deps); 55 size_t* depsSizes = malloc(sizeof (size_t) * num_deps);
51 void** depsAddrs = malloc(sizeof (void*)*num_deps); 56 void** depsAddrs = malloc(sizeof (void*)*num_deps);
52 57
53 int i; 58 int i;
54 for (i = 0; i < num_deps; i++) { 59 for (i = 0; i < num_deps; i++) {
55 depsAddrs[i] = deps[i].address; 60 depsAddrs[i] = (void *) ( (char *) (*deps[i].address) + deps[i].offset );
56 depsTypes[i] = (deps[i].flags.output) ? WRITER : READER; 61 depsTypes[i] = (deps[i].flags.output) ? WRITER : READER;
57 depsSizes[i] = deps[i].size; 62 depsSizes[i] = deps[i].size;
58 } 63 }
59 64
60 VSsTaskStub* ts = (VSsTaskStub*) wd; 65 VSsTaskStub* ts = (VSsTaskStub*) wd;
94 nanos_copy_data_t *copies, nanos_translate_args_t translate_args) { 99 nanos_copy_data_t *copies, nanos_translate_args_t translate_args) {
95 100
96 101
97 int32* depsTypes = malloc(sizeof (int32) * num_deps); 102 int32* depsTypes = malloc(sizeof (int32) * num_deps);
98 size_t* depsSizes = malloc(sizeof (size_t) * num_deps); 103 size_t* depsSizes = malloc(sizeof (size_t) * num_deps);
99 void** depsAddrs = malloc(sizeof (void*)*num_deps); 104 void** depsAddrs = malloc(sizeof (void*) * num_deps);
100 105
101 int i; 106 int i;
102 for (i = 0; i < num_deps; i++) { 107 for (i = 0; i < num_deps; i++) {
103 depsAddrs[i] = deps[i].address; 108 depsAddrs[i] = (void *) ( (char *) (*deps[i].address) + deps[i].offset );
104 depsTypes[i] = (deps[i].flags.output) ? WRITER : READER; 109 depsTypes[i] = (deps[i].flags.output) ? WRITER : READER;
105 depsSizes[i] = deps[i].size; 110 depsSizes[i] = deps[i].size;
106 } 111 }
107 112
108 /* const_data is declared as: 113 /* const_data is declared as: