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();