# HG changeset patch # User Nina Engelhardt # Date 1373031402 -7200 # Node ID a7c77d69d127392db6a7a1e331292d63a2088678 # Parent 6be6b039453758f2247d50760fb862fa15433b00 update for api v. nanox-0.7 diff -r 6be6b0394537 -r a7c77d69d127 nanos-vss.c --- a/nanos-vss.c Fri Jul 05 14:41:45 2013 +0200 +++ b/nanos-vss.c Fri Jul 05 15:36:42 2013 +0200 @@ -23,11 +23,11 @@ } 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, - size_t data_size, void ** data, nanos_wg_t wg, nanos_copy_data_t **copies) { - + size_t data_size, void ** data, nanos_wg_t wg, nanos_copy_data_t **copies, nanos_region_dimension_internal_t **dimensions) { + *wd = NULL; return NANOS_OK; - + VSsTaskStub* ts = (VSsTaskStub*) malloc(sizeof (VSsTaskStub)); void* alloc_data = malloc(data_size); *data = alloc_data; @@ -35,7 +35,7 @@ VSsTaskType* taskType = (VSsTaskType*) malloc(sizeof (VSsTaskType)); - taskType->fn = *((VSsTaskFnPtr*)((nanos_device_t*) &const_data[1])->arg); + taskType->fn = *((VSsTaskFnPtr*) ((nanos_device_t*) & const_data[1])->arg); taskType->sizeOfArgs = data_size; ts->taskType = taskType; @@ -45,19 +45,19 @@ return NANOS_OK; } -nanos_err_t nanos_submit(nanos_wd_t wd, size_t num_deps, nanos_dependence_t *deps, nanos_team_t team) { +nanos_err_t nanos_submit(nanos_wd_t wd, size_t num_data_accesses, nanos_data_access_t *data_accesses, nanos_team_t team) { return NANOS_UNIMPLEMENTED; - - int32* depsTypes = malloc(sizeof (int32) * num_deps); - size_t* depsSizes = malloc(sizeof (size_t) * num_deps); - void** depsAddrs = malloc(sizeof (void*)*num_deps); + + int32* depsTypes = malloc(sizeof (int32) * num_data_accesses); + size_t* depsSizes = malloc(sizeof (size_t) * num_data_accesses); + void** depsAddrs = malloc(sizeof (void*)*num_data_accesses); int i; - for (i = 0; i < num_deps; i++) { - depsAddrs[i] = (void *) ( (char *) (*deps[i].address) + deps[i].offset ); - depsTypes[i] = (deps[i].flags.output) ? WRITER : READER; - depsSizes[i] = deps[i].size; + for (i = 0; i < num_data_accesses; i++) { + depsAddrs[i] = (void*)((uintptr_t)data_accesses[i].address + data_accesses[i].offset ); + depsTypes[i] = (data_accesses[i].flags.output) ? WRITER : READER; + depsSizes[i] = data_accesses[i].dimensions[0].size; } VSsTaskStub* ts = (VSsTaskStub*) wd; @@ -65,7 +65,7 @@ VSsTaskType* taskType = ts->taskType; - taskType->numDeps = num_deps; + taskType->numDeps = num_data_accesses; taskType->depsTypes = depsTypes; taskType->depsSizes = depsSizes; @@ -82,7 +82,7 @@ int32* taskID; taskID = VSs__create_taskID_of_size(1); taskID[1] = tasks_created++; - + reqData.taskID = taskID; free(ts); @@ -92,20 +92,20 @@ return NANOS_OK; } -nanos_err_t nanos_create_wd_and_run_compact(nanos_const_wd_definition_t *const_data, nanos_wd_dyn_props_t *dyn_props, - size_t data_size, void * data, size_t num_deps, nanos_dependence_t *deps, - nanos_copy_data_t *copies, nanos_translate_args_t translate_args) { +nanos_err_t nanos_create_wd_and_run_compact( nanos_const_wd_definition_t *const_data, nanos_wd_dyn_props_t *dyn_props, + size_t data_size, void * data, size_t num_data_accesses, nanos_data_access_t *data_accesses, + nanos_copy_data_t *copies, nanos_region_dimension_internal_t *dimensions, nanos_translate_args_t translate_args ) { - int32* depsTypes = malloc(sizeof (int32) * num_deps); - size_t* depsSizes = malloc(sizeof (size_t) * num_deps); - void** depsAddrs = malloc(sizeof (void*) * num_deps); + int32* depsTypes = malloc(sizeof (int32) * num_data_accesses); + size_t* depsSizes = malloc(sizeof (size_t) * num_data_accesses); + void** depsAddrs = malloc(sizeof (void*) * num_data_accesses); int i; - for (i = 0; i < num_deps; i++) { - depsAddrs[i] = (void *) ( (char *) (*deps[i].address) + deps[i].offset ); - depsTypes[i] = (deps[i].flags.output) ? WRITER : READER; - depsSizes[i] = deps[i].size; + for (i = 0; i < num_data_accesses; i++) { + depsAddrs[i] = (void*)((uintptr_t)data_accesses[i].address + data_accesses[i].offset ); + depsTypes[i] = (data_accesses[i].flags.output) ? WRITER : READER; + depsSizes[i] = data_accesses[i].dimensions[0].size; } /* const_data is declared as: @@ -121,8 +121,8 @@ VSsTaskType* taskType = (VSsTaskType*) malloc(sizeof (VSsTaskType)); - taskType->fn = *((VSsTaskFnPtr*)((nanos_device_t*) &const_data[1])->arg); - taskType->numDeps = num_deps; + taskType->fn = *((VSsTaskFnPtr*) ((nanos_device_t*) & const_data[1])->arg); + taskType->numDeps = num_data_accesses; taskType->depsTypes = depsTypes; taskType->depsSizes = depsSizes; taskType->sizeOfArgs = data_size; @@ -139,7 +139,7 @@ int32* taskID; taskID = VSs__create_taskID_of_size(1); taskID[1] = tasks_created++; - + reqData.taskID = taskID; VMS_WL__send_sem_request(&reqData, currVP); @@ -162,15 +162,15 @@ return NANOS_OK; } -nanos_err_t nanos_wait_on(size_t num_deps, nanos_dependence_t *deps) { +nanos_err_t nanos_wait_on( size_t num_data_accesses, nanos_data_access_t *data_accesses ) { VSsSemReq reqData; reqData.reqType = taskwait_on; reqData.callingSlv = currVP; int i; - for (i = 0; i < num_deps; i++) { - reqData.args = deps[i].address; + for (i = 0; i < num_data_accesses; i++) { + reqData.args = data_accesses[i].address; VMS_WL__send_sem_request(&reqData, currVP); } @@ -186,7 +186,7 @@ reqData.criticalID = lock; VMS_WL__send_sem_request(&reqData, currVP); - + return NANOS_OK; } @@ -199,30 +199,30 @@ reqData.criticalID = lock; VMS_WL__send_sem_request(&reqData, currVP); - + return NANOS_OK; } -nanos_err_t nanos_omp_barrier ( void ){ +nanos_err_t nanos_omp_barrier(void) { VSsSemReq reqData; reqData.reqType = barrier; reqData.callingSlv = currVP; VMS_WL__send_sem_request(&reqData, currVP); - + return NANOS_OK; } -nanos_err_t nanos_in_final(bool *result){ +nanos_err_t nanos_in_final(bool *result) { *result = false; return NANOS_OK; } -void * nanos_smp_factory( void *args){ +void * nanos_smp_factory(void *args) { return NULL; } -void nanos_omp_set_interface ( void * arg){ +void nanos_omp_set_interface(void * arg) { return; }