annotate example/mainMem/spe/Hello.cc @ 639:70c5c2d2eb24

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 19 Nov 2009 18:45:24 +0900
parents ab866bc8a624
children da49d9e458dc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
312
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #include <stdio.h>
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 #include "Hello.h"
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 #include "Func.h"
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 /* これは必須 */
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 SchedDefineTask(Hello);
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 #define PP_STORE 3
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 #define SIZE (4096*sizeof(int))
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
467
44c0bce54dcf fix all examples. test_render is not working now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 314
diff changeset
11 static int
44c0bce54dcf fix all examples. test_render is not working now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 314
diff changeset
12 run(SchedTask *smanager, void *rbuf, void *wbuf)
312
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 {
626
ab866bc8a624 64bit mode compatibility on Cell
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 467
diff changeset
14 int task_id = (long)smanager->get_param(0);
313
c9f8cfcdc5c2 fix ppu mail box waiting (mainMem allocate)
kono@localhost.localdomain
parents: 312
diff changeset
15 int *ptr = 0;
c9f8cfcdc5c2 fix ppu mail box waiting (mainMem allocate)
kono@localhost.localdomain
parents: 312
diff changeset
16 #if 1
c9f8cfcdc5c2 fix ppu mail box waiting (mainMem allocate)
kono@localhost.localdomain
parents: 312
diff changeset
17 ptr = (int*)smanager->allocate(SIZE);
312
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
313
c9f8cfcdc5c2 fix ppu mail box waiting (mainMem allocate)
kono@localhost.localdomain
parents: 312
diff changeset
19 smanager->mainMem_alloc(0, SIZE);
312
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 int i;
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 for(i=0;i<4096;i++) {
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 ptr[i] = i;
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 }
313
c9f8cfcdc5c2 fix ppu mail box waiting (mainMem allocate)
kono@localhost.localdomain
parents: 312
diff changeset
25 #endif
312
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
313
c9f8cfcdc5c2 fix ppu mail box waiting (mainMem allocate)
kono@localhost.localdomain
parents: 312
diff changeset
27 void *next = 0;
c9f8cfcdc5c2 fix ppu mail box waiting (mainMem allocate)
kono@localhost.localdomain
parents: 312
diff changeset
28 #if 1
312
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 smanager->mainMem_wait();
313
c9f8cfcdc5c2 fix ppu mail box waiting (mainMem allocate)
kono@localhost.localdomain
parents: 312
diff changeset
30 next = (void *)smanager->mainMem_get(0);
312
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 smanager->dma_wait(PP_STORE);
626
ab866bc8a624 64bit mode compatibility on Cell
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 467
diff changeset
33 smanager->dma_store(ptr, (memaddr)next,
312
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 SIZE, PP_STORE);
313
c9f8cfcdc5c2 fix ppu mail box waiting (mainMem allocate)
kono@localhost.localdomain
parents: 312
diff changeset
35 #endif
312
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37
467
44c0bce54dcf fix all examples. test_render is not working now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 314
diff changeset
38 smanager->fprintf(smanager->stderr_,"sizeof(int) = [%d] sizeof(void*)=[%d]\n", (int)sizeof(int),(int)sizeof(void*));
44c0bce54dcf fix all examples. test_render is not working now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 314
diff changeset
39 smanager->fprintf(smanager->stderr_,"[%d] Main Mem %0x len %d\n", task_id, (unsigned int)next,(int)SIZE);
312
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40
467
44c0bce54dcf fix all examples. test_render is not working now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 314
diff changeset
41 smanager->free_(ptr);
312
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 return 0;
57530cb7f7d1 memMain tester
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 }