Mercurial > hg > Applications > Grep
changeset 9:fe8c1c25296a
fix ppb_data_split
author | Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 03 Jan 2014 01:53:39 +0900 |
parents | 645b93cbf36c |
children | 51177cc6ab38 |
files | parallel_processing/ppb_data_split/Makefile parallel_processing/ppb_data_split/ppb_data_split.cc |
diffstat | 2 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/parallel_processing/ppb_data_split/Makefile Fri Jan 03 01:42:02 2014 +0900 +++ b/parallel_processing/ppb_data_split/Makefile Fri Jan 03 01:53:39 2014 +0900 @@ -1,4 +1,4 @@ -TARGET = ppb_first_thread +TARGET = ppb_data_split CC = clang++ CPPFLAGS = -g -O0
--- a/parallel_processing/ppb_data_split/ppb_data_split.cc Fri Jan 03 01:42:02 2014 +0900 +++ b/parallel_processing/ppb_data_split/ppb_data_split.cc Fri Jan 03 01:53:39 2014 +0900 @@ -3,6 +3,7 @@ #define THREAD_NUM 2 #define DATA_NUM 10 +#define SPLIT_DATA_NUM (DATA_NUM / THREAD_NUM) typedef struct _thread_arg { int thread_no; @@ -14,7 +15,7 @@ { thread_arg_t *targ = (thread_arg_t *)arg; - for (int i = 0; i < DATA_NUM; i++) { + for (int i = 0; i < SPLIT_DATA_NUM; i++) { printf("thread%d : %d + 1 = %d\n", targ->thread_no, targ->data[i], targ->data[i] + 1); } @@ -35,8 +36,9 @@ /* spawn thread a number of THREAD_NUM */ for (i = 0; i < THREAD_NUM; i++) { targ[i].thread_no = i; - targ[i].data = data; + /* divide a data into THREAD_NUM*/ + targ[i].data = &data[SPLIT_DATA_NUM * i]; /* spawn thread*/ pthread_create(&handle[i], NULL, &thread_func, (void*)&targ[i]); }