Mercurial > hg > Members > kono > Cerium
comparison example/share_task/main.cc @ 625:60aa3f241b10
64bit mode worked on Mac OS X.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 16 Nov 2009 10:59:55 +0900 |
parents | 00fe05184a02 |
children |
comparison
equal
deleted
inserted
replaced
624:c7b5c99252ad | 625:60aa3f241b10 |
---|---|
26 } | 26 } |
27 | 27 |
28 // idata を SPU の共有領域へコピーするタスク (所謂準備的な) | 28 // idata を SPU の共有領域へコピーするタスク (所謂準備的な) |
29 task_load = manager->create_task(TASK_LOAD); | 29 task_load = manager->create_task(TASK_LOAD); |
30 task_load->add_inData(idata, sizeof(int)*length); | 30 task_load->add_inData(idata, sizeof(int)*length); |
31 task_load->add_param(length); | 31 task_load->set_param(0,(memaddr)length); |
32 task_load->set_cpu(SPE_ANY); | 32 task_load->set_cpu(SPE_ANY); |
33 | 33 |
34 // task_load が作った領域を見ていくタスク (複数で共有して) | 34 // task_load が作った領域を見ていくタスク (複数で共有して) |
35 for (int i = 0; i < numtask; i++) { | 35 for (int i = 0; i < numtask; i++) { |
36 task_exec = manager->create_task(TASK_EXEC); | 36 task_exec = manager->create_task(TASK_EXEC); |
37 task_exec->add_param(length); | 37 task_exec->set_param(0,(memaddr)length); |
38 task_exec->add_param(i); | 38 task_exec->set_param(1,(memaddr)i); |
39 task_exec->add_param(ADD_NUM); | 39 task_exec->set_param(2,(memaddr)ADD_NUM); |
40 task_exec->set_cpu(SPE_ANY); | 40 task_exec->set_cpu(SPE_ANY); |
41 | 41 |
42 // dependency | 42 // dependency |
43 task_exec->wait_for(task_load); | 43 task_exec->wait_for(task_load); |
44 task_exec->spawn(); | 44 task_exec->spawn(); |