changeset 400:00fe05184a02

Fix examples.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 21 Sep 2009 18:47:06 +0900
parents 4bea73c83c35
children 96608899d1d3
files TaskManager/ChangeLog example/HelloWorld/main.cc example/MemList/main.cc example/basic/main.cc example/dependency_task/main.cc example/get_segment/main.cc example/mainMem/main.cc example/many_task/main.cc example/many_task/sort.cc example/many_task/sort.h example/post_function/main.cc example/renew_task/ChangeLog example/renew_task/main.cc example/share_task/main.cc example/word_count/main.cc
diffstat 15 files changed, 65 insertions(+), 49 deletions(-) [+]
line wrap: on
line diff
--- a/TaskManager/ChangeLog	Mon Sep 21 18:03:31 2009 +0900
+++ b/TaskManager/ChangeLog	Mon Sep 21 18:47:06 2009 +0900
@@ -84,6 +84,10 @@
 	addr で指定された PPU の Address が Hash にあるかどうか調べる。
 	    無ければ dma_load する。そして指定された id を返す。
 
+	確保 API。set_rgb に相当。読み出さないで、hash entry だけ確保する。put しかしない部分用
+	uint32 segment_id = smanager->get_null_segment(memaddr addr, *MemList m)
+		id は hash値に相当。
+
 	書き出しAPI、読みだしていること前提。	
 	smanager->put_segment(wait_id);
 
--- a/example/HelloWorld/main.cc	Mon Sep 21 18:03:31 2009 +0900
+++ b/example/HelloWorld/main.cc	Mon Sep 21 18:47:06 2009 +0900
@@ -28,7 +28,7 @@
 }
 
 void
-hello_init(void)
+hello_init(TaskManager *manager)
 {
     HTask *hello;
 
@@ -57,7 +57,7 @@
 }
 
 int
-TMmain(int argc, char *argv[])
+TMmain(TaskManager *manager, int argc, char *argv[])
 {
     if (init(argc, argv) < 0) {
 	return -1;
@@ -67,7 +67,7 @@
     //   ppe/task_init.cc
     task_init();
 
-    hello_init();
+    hello_init(manager);
 
     return 0;
 }
--- a/example/MemList/main.cc	Mon Sep 21 18:03:31 2009 +0900
+++ b/example/MemList/main.cc	Mon Sep 21 18:47:06 2009 +0900
@@ -8,9 +8,6 @@
 #include "MemList.h"
 #include "MemorySegment.h"
 
-//extern void task_init(void);
-
-extern TaskManager *manager;
 
 const char *usr_help_str = "Usage: ./hello [-cpu spe_num] [-count N]\n\
   -cpu    Number of SPE (default 1) \n                                \
@@ -18,7 +15,7 @@
 
 
 void
-test1(MemList* active, MemList* freelist, uint32 size, uint32 count)
+test1(TaskManager *manager, MemList* active, MemList* freelist, uint32 size, uint32 count)
 {
 /*!
   active からランダムに要素を取り出してそこの size の領域を書き潰す
@@ -35,7 +32,7 @@
 
 
 int
-TMmain(int argc, char *argv[])
+TMmain(TaskManager *manager, int argc, char *argv[])
 {
     uint32 size = 128;
     uint32 count = 64;
@@ -56,7 +53,7 @@
     assert(i==count);
     printf("count = %d\n", i);
 
-    test1(active, freelist, size, count);
+    test1(manager, active, freelist, size, count);
     delete active;
     delete freelist;
 
--- a/example/basic/main.cc	Mon Sep 21 18:03:31 2009 +0900
+++ b/example/basic/main.cc	Mon Sep 21 18:47:06 2009 +0900
@@ -50,7 +50,7 @@
 }
 
 void
-twice_init(void)
+twice_init(TaskManager *manager)
 {
     HTask *twice;
 
@@ -97,7 +97,7 @@
 }
 
 int
-TMmain(int argc, char *argv[])
+TMmain(TaskManager *manager,int argc, char *argv[])
 {
     if (init(argc, argv) < 0) {
 	return -1;
@@ -108,7 +108,7 @@
     task_init();
 
     for (int i = 0; i < task; ++i) {
-	twice_init();
+	twice_init(manager);
     }
 
     return 0;
--- a/example/dependency_task/main.cc	Mon Sep 21 18:03:31 2009 +0900
+++ b/example/dependency_task/main.cc	Mon Sep 21 18:47:06 2009 +0900
@@ -14,7 +14,7 @@
   -nodepend  No Depenendcy";
 
 void
-run_start(void)
+run_start(TaskManager *manager)
 {
     HTaskPtr t_exec;
     HTaskPtr t_print;
@@ -61,14 +61,14 @@
 }
 
 int
-TMmain(int argc, char *argv[])
+TMmain(TaskManager *manager, int argc, char *argv[])
 {
     if (init(argc, argv) < 0) {
 	return -1;
     }
 
     task_init();
-    run_start();
+    run_start(manager);
 
     return 0;
 }
--- a/example/get_segment/main.cc	Mon Sep 21 18:03:31 2009 +0900
+++ b/example/get_segment/main.cc	Mon Sep 21 18:47:06 2009 +0900
@@ -8,8 +8,6 @@
 
 static int count = 1;
 
-extern TaskManager *manager;
-
 const char *usr_help_str = "Usage: ./hello [-cpu spe_num] [-count N]\n\
   -cpu    Number of SPE (default 1) \n\
   -count  Number of task is print \"Hello, World!!\"";
@@ -28,7 +26,7 @@
 }
 
 void
-hello_init(void)
+hello_init(TaskManager *manager)
 {
     HTask *hello;
 
@@ -57,7 +55,7 @@
 }
 
 int
-TMmain(int argc, char *argv[])
+TMmain(TaskManager *manager, int argc, char *argv[])
 {
     if (init(argc, argv) < 0) {
 	return -1;
@@ -67,7 +65,7 @@
     //   ppe/task_init.cc
     task_init();
 
-    hello_init();
+    hello_init(manager);
 
     return 0;
 }
--- a/example/mainMem/main.cc	Mon Sep 21 18:03:31 2009 +0900
+++ b/example/mainMem/main.cc	Mon Sep 21 18:47:06 2009 +0900
@@ -8,8 +8,6 @@
 
 static int count = 1;
 
-extern TaskManager *manager;
-
 const char *usr_help_str = "Usage: ./hello [-cpu spe_num] [-count N]\n\
   -cpu    Number of SPE (default 1) \n\
   -count  Number of task is print \"Hello, World!!\"";
@@ -28,7 +26,7 @@
 }
 
 void
-hello_init(void)
+hello_init(TaskManager *manager)
 {
     HTask *hello;
 
@@ -57,7 +55,7 @@
 }
 
 int
-TMmain(int argc, char *argv[])
+TMmain(TaskManager *manager, int argc, char *argv[])
 {
     if (init(argc, argv) < 0) {
 	return -1;
@@ -67,7 +65,7 @@
     //   ppe/task_init.cc
     task_init();
 
-    hello_init();
+    hello_init(manager);
 
     return 0;
 }
--- a/example/many_task/main.cc	Mon Sep 21 18:03:31 2009 +0900
+++ b/example/many_task/main.cc	Mon Sep 21 18:47:06 2009 +0900
@@ -19,7 +19,7 @@
 static int length = 1200;
 
 // prototype
-void TMend(void);
+void TMend(TaskManager *);
 
 static double
 getTime(void)
@@ -59,12 +59,10 @@
     return 0;
 }
 
-extern void sort_init(int, int);
-
 unsigned int ts, te;
 
 int
-TMmain(int argc, char *argv[])
+TMmain(TaskManager *manager, int argc, char *argv[])
 {
     if (init(argc, argv) < 0) {
 	return -1;
@@ -72,7 +70,7 @@
 
     task_init();
 
-    sort_init(manager->get_cpuNum(), length);
+    sort_init(manager, manager->get_cpuNum(), length);
 
     st_time = getTime();
 
@@ -83,7 +81,7 @@
 }
 
 void
-TMend(void)
+TMend(TaskManager *manager)
 {
     ed_time = getTime();
     //show_data();
--- a/example/many_task/sort.cc	Mon Sep 21 18:03:31 2009 +0900
+++ b/example/many_task/sort.cc	Mon Sep 21 18:47:06 2009 +0900
@@ -11,9 +11,10 @@
 static int last_block_num;
 static int half_block_num;
 static int last_half_block_num;
+static TaskManager *manager;
 
 static void sort_restart(void *);
-static void sort_start(void);
+static void sort_start();
 
 /**
  * 一つの block にある data の数が MAX_BLOCK_SIZE 超えないような
@@ -55,7 +56,7 @@
 }
 
 static void
-sort_start(void)
+sort_start()
 {
     if (--sort_count < 0) {
 	return;
@@ -121,8 +122,10 @@
 }
 
 void
-sort_init(int cpuNum, int length)
+sort_init(TaskManager *manager_, int cpuNum, int length)
 {
+    manager = manager_;
+
     data = (DataPtr)manager->allocate(sizeof(Data)*length);
     data_length = length;
 
@@ -143,3 +146,4 @@
 
     sort_start();
 }
+
--- a/example/many_task/sort.h	Mon Sep 21 18:03:31 2009 +0900
+++ b/example/many_task/sort.h	Mon Sep 21 18:47:06 2009 +0900
@@ -1,3 +1,5 @@
+#include "TaskManager.h"
+
 // array position
 typedef struct Data {
     int index;
@@ -5,4 +7,7 @@
     int pad[2];
 } Data, *DataPtr;
 
+extern void sort_init(TaskManager *,int, int);
+
+
 #define MAX_BLOCK_SIZE (int)(1024*16/(sizeof(Data)))
--- a/example/post_function/main.cc	Mon Sep 21 18:03:31 2009 +0900
+++ b/example/post_function/main.cc	Mon Sep 21 18:47:06 2009 +0900
@@ -6,6 +6,8 @@
 
 extern void task_init(void);
 
+static TaskManager *manager;
+
 static int count = 1;
 
 const char *usr_help_str = "Usage: ./post [-cpu spe_num] [-count N]\n\
@@ -41,7 +43,7 @@
 }
 
 void
-run_init(void)
+run_init(TaskManager *manager)
 {
     HTaskPtr task;
 
@@ -53,14 +55,17 @@
 }
 
 int
-TMmain(int argc, char *argv[])
+TMmain(TaskManager *manager_, int argc, char *argv[])
 {
+    manager = manager_;
+
     if (init(argc, argv) < 0) {
 	return -1;
     }
 
     task_init();
-    run_init();
+    run_init(manager);
 
     return 0;
 }
+
--- a/example/renew_task/ChangeLog	Mon Sep 21 18:03:31 2009 +0900
+++ b/example/renew_task/ChangeLog	Mon Sep 21 18:47:06 2009 +0900
@@ -1,3 +1,6 @@
+2009-09-21  Shinji kono  <kono@ie.u-ryukyu.ac.jp>
+    SegV on Mac OS X (why?)
+
 2009-01-13  Wataru MIYAGUNI  <gongo@cr.ie.u-ryukyu.ac.jp>
 
 	* add
--- a/example/renew_task/main.cc	Mon Sep 21 18:03:31 2009 +0900
+++ b/example/renew_task/main.cc	Mon Sep 21 18:47:06 2009 +0900
@@ -4,7 +4,7 @@
 #include "TaskManager.h"
 #include "Func.h"
 
-extern void task_init(void);
+extern void task_init();
 
 const char *usr_help_str = "Usage: ./renew_task";
 
@@ -15,7 +15,7 @@
 }
 
 static void
-renew_init(void)
+renew_init(TaskManager *manager)
 {
     HTask *renew;
 
@@ -29,7 +29,7 @@
 }
 
 int
-TMmain(int argc, char *argv[])
+TMmain(TaskManager *manager, int argc, char *argv[])
 {
     if (init(argc, argv) < 0) {
 	return -1;
@@ -41,7 +41,7 @@
 
     printf("[PPE] Program Start\n\n");
 
-    renew_init();
+    renew_init(manager);
 
     return 0;
 }
--- a/example/share_task/main.cc	Mon Sep 21 18:03:31 2009 +0900
+++ b/example/share_task/main.cc	Mon Sep 21 18:47:06 2009 +0900
@@ -4,7 +4,7 @@
 #include "TaskManager.h"
 #include "Func.h"
 
-extern void task_init(void);
+extern void task_init();
 
 int *idata;
 int numtask = 1;
@@ -15,7 +15,7 @@
   -length    Number of data (default DATA_NUM (Func.h))";
 
 void
-run_start(void)
+run_start(TaskManager *manager)
 {
     HTaskPtr task_load;
     HTaskPtr task_exec;
@@ -65,7 +65,7 @@
 
 //---------main関数-----------
 int
-TMmain(int argc, char *argv[])
+TMmain(TaskManager *manager, int argc, char *argv[])
 {
 
     if (init(argc, argv) < 0) {
@@ -74,7 +74,7 @@
 
     task_init();
 
-    run_start();
+    run_start(manager);
 
     return 0;
 }
--- a/example/word_count/main.cc	Mon Sep 21 18:03:31 2009 +0900
+++ b/example/word_count/main.cc	Mon Sep 21 18:47:06 2009 +0900
@@ -9,7 +9,7 @@
 #include "TaskManager.h"
 #include "Func.h"
 
-extern void task_init(void);
+extern void task_init();
 
 const char *usr_help_str = "Usage: ./word_count [-cpu spe_num] [-file filename]\n";
 
@@ -67,7 +67,7 @@
 
 
 void
-run_start(char *filename)
+run_start(TaskManager *manager, char *filename)
 {
     HTaskPtr t_exec;
     HTaskPtr t_print;
@@ -164,12 +164,16 @@
 	    filename = argv[i+1];
 	}
     }
+    if (filename==0) {
+	fprintf(stderr, usr_help_str);
+	exit(1);
+    }
     
     return filename;
 }
 
 int
-TMmain(int argc, char *argv[])
+TMmain(TaskManager *manager, int argc, char *argv[])
 {
 
     char *filename = 0;
@@ -180,7 +184,7 @@
     }
 
     task_init();
-    run_start(filename);
+    run_start(manager, filename);
 
     return 0;
 }