Mercurial > hg > Game > Cerium
changeset 1052:a0ea7d9b6faf draft
Makefile utf-8
line wrap: on
line diff
--- a/Renderer/Engine/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/Renderer/Engine/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) $(wildcard Application/*.cc) $(wildcard ps3fb/*.cc) -SRCS_EXCLUDE = # ½ü³° +SRCS_EXCLUDE = # 除外 SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/Renderer/Engine/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/Renderer/Engine/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) $(wildcard Application/*.cc) -SRCS_EXCLUDE = # ½ü³° +SRCS_EXCLUDE = # 除外 SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/Renderer/Engine/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/Renderer/Engine/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) $(wildcard Application/*.cc) -SRCS_EXCLUDE = # ½ü³° +SRCS_EXCLUDE = # 除外 SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/TaskManager/ChangeLog Thu Dec 09 22:30:32 2010 +0900 +++ b/TaskManager/ChangeLog Fri Dec 10 23:09:12 2010 +0900 @@ -1,536 +1,578 @@ +2010-12-10 Shinji KONO <kono@ie.u-ryukyu.ac.jp> + + task_list ã‚’ PPE ã® main memory ã«ãŠã„ã¦ã€ãれを get_segment ã§å–ã£ã¦æ¥ã‚‹ã€‚ + 実行ã™ã‚‹ object ã¯ã€PPE å´ã® main memory 上ã«ç½®ã。ãれを get_segment 㧠+ copy ã—ã¦å®Ÿè¡Œã™ã‚‹ã€‚ + + taskã®indata/outdata/get_segment を実際ã«ã¯ã‚³ãƒ”ーã—ãªã„よã†ã«ã™ã‚‹ã¨è‰¯ã„ã®ã ãŒ... + ãã†ã™ã‚Œã°ã€å®Ÿè¡Œæ™‚ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒå¤‰ã‚らãªã„ã®ã§ãƒ‡ãƒãƒƒã‚°ãŒå®¹æ˜“。 + ãã†ã„ã†ã‚ªãƒ—ション? ã„ã‚„ã€get_segment ã‚’ãã†ã„ã†ã‚ˆã†ã«ã™ã‚‹? + + task_list 上ã«å›ºå®šã‚¢ãƒ‰ãƒ¬ã‚¹ task ã‹ã©ã†ã‹ã®é¸æŠžã‚’入れれã°è‰¯ã„ã®ã‹ã€‚ + + ã¨ã‚Šã‚ãˆãšã€task_list ã‚’ get_segment ã™ã‚‹ã¨ã“ã‚ã‹ã‚‰æ›¸ãã®ãŒè‰¯ã•ãã†ã€‚ + + task_list ã®address ã‚’ SPE ã«ã©ã†ã‚„ã£ã¦æ•™ãˆã‚‹ã‹ã¨è¨€ã†å•é¡ŒãŒã‚る。 + mail ã‹ãªã€‚ + + tag 使ã†? argv ã§æ¸¡ã™ã£ã¦ã‚ã‚Š? envp ã§é€ã‚Œã‚‹ã®ã§ã¯ãªã„ã‹? + envp ã¯ãƒ€ãƒ¡ã ãŒã€argv ã§ã¯æ¸¡ã›ã‚‹ã‚‰ã—ã„。 + + ã¾ãšã€ppe 㨠spe ã® task_list を作る API ã®è¨è¨ˆã¨å®Ÿè£…ã‚’ã™ã‚‹ã¹ãらã—ã„。 + + Task å´ã®ã¯ç„¡è¦– (ãŠã‰?!) SPE å´ã® SchedRegister ã‚‚ä¸è¦ã€‚ + + get_segment ã ã‘ã§ã§ãã‚‹? + + PPEå´ã§ã€ + + TaskRegister(Task ID, 0 file, entry symbol); // PPE fixed task + SpeTaskRegister(Task ID, object file, entry symbol); // SPE dynamic task + SpeTaskRegister(Task ID, 0, entry symbol); // SPE fixed task + + を指定ã™ã‚‹ã“ã¨ã«ãªã‚‹ã€‚ PPE å´ã¯è‡ªå‹•çš„ã«ç™»éŒ²ã•ã‚Œã‚‹ ( -cpu 0 ãŒã‚ã‚‹ã‹ã‚‰ ) + task_list 㨠spu_task_list ãŒåŒæ™‚ã«åˆæœŸåŒ–ã•ã‚Œã‚‹ + + object file ã¯ã€.a ã§ã‚‚良ã„。(良ã„ã®?) embed ã—ã¦ã‚‚良ã„。 + + ã¨è¨€ã†ã“ã¨ã¯ã€ä»Šã¾ã§ã®ã‚ˆã†ã« run を使ã„回ã—ã£æ‰‹ã®ã„ã†ã¯è¨±ã•ã‚Œãªã„ã£ã¦ã“ã¨? + ãã®æ–¹ãŒè‰¯ã„ã§ã—ょã†ã€‚変更大ãã„ã‘ã©ã€‚ + + SPEå´ã«å›ºå®šã™ã‚‹ Task ã¯ã©ã†ã™ã‚‹ã®? + 2010-8-7 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - get_segmentã®inlineã¯ã€ãã®å ´ã« static ã«ç½®ã„ã¦ã€default ã®ã‚‚ã®ã‚’ç½®ã„ã¦ãŠã。 - size ã®checkã¯ã—ãªã„。 - - MemList ã¯å»ƒæ¢ã€‚QueueInfo ã«ã€‚ - - Data é ˜åŸŸã¯ã€2^n 管ç†ã§ã€move/compaction ã‚’è¡Œãªã†ã€‚(ãŒã€ä»Šã¯æ›¸ã‹ãªã„) - - ã¨ã‚Šã‚ãˆãšã€SPUã®object管ç†ã ãŒ... + get_segmentã®inlineã¯ã€ãã®å ´ã« static ã«ç½®ã„ã¦ã€default ã®ã‚‚ã®ã‚’ç½®ã„ã¦ãŠã。 + size ã®checkã¯ã—ãªã„。 + + MemList ã¯å»ƒæ¢ã€‚QueueInfo ã«ã€‚ + + Data é ˜åŸŸã¯ã€2^n 管ç†ã§ã€move/compaction ã‚’è¡Œãªã†ã€‚(ãŒã€ä»Šã¯æ›¸ã‹ãªã„) + + ã¨ã‚Šã‚ãˆãšã€SPUã®object管ç†ã ãŒ... 2010-8-6 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - Bulk, Simple, basic ã¯ä¸€ã¤ã«ã™ã‚‹ã¹ãã よãªã€‚many_task ã¯ã€sort ã¨è¨€ã†åå‰ã«å¤‰ãˆã‚‹ã¹ã。 + Bulk, Simple, basic ã¯ä¸€ã¤ã«ã™ã‚‹ã¹ãã よãªã€‚many_task ã¯ã€sort ã¨è¨€ã†åå‰ã«å¤‰ãˆã‚‹ã¹ã。 2010-7-31 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - ãªã‚“ã¨ã€simple task ã‚’ SchedTaskManager 経由ã§ä½œã‚‹ã¨ã€ - PPE task ã—ã‹ä½œã‚Œãªããªã£ã¦ã„ãŸã‚‰ã—ã„。ãã‚Œãªé…ã„よ。 - SchedTaskManagerã®task managerãŒFifoManagerã ã£ãŸã®ãŒ - åŽŸå› ã€‚CellTaskManager を使ã†æ™‚ã«ã¯ã€FifoManagerã¯æ¶ˆã›ã‚‹? - - ãã®ä»£ã‚ã‚Šã€dead lock ãŒèµ·ãる。待ã¡å…ˆã®taskãŒæ¶ˆæ»…ã™ã‚‹å ´åˆãŒ - ã‚るらã—ã„。 - - ã‚„ã£ã±ã‚Šã€æ—¢ã«çµ‚了ã—㟠task ã«å¯¾ã—㦠wait for ã—ã¦ã—ã¾ã†ã®ãŒ - ã¾ãšã„らã—ã„。自分㧠HTask ã‚’free ã—ã¦ã‚„ã‚Œã°è‰¯ã„ã‚ã‘ã ãŒ.. + ãªã‚“ã¨ã€simple task ã‚’ SchedTaskManager 経由ã§ä½œã‚‹ã¨ã€ + PPE task ã—ã‹ä½œã‚Œãªããªã£ã¦ã„ãŸã‚‰ã—ã„。ãã‚Œã¯é…ã„よ。 + SchedTaskManagerã®task managerãŒFifoManagerã ã£ãŸã®ãŒ + åŽŸå› ã€‚CellTaskManager を使ã†æ™‚ã«ã¯ã€FifoManagerã¯æ¶ˆã›ã‚‹? + + ãã®ä»£ã‚ã‚Šã€dead lock ãŒèµ·ãる。待ã¡å…ˆã®taskãŒæ¶ˆæ»…ã™ã‚‹å ´åˆãŒ + ã‚るらã—ã„。 + + ã‚„ã£ã±ã‚Šã€æ—¢ã«çµ‚了ã—㟠task ã«å¯¾ã—㦠wait for ã—ã¦ã—ã¾ã†ã®ãŒ + ã¾ãšã„らã—ã„。自分㧠HTask ã‚’free ã—ã¦ã‚„ã‚Œã°è‰¯ã„ã‚ã‘ã ãŒ.. 2010-7-30 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - TASK_LIST_MAIL ã§ãªã„æ–¹ãŒé«˜é€Ÿãªã¿ãŸã„ - sort (many_task) ãŒã€ã¨ã£ã¦ã‚‚é…ããªã£ã¦ã„ã‚‹ + TASK_LIST_MAIL ã§ãªã„æ–¹ãŒé«˜é€Ÿãªã¿ãŸã„ + sort (many_task) ãŒã€ã¨ã£ã¦ã‚‚é…ããªã£ã¦ã„ã‚‹ 2010-7-24 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - ã‚„ã£ã±ã‚Šã€load module ã®linkã®è§£æ±ºã¯ã‚„らãªã„ã¨ã„ã‘ãªã„ã®ã§ã€ - ç„¡ç†ã«ã€SchedTaskã®API全部を virtual ã«ã™ã‚‹å¿…è¦ã¯ãªã„らã—ã„。 - spu-gcc spe/ChainCal.o -Wl,-R,spe-main -o tmp.o - ã¨è¨€ã†å½¢ã§ã€link ã—ã¦ã‚„ã‚Œã°è‰¯ã„。(ãŸã ã—ã€å¿…è¦ãªã‚‚ã®ãŒå‚ç…§ã•ã‚Œã¦ã„ã‚‹å ´åˆ) + ã‚„ã£ã±ã‚Šã€load module ã®linkã®è§£æ±ºã¯ã‚„らãªã„ã¨ã„ã‘ãªã„ã®ã§ã€ + ç„¡ç†ã«ã€SchedTaskã®API全部を virtual ã«ã™ã‚‹å¿…è¦ã¯ãªã„らã—ã„。 + spu-gcc spe/ChainCal.o -Wl,-R,spe-main -o tmp.o + ã¨è¨€ã†å½¢ã§ã€link ã—ã¦ã‚„ã‚Œã°è‰¯ã„。(ãŸã ã—ã€å¿…è¦ãªã‚‚ã®ãŒå‚ç…§ã•ã‚Œã¦ã„ã‚‹å ´åˆ) 2010-7-16 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - SimpleTask ã®sizeã‚’16ã®å€æ•°ã«ã€‚ãã†ã—ãªã„ã¨ã€Taskã®aligmentãŒ16ã« - ãªã‚‰ãªã„ã®ã§ã€gcc -O9 ã§ç ´ç¶»ã™ã‚‹ã€‚ + SimpleTask ã®sizeã‚’16ã®å€æ•°ã«ã€‚ãã†ã—ãªã„ã¨ã€Taskã®aligmentãŒ16ã« + ãªã‚‰ãªã„ã®ã§ã€gcc -O9 ã§ç ´ç¶»ã™ã‚‹ã€‚ 2010-7-14 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - SchedTaskArray::exec ã® run ã®å€¤ãŒæœ€é©åŒ–ã§ã€ãŠã‹ã—ããªã‚‹ã®ã¯ã€gcc ã®bugらã—ã„。 - SimpleTask ã® finish mail ãŒè¿”ã‚‹ã®ãŒæ—©ã™ãŽã‚‹ã€‚write を呼ã¶ã®ãŒæ£ã—ã„。 - cur_index++ ã—ã¦ã—ã¾ã†ã¨ã€task1/task2 ã®cur_indexãŒåŒã˜ã«ãªã£ã¦ã—ã¾ã†ã€‚ + SchedTaskArray::exec ã® run ã®å€¤ãŒæœ€é©åŒ–ã§ã€ãŠã‹ã—ããªã‚‹ã®ã¯ã€gcc ã®bugらã—ã„。 + SimpleTask ã® finish mail ãŒè¿”ã‚‹ã®ãŒæ—©ã™ãŽã‚‹ã€‚write を呼ã¶ã®ãŒæ£ã—ã„。 + cur_index++ ã—ã¦ã—ã¾ã†ã¨ã€task1/task2 ã®cur_indexãŒåŒã˜ã«ãªã£ã¦ã—ã¾ã†ã€‚ 2010-5-25 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - PPEå´ã®post_funcã‚„taskを実行ã—ã¦ã„る時ã«ã‚‚SPEã‹ã‚‰ã®ãƒ¡ãƒ¼ãƒ«ã¯èªã‚“ã§ã—ã¾ã† - ã®ãŒæœ›ã¾ã—ã„。èªã‚“ã§ã€ã¨ã‚Šã‚ãˆãšfifoã«å…¥ã‚Œã¦ãŠã。ãã®å ´ã§å‡¦ç†ã—ã¦ã‚‚良ã„ãŒã€ - check_task_list_finishã¨ã‹ãŒå†å¸°çš„ã«å‘¼ã³ã•ã‚Œã‚‹ã®ãŒã‚„ã£ã‹ã„。 - - Task 実行ループ㯠Scheduler ã«poling routineを登録ã™ã‚‹ã®ãŒè‰¯ã•ãã†ã€‚ - post_func ã¯ã€SchedTask 経由㧠poling ã™ã‚Œã°è‰¯ã„。 + PPEå´ã®post_funcã‚„taskを実行ã—ã¦ã„る時ã«ã‚‚SPEã‹ã‚‰ã®ãƒ¡ãƒ¼ãƒ«ã¯èªã‚“ã§ã—ã¾ã† + ã®ãŒæœ›ã¾ã—ã„。èªã‚“ã§ã€ã¨ã‚Šã‚ãˆãšfifoã«å…¥ã‚Œã¦ãŠã。ãã®å ´ã§å‡¦ç†ã—ã¦ã‚‚良ã„ãŒã€ + check_task_list_finishã¨ã‹ãŒå†å¸°çš„ã«å‘¼ã³ã•ã‚Œã‚‹ã®ãŒã‚„ã£ã‹ã„。 + + Task 実行ループ㯠Scheduler ã«poling routineを登録ã™ã‚‹ã®ãŒè‰¯ã•ãã†ã€‚ + post_func ã¯ã€SchedTask 経由㧠poling ã™ã‚Œã°è‰¯ã„。 2010-5-22 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - CpuThread を作るãªã‚‰ã€create_task ã¯ã€manager ã«ãƒ¡ãƒ¼ãƒ«ã§æ•™ãˆãªã„ã¨ã ã‚。 - CpuManager ã¿ãŸã„ãªã‚‚ã®ã‚’用æ„ã—ãªã„ã¨ãƒ€ãƒ¡ã‹ã€‚ - - HTask ã‹ã‚‰ã€waitfor/create_task ã¨ã‹ã¯ã€TaskManager を呼んã§ã„る。 - ãã®ãŸã³ã« CAS (Check and set) ã™ã‚‹ã®ã¯ã°ã‹ã’ã¦ã„るよãªã€œ - TaskManager ã«ãƒ¡ãƒ¼ãƒ«ã§é€ã‚‹æ–¹ãŒè‰¯ã„ã®ã§ã¯ãªã„ã‹ã€‚ - - wait_for ã™ã‚‹ Task ãŒæ—¢ã«çµ‚了ã—ã¦ã„ã‚‹ã¨ã€å˜åœ¨ã—ãªã„Taskã‚ã‚‹ã„ã¯ã€ - 別㪠Task ã‚’ wait_for ã™ã‚‹å ´åˆãŒã‚る。ã„ã‚ゆるゾンビã ã‘ã©ã€ã“れ㯠- ã©ã†ã—よã†? 生ãã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’è˜åˆ¥ã™ã‚‹ã‚ˆã†ã« id を付ã‘ã‚‹ã‹? - - ã©ã†ã‚‚ã€TaskManager.{h,cc} ã¯è¦ã‚‰ãªã„ã£ã½ã„。TMmain ã«æ¸¡ã•ã‚Œã‚‹ã®ã‚‚ - SchedTask ã§ã‚ã‚‹æ–¹ãŒè‡ªç„¶ã€‚ - - TaskListInfo ã¯å¾ªç’°ãƒªã‚¹ãƒˆãªã®ã§ã€SPU/PPU scheduler ã«æ¸¡ã™å‰ã«ã€ - getLast()->next = 0 ã™ã‚‹å¿…è¦ãŒã‚る。freeAll() ã™ã‚‹å‰ã«ã€ç›´ã•ãªã„㨠- ã ã‚。getList() ã¿ãŸã„ãªã‚‚ã®ã‚’用æ„ã—ã¦ã‚‚良ã„ãŒ... - - Scheduler ã®connector(DMA) / Memory 関連㯠Scheduler.{h,cc} ã‹ã‚‰ - 追ã„出ã™ã¹ã。connector/memory ã¨ã‹ã‚’ SchedTask ã«æŒãŸã›ã‚Œã°è‰¯ã„。 - ãã†ã™ã‚‹ã¨ã€APIè¿½åŠ ã§Scheduelr.{h,cc} / TaskManagerImple ã¨ã‹ã‚’ä¿®æ£ã™ã‚‹ - å¿…è¦ãŒãªããªã‚‹ã€‚ + CpuThread を作るãªã‚‰ã€create_task ã¯ã€manager ã«ãƒ¡ãƒ¼ãƒ«ã§æ•™ãˆãªã„ã¨ã ã‚。 + CpuManager ã¿ãŸã„ãªã‚‚ã®ã‚’用æ„ã—ãªã„ã¨ãƒ€ãƒ¡ã‹ã€‚ + + HTask ã‹ã‚‰ã€waitfor/create_task ã¨ã‹ã¯ã€TaskManager を呼んã§ã„る。 + ãã®ãŸã³ã« CAS (Check and set) ã™ã‚‹ã®ã¯ã°ã‹ã’ã¦ã„るよãªã€œ + TaskManager ã«ãƒ¡ãƒ¼ãƒ«ã§é€ã‚‹æ–¹ãŒè‰¯ã„ã®ã§ã¯ãªã„ã‹ã€‚ + + wait_for ã™ã‚‹ Task ãŒæ—¢ã«çµ‚了ã—ã¦ã„ã‚‹ã¨ã€å˜åœ¨ã—ãªã„Taskã‚ã‚‹ã„ã¯ã€ + 別㪠Task ã‚’ wait_for ã™ã‚‹å ´åˆãŒã‚る。ã„ã‚ゆるゾンビã ã‘ã©ã€ã“れ㯠+ ã©ã†ã—よã†? 生ãã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’è˜åˆ¥ã™ã‚‹ã‚ˆã†ã« id を付ã‘ã‚‹ã‹? + + ã©ã†ã‚‚ã€TaskManager.{h,cc} ã¯è¦ã‚‰ãªã„ã£ã½ã„。TMmain ã«æ¸¡ã•ã‚Œã‚‹ã®ã‚‚ + SchedTask ã§ã‚ã‚‹æ–¹ãŒè‡ªç„¶ã€‚ + + TaskListInfo ã¯å¾ªç’°ãƒªã‚¹ãƒˆãªã®ã§ã€SPU/PPU scheduler ã«æ¸¡ã™å‰ã«ã€ + getLast()->next = 0 ã™ã‚‹å¿…è¦ãŒã‚る。freeAll() ã™ã‚‹å‰ã«ã€ç›´ã•ãªã„㨠+ ã ã‚。getList() ã¿ãŸã„ãªã‚‚ã®ã‚’用æ„ã—ã¦ã‚‚良ã„ãŒ... + + Scheduler ã®connector(DMA) / Memory 関連㯠Scheduler.{h,cc} ã‹ã‚‰ + 追ã„出ã™ã¹ã。connector/memory ã¨ã‹ã‚’ SchedTask ã«æŒãŸã›ã‚Œã°è‰¯ã„。 + ãã†ã™ã‚‹ã¨ã€APIè¿½åŠ ã§Scheduelr.{h,cc} / TaskManagerImple ã¨ã‹ã‚’ä¿®æ£ã™ã‚‹ + å¿…è¦ãŒãªããªã‚‹ã€‚ 2010-5-11 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - speTaskList_bg ã¯è¿½æ”¾ã™ã‚‹ã¹ãã ã¨æ€ã‚れる。(done) - - PPE task ã¯TaskList ã‚’ã™ã¹ã¦å®Ÿè¡Œã™ã‚‹ã¾ã§æˆ»ã£ã¦æ¥ãªã„。 - ãªã®ã§ã€spe ã®mail checkãŒç–Žã‹ã«ãªã£ã¦ã„る。 - PPE task ã®å®Ÿè¡Œé€”ä¸ã§ SPEã®mail checkã‚’è¡Œãªã†ã¹ã。 - - Fifo/Cell TaskManagerImpl ã¯çµ±ä¸€ã§ãã‚‹ã®ã§ã¯ãªã„ã‹? (done) - - SchedTask ã¯ä»Šã¯å„Taskã®selfã‚’è¿”ã—ã¦ã„ã‚‹ãŒTaskListã«ã™ã‚‹ã¹ã - spe ã‹ã‚‰ã®ãƒ¡ãƒ¼ãƒ«ã¯TaskListãŒç©ºã«ãªã£ãŸæ™‚ã§è‰¯ã„。早ã‚ã«ã€ - - PPE Taskã‚’æ—©ã‚ã«èµ·å‹•ã™ã‚‹ç¾©ç†ã¯ã‚ã‚‹? ã‚ã‚‹ã‹ã‚‚知れãªã„。Quick Reply Property。 - - TaskList ã‚‚DataSegement化ã™ã‚‹ã¹ãã ã¨æ€ã‚れる。(done) - - Scheduler::task_list ã‚‚DataSegment化ã—ã¦ã€ãƒ¡ã‚¤ãƒ³ãƒ¡ãƒ¢ãƒªä¸Šã«ç½®ã。 + speTaskList_bg ã¯è¿½æ”¾ã™ã‚‹ã¹ãã ã¨æ€ã‚れる。(done) + + PPE task ã¯TaskList ã‚’ã™ã¹ã¦å®Ÿè¡Œã™ã‚‹ã¾ã§æˆ»ã£ã¦æ¥ãªã„。 + ãªã®ã§ã€spe ã®mail checkãŒç–Žã‹ã«ãªã£ã¦ã„る。 + PPE task ã®å®Ÿè¡Œé€”ä¸ã§ SPEã®mail checkã‚’è¡Œãªã†ã¹ã。 + + Fifo/Cell TaskManagerImpl ã¯çµ±ä¸€ã§ãã‚‹ã®ã§ã¯ãªã„ã‹? (done) + + SchedTask ã¯ä»Šã¯å„Taskã®selfã‚’è¿”ã—ã¦ã„ã‚‹ãŒTaskListã«ã™ã‚‹ã¹ã + spe ã‹ã‚‰ã®ãƒ¡ãƒ¼ãƒ«ã¯TaskListãŒç©ºã«ãªã£ãŸæ™‚ã§è‰¯ã„。早ã‚ã«ã€ + + PPE Taskã‚’æ—©ã‚ã«èµ·å‹•ã™ã‚‹ç¾©ç†ã¯ã‚ã‚‹? ã‚ã‚‹ã‹ã‚‚知れãªã„。Quick Reply Property。 + + TaskList ã‚‚DataSegement化ã™ã‚‹ã¹ãã ã¨æ€ã‚れる。(done) + + Scheduler::task_list ã‚‚DataSegment化ã—ã¦ã€ãƒ¡ã‚¤ãƒ³ãƒ¡ãƒ¢ãƒªä¸Šã«ç½®ã。 2010-4-28 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - SchedTaskBase ã®ã¿ã«ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°ã‚’書ã‹ã›ã¦ã€ - SchedTask*.h ã«ã¯ method ã®ã¿ã‚’書ã‹ã›ã‚‹ã€‚ - ãã†ã™ã‚‹ã¨ã€ãƒ‡ãƒãƒƒã‚°ãŒæ¥½ã ã—ã€object ã®allocateも楽。(done) - - HTask(list) -> TaskList(array) -> SchedTask - - ã¨ã„ã†copyã ãŒã€SchedTask ã§æœ€åˆã‹ã‚‰ä½œã‚‹æ–¹ãŒè‰¯ã„ã®ã‹ã‚‚。 - ãれを DataSegment ã§å…±æœ‰ã™ã‚‹ã€‚ - - SimpleTask ã®Mailを〠- if (mail_is_not_full) send_mail() ; - else if (queue is not full) enqueuue() ; - else wait_mail(); - ã£ã¦ãªæ„Ÿã˜ã«å‡ºæ¥ãªã„ã®? - - Multi thread ã«ã™ã‚‹ã¨ã€PPEã®mail loop ãŒæš´èµ°ã™ã‚‹å¯èƒ½æ€§ãŒã‚る。 - ã“ã®ã‚ãŸã‚Šãªã‚“ã‹æ–¹æ³•ãŒã‚ã‚‹ã¯ãšã ãŒ... + SchedTaskBase ã®ã¿ã«ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°ã‚’書ã‹ã›ã¦ã€ + SchedTask*.h ã«ã¯ method ã®ã¿ã‚’書ã‹ã›ã‚‹ã€‚ + ãã†ã™ã‚‹ã¨ã€ãƒ‡ãƒãƒƒã‚°ãŒæ¥½ã ã—ã€object ã®allocateも楽。(done) + + HTask(list) -> TaskList(array) -> SchedTask + + ã¨ã„ã†copyã ãŒã€SchedTask ã§æœ€åˆã‹ã‚‰ä½œã‚‹æ–¹ãŒè‰¯ã„ã®ã‹ã‚‚。 + ãれを DataSegment ã§å…±æœ‰ã™ã‚‹ã€‚ + + SimpleTask ã®Mailを〠+ if (mail_is_not_full) send_mail() ; + else if (queue is not full) enqueuue() ; + else wait_mail(); + ã£ã¦ãªæ„Ÿã˜ã«å‡ºæ¥ãªã„ã®? + + Multi thread ã«ã™ã‚‹ã¨ã€PPEã®mail loop ãŒæš´èµ°ã™ã‚‹å¯èƒ½æ€§ãŒã‚る。 + ã“ã®ã‚ãŸã‚Šãªã‚“ã‹æ–¹æ³•ãŒã‚ã‚‹ã¯ãšã ãŒ... 2010-4-24 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - write T3 T2 T1 TL TA0 TA1 - exec T2 T1 TL TA0 TA1 TA2 - read T1 TL TA TA1 TA2 T2 - next T1 TL TA TA1 TA2* T2   - - *ã®ã¨ã“ã‚ã§çµ‚了mailãŒå‡ºã¦TaskArrayã®ãƒ‡ãƒ¼ã‚¿ãŒfreeã•ã‚Œã¦ã—ã¾ã†ã®ã§ã€ã‚ˆããªã„ - ãã†ãªã‚‰ãªã„よã†ã«ã€ä¸€æ®µTAN(SchedTaskArrayNop)を挟む。 - - write T3 T2 T1 TL TA0 TA1 TA2 TAN% - exec T2 T1 TL TA0 TA1 TA2 TAN T2 - read T1 TL TA TA1 TA2 TAN T2 T3 - next T1 TL TA TA1 TA2 TAN T2 T3  - - %ã®ã¨ã“ã‚ã§çµ‚了mailã‚’é€ã‚‹ã€‚T2ã®readã®ã¨ã“ã‚ã§ã€TaskArrayã®ãƒ‡ãƒ¼ã‚¿ã¯readbuff上ã«ã‚ã‚‹ã®ã§ - ç ´å£Šã•ã‚Œã¦ã—ã¾ã†ã€‚ãªã®ã§ã€savedTask->task->self ã®å€¤ã¯TANã«ã‚³ãƒ”ーã—ã¦æŒã£ã¦ã„ãå¿…è¦ãŒã‚ã‚‹ + write T3 T2 T1 TL TA0 TA1 + exec T2 T1 TL TA0 TA1 TA2 + read T1 TL TA TA1 TA2 T2 + next T1 TL TA TA1 TA2* T2   + + *ã®ã¨ã“ã‚ã§çµ‚了mailãŒå‡ºã¦TaskArrayã®ãƒ‡ãƒ¼ã‚¿ãŒfreeã•ã‚Œã¦ã—ã¾ã†ã®ã§ã€ã‚ˆããªã„ + ãã†ãªã‚‰ãªã„よã†ã«ã€ä¸€æ®µTAN(SchedTaskArrayNop)を挟む。 + + write T3 T2 T1 TL TA0 TA1 TA2 TAN% + exec T2 T1 TL TA0 TA1 TA2 TAN T2 + read T1 TL TA TA1 TA2 TAN T2 T3 + next T1 TL TA TA1 TA2 TAN T2 T3  + + %ã®ã¨ã“ã‚ã§çµ‚了mailã‚’é€ã‚‹ã€‚T2ã®readã®ã¨ã“ã‚ã§ã€TaskArrayã®ãƒ‡ãƒ¼ã‚¿ã¯readbuff上ã«ã‚ã‚‹ã®ã§ + ç ´å£Šã•ã‚Œã¦ã—ã¾ã†ã€‚ãªã®ã§ã€savedTask->task->self ã®å€¤ã¯TANã«ã‚³ãƒ”ーã—ã¦æŒã£ã¦ã„ãå¿…è¦ãŒã‚ã‚‹ 2009-12-19 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - ãã†ã‹ã€TaskList->next ã¯ã€SPE å´ã§è‡ªåˆ†ã§å‘¼ã³å‡ºã—ã¦ã„ã‚‹ã‚ã‘ã。 - ã¨è¨€ã†ã“ã¨ã¯ã€schdule(list) ãŒçµ‚ã‚‹ã¾ã§ã¯ã€mail check ã«æˆ»ã£ã¦ - ã“ãªã„... ãã‚Œã ã¨ã€ã¡ã‚‡ã£ã¨ã¾ãšã„ã。 - - ã¨ãªã‚‹ã¨ã€TaskList ã®free(clear)ã®timingã¯? schdule ã‹ã‚‰æŠœã‘㟠- 時ã¨è¨€ã†ã“ã¨ã«ãªã‚‹ã‚ã‘ã ã‘ã©ã€‚ - - waitQueue ã¯ã€å®Ÿã¯ä¸è¦ã€‚ã—ã‹ã—ã€çµ‚了æ¡ä»¶ã€dead lock detection ã«ã¯ - å¿…è¦ã‚‰ã—ã„。 + ãã†ã‹ã€TaskList->next ã¯ã€SPE å´ã§è‡ªåˆ†ã§å‘¼ã³å‡ºã—ã¦ã„ã‚‹ã‚ã‘ã。 + ã¨è¨€ã†ã“ã¨ã¯ã€schdule(list) ãŒçµ‚ã‚‹ã¾ã§ã¯ã€mail check ã«æˆ»ã£ã¦ + ã“ãªã„... ãã‚Œã ã¨ã€ã¡ã‚‡ã£ã¨ã¾ãšã„ã。 + + ã¨ãªã‚‹ã¨ã€TaskList ã®free(clear)ã®timingã¯? schdule ã‹ã‚‰æŠœã‘㟠+ 時ã¨è¨€ã†ã“ã¨ã«ãªã‚‹ã‚ã‘ã ã‘ã©ã€‚ + + waitQueue ã¯ã€å®Ÿã¯ä¸è¦ã€‚ã—ã‹ã—ã€çµ‚了æ¡ä»¶ã€dead lock detection ã«ã¯ + å¿…è¦ã‚‰ã—ã„。 2009-12-16 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - CellTaskManagerã®TaskList_bg ã¯å¤‰ã よ。TaskList 自体㌠- queue ãªã‚“ã ã‹ã‚‰ã€ãƒˆãƒƒãƒ—二ã¤ã‚’特別扱ã„ã—ã¦ã„ã‚‹ã ã‘ã§ã—ょã†ã€‚ - - TaskList ã‚’read()ã—ã¦ã„ã‚‹ã®ã¨åŒæ™‚ã«next()ã•ã‚Œã¦ã—ã¾ã†ã®ã§ã€ - next()ã®ä¸ã§ã€TaskList ã®ä¸èº«ã«è§¦ã‚‹ã®ã¯è‰¯ããªã„。SchedTask - ã¯å¾®å¦™ã«å¤§ä¸ˆå¤«ã‚‰ã—ã„。TLã®dma waitã¯ã€write ã«ãªã£ã¦ã„ãŸã€‚ - - TaskArray/TaskArray1 ã¯ã€TAã®ä¸èº«ã‚’next()ã§åˆ¤æ–ã—ã¦ã„ã‚‹ã®ã§ã€ - ã“ã‚Œã¯ãŸã ã—ããªã„。TaskListLoad ã‚’é–“ã«ã¯ã•ã‚€æ‰‹ã‚‚ã‚ã‚‹ãŒ... - - write T3 T2 T1 TL TA0 ! TL ã® dma wait - exec T2 T1 TL! TA0 TA1 - read T1 TL* TA TA1 TA2 * TL ã® dma start - next T1 TL% TA TA1 TA2 % TAã®ä½œæˆåˆ¤æ– - - TaskListLoad ã‚’ã¯ã•ã‚€ã€å®‰å…¨ã ã‘ã©é…ã„方法 - - write T3 T2 T1 TLL TL - exec T2 T1 TLL! TL TA0 - read T1 TLL*TL TA0 TA1 - next T1 TLL TL% TA0 TA1 - - ãªã‚“ã ã‘ã©ã€pointer ã®ä¸‹ä½ãƒ“ットã§é€ã‚‹ã¨ã€å‰è€…ã§å®Ÿè¡Œã§ãる。 - next ã§ã€TaskList ã®loadを始ã‚ã¦ã—ã¾ã†ã¨ã„ã†æ‰‹ã‚‚ã‚ã‚‹ãª... - - write T3 T2 T1 TL TA0 ! TL ã® dma wait - exec T2 T1 TL TA0 TA1 - read T1 TL! TA TA1 TA2 * TL ã® dma start - next T1* TL% TA TA1 TA2 - - ã“ã£ã£ã¡ã‹ãª... + CellTaskManagerã®TaskList_bg ã¯å¤‰ã よ。TaskList 自体㌠+ queue ãªã‚“ã ã‹ã‚‰ã€ãƒˆãƒƒãƒ—二ã¤ã‚’特別扱ã„ã—ã¦ã„ã‚‹ã ã‘ã§ã—ょã†ã€‚ + + TaskList ã‚’read()ã—ã¦ã„ã‚‹ã®ã¨åŒæ™‚ã«next()ã•ã‚Œã¦ã—ã¾ã†ã®ã§ã€ + next()ã®ä¸ã§ã€TaskList ã®ä¸èº«ã«è§¦ã‚‹ã®ã¯è‰¯ããªã„。SchedTask + ã¯å¾®å¦™ã«å¤§ä¸ˆå¤«ã‚‰ã—ã„。TLã®dma waitã¯ã€write ã«ãªã£ã¦ã„ãŸã€‚ + + TaskArray/TaskArray1 ã¯ã€TAã®ä¸èº«ã‚’next()ã§åˆ¤æ–ã—ã¦ã„ã‚‹ã®ã§ã€ + ã“ã‚Œã¯ãŸã ã—ããªã„。TaskListLoad ã‚’é–“ã«ã¯ã•ã‚€æ‰‹ã‚‚ã‚ã‚‹ãŒ... + + write T3 T2 T1 TL TA0 ! TL ã® dma wait + exec T2 T1 TL! TA0 TA1 + read T1 TL* TA TA1 TA2 * TL ã® dma start + next T1 TL% TA TA1 TA2 % TAã®ä½œæˆåˆ¤æ– + + TaskListLoad ã‚’ã¯ã•ã‚€ã€å®‰å…¨ã ã‘ã©é…ã„方法 + + write T3 T2 T1 TLL TL + exec T2 T1 TLL! TL TA0 + read T1 TLL*TL TA0 TA1 + next T1 TLL TL% TA0 TA1 + + ãªã‚“ã ã‘ã©ã€pointer ã®ä¸‹ä½ãƒ“ットã§é€ã‚‹ã¨ã€å‰è€…ã§å®Ÿè¡Œã§ãる。 + next ã§ã€TaskList ã®loadを始ã‚ã¦ã—ã¾ã†ã¨ã„ã†æ‰‹ã‚‚ã‚ã‚‹ãª... + + write T3 T2 T1 TL TA0 ! TL ã® dma wait + exec T2 T1 TL TA0 TA1 + read T1 TL! TA TA1 TA2 * TL ã® dma start + next T1* TL% TA TA1 TA2 + + ã“ã£ã£ã¡ã‹ãª... 2009-12-15 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - SimpleTask ã®å®Ÿè£…ãŒå‡ºæ¥ãŸã®ã§ã€TaskArray ã‹ã‚‰ã¯ã€ - PPUå´ã«è©³ç´°ãªæƒ…å ±ã‚’è¿”ã›ã‚‹ã€‚ã¨è¨€ã†ã“ã¨ã¯ã€SPUå´ã‹ã‚‰ - PPU Task を投入出æ¥ã‚‹ã€‚実装ã™ã‚Œã°ã ã‘ã©ã€‚ - - Task å´ã‹ã‚‰æ›¸ã出ã—æƒ…å ±ã‚’è¨å®šã™ã‚‹APIãŒå¿…è¦ã€‚ - マニュアルも書ãã‹ã€‚ - - Down cast ã‚’ã™ã¹ã¦ãªãã—ãŸã„。Sched*.cc ã‹ã‚‰ã¯å–ã‚Œã¾ã—ãŸã€‚ - - ã¾ã ã€ã„らãªã„ã‚‚ã®ãŒçµæ§‹ã‚るらã—ã„... + SimpleTask ã®å®Ÿè£…ãŒå‡ºæ¥ãŸã®ã§ã€TaskArray ã‹ã‚‰ã¯ã€ + PPUå´ã«è©³ç´°ãªæƒ…å ±ã‚’è¿”ã›ã‚‹ã€‚ã¨è¨€ã†ã“ã¨ã¯ã€SPUå´ã‹ã‚‰ + PPU Task を投入出æ¥ã‚‹ã€‚実装ã™ã‚Œã°ã ã‘ã©ã€‚ + + Task å´ã‹ã‚‰æ›¸ã出ã—æƒ…å ±ã‚’è¨å®šã™ã‚‹APIãŒå¿…è¦ã€‚ + マニュアルも書ãã‹ã€‚ + + Down cast ã‚’ã™ã¹ã¦ãªãã—ãŸã„。Sched*.cc ã‹ã‚‰ã¯å–ã‚Œã¾ã—ãŸã€‚ + + ã¾ã ã€ã„らãªã„ã‚‚ã®ãŒçµæ§‹ã‚るらã—ã„... 2009-12-14 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - よã†ã‚„ã£ã¨å‹•ãã¾ã—ãŸã€‚SIMPLE_TASK ã§ãªã„ã®ã¨ã®äº’æ›æ€§ - ã‚’ç¶æŒã™ã‚‹ã¹ãã‹? é ‘å¼µã‚Œã°å‡ºæ¥ã‚‹ã¨æ€ã†ã‘ã©... - - 方法ã¯äºŒã¤ã€‚TaskList ã«ç„¡ç†çŸ¢ç† Task ã‚’è©°ã‚込むã‹ã€ - 今ã¾ã§ã®HTaskã‚’ã€TaskArray ã«èªã¿å¤‰ãˆã‚‹ã‹ã€‚å‰è€…ã¯å¤‰æ›´ãŒ - 多ã„。後者ã¯ã€wait_for ãŒå¾®å¦™ã€‚ - - å‰è€…ã§å®Ÿè£…ã—ã¾ã—ãŸã€‚ãã®ã†ã¡è½ã™ã‹ã‚‚。エラーãƒã‚§ãƒƒã‚¯ã¨ã€ - エラー処ç†é–¢æ•°ãŒå¿…è¦ã€‚コメントを書ã‹ãªã„ã¨ã€‚ + よã†ã‚„ã£ã¨å‹•ãã¾ã—ãŸã€‚SIMPLE_TASK ã§ãªã„ã®ã¨ã®äº’æ›æ€§ + ã‚’ç¶æŒã™ã‚‹ã¹ãã‹? é ‘å¼µã‚Œã°å‡ºæ¥ã‚‹ã¨æ€ã†ã‘ã©... + + 方法ã¯äºŒã¤ã€‚TaskList ã«ç„¡ç†çŸ¢ç† Task ã‚’è©°ã‚込むã‹ã€ + 今ã¾ã§ã®HTaskã‚’ã€TaskArray ã«èªã¿å¤‰ãˆã‚‹ã‹ã€‚å‰è€…ã¯å¤‰æ›´ãŒ + 多ã„。後者ã¯ã€wait_for ãŒå¾®å¦™ã€‚ + + å‰è€…ã§å®Ÿè£…ã—ã¾ã—ãŸã€‚ãã®ã†ã¡è½ã™ã‹ã‚‚。エラーãƒã‚§ãƒƒã‚¯ã¨ã€ + エラー処ç†é–¢æ•°ãŒå¿…è¦ã€‚コメントを書ã‹ãªã„ã¨ã€‚ 2009-12-12 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - SchedTask::next ã§ã€TaskArray ã‚’èªè˜ã—ã¦ã€ãã“ã§ã€ - SchedTaskArrayLoad を作る。次ã®SchedTask を用æ„ã—ã¦ã€ - SchedTaskArrayLoad ã«savedSchedTaskã¨ã—ã¦å¼•ã渡ã™ã€‚ - - SchedTaskArrayLoad::read ã¯ã€TaskArray ã‚’load ã™ã‚‹ã€‚ - SchedTaskArrayLoad::next ã¯ã€SchedTaskArray ã‚’è¿”ã™ã€‚ - ã“ã®æ™‚ã«ã€saveedSchedTask を引ã継ã。 - write/exec ã¯ä½•ã‚‚ã—ãªã„。(ã“ã‚Œã§ã€pipe line を空ã‘ã‚‹) - - SchedTaskArray::read ã¯ã€List DMA ã‚’load ã™ã‚‹ã€‚ - SchedTaskArrayLoad::next ã¯ã€TaskArray 上ã®Taskã‚’è¿”ã™ã€‚ - exec/write ã¯ã€List DMA 対応ã§å‹•ä½œã™ã‚‹ã€‚ - ã‚‚ã†ãªã„å ´åˆã«ã¯ã€SchedTaskArrayLoad ã‹ã‚‰ä¼ãˆã‚‰ã‚ŒãŸ - saveã•ã‚ŒãŸ SchedTask ã‚’è¿”ã™ã€‚mail ã‚‚é€ã‚‹ã€‚ + SchedTask::next ã§ã€TaskArray ã‚’èªè˜ã—ã¦ã€ãã“ã§ã€ + SchedTaskArrayLoad を作る。次ã®SchedTask を用æ„ã—ã¦ã€ + SchedTaskArrayLoad ã«savedSchedTaskã¨ã—ã¦å¼•ã渡ã™ã€‚ + + SchedTaskArrayLoad::read ã¯ã€TaskArray ã‚’load ã™ã‚‹ã€‚ + SchedTaskArrayLoad::next ã¯ã€SchedTaskArray ã‚’è¿”ã™ã€‚ + ã“ã®æ™‚ã«ã€saveedSchedTask を引ã継ã。 + write/exec ã¯ä½•ã‚‚ã—ãªã„。(ã“ã‚Œã§ã€pipe line を空ã‘ã‚‹) + + SchedTaskArray::read ã¯ã€List DMA ã‚’load ã™ã‚‹ã€‚ + SchedTaskArrayLoad::next ã¯ã€TaskArray 上ã®Taskã‚’è¿”ã™ã€‚ + exec/write ã¯ã€List DMA 対応ã§å‹•ä½œã™ã‚‹ã€‚ + ã‚‚ã†ãªã„å ´åˆã«ã¯ã€SchedTaskArrayLoad ã‹ã‚‰ä¼ãˆã‚‰ã‚ŒãŸ + saveã•ã‚ŒãŸ SchedTask ã‚’è¿”ã™ã€‚mail ã‚‚é€ã‚‹ã€‚ 2009-12-7 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - pipeline stageã¯ã€loop local ã ã‹ã‚‰ã€instance 変数ã§ã‚ã‚‹å¿… - è¦ã¯ãªã„。途ä¸ã§ä¸æ–ã™ã‚‹ã“ã¨ã¯ãªã„。ã“れを一時変数ã«ã—ã¦ã€ - å†å¸°çš„ã«pipeline stage を呼ã³å‡ºã›ã°è‰¯ã„らã—ã„。 - - pipeline stage ã®task1ã«å¼•æ•°ã§ new SchedTaskList を渡ã™ã¨ã€ - run()ã§task1 = new SchedNop() ã™ã‚‹ã‚ˆã‚Šãƒ«ãƒ¼ãƒ—二回ãらã„高速 - ã«ãªã‚‹ã‚‰ã—ã„。ãŒã€ãŠãらãã€ã»ã¨ã‚“ã©å½±éŸ¿ã¯ãªã„。 - - pipelineã§æ—¢ã«èµ°ã£ã¦ã„る次ã®Taskã®readã‚’åœã‚ã‚‹å¿…è¦ãŒã‚るら - ã—ã„。å‰ã‚‚ã£ã¦Nopを入れã¦ç½®ã方法もã‚ã‚‹ãŒã€TaskListã®å¢ƒç•ŒãŒ - å•é¡Œã«ãªã‚‹ã€‚åœã‚ãªã„ã¨ãƒ‘イプラインãƒãƒƒãƒ•ã‚¡ã‚’æ–°ãŸã«å–ã‚‹å¿…è¦ - ãŒã‚り連鎖的ã«ã¯ã¾ã‚‹ã€‚ - - writeã—ã¦ã„る奴もã„ã‚‹ã—ãªã€‚スケジューラã¯ä¸€æ®µã—ã‹ãƒã‚¹ãƒˆã—㪠- ã„ã‹ã‚‰æ–°ã—ããƒãƒƒãƒ•ã‚¡å–ã‚‹ã‹? ã„ã‚„ã€ã‚„ã£ã±ã‚Šè¨±ã•ã‚Œãªã„ã‹ã€‚ã„ - ã‚„ã€å–ã‚‹ã‹ã€‚ã†ãƒ¼ã‚“ã€æ‚©ã¾ã—ã„。ã©ã†ã›ã€Task list ã¯ç¢ºä¿ã—㪠- ã„ã¨ã ã‚ã ã‹ã‚‰â€¦ å†å¸°ã—ãªã„ã§ã€ã‚‚ã¨ã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ©ã§å‹•ã‹ã—㟠- ã„ - - ãã®ãŸã‚ã«ã¯ã€æ—¢ã« Pipeline ã«å…¥ã£ã¦ã„ã‚‹TaskãŒé‚ªé”ã‹ã€‚ï¼’ã¤Task - を投入ã—ã¦ã€é–“ã« TaskList read ãŒå…¥ã£ã¦ã‚‚ãªã‚“ã¨ã‹ãªã‚‹ã‚ˆã†ã« - 工夫ã™ã‚‹ã®ãŒè‰¯ã„ã£ã½ã„ - - ãªã‚“ã‹ã€Renew Task ã®é“ã‚’æ©ã‚“ã§ã„ã‚‹æ°—ã‚‚ã™ã‚‹ãŒ... + pipeline stageã¯ã€loop local ã ã‹ã‚‰ã€instance 変数ã§ã‚ã‚‹å¿… + è¦ã¯ãªã„。途ä¸ã§ä¸æ–ã™ã‚‹ã“ã¨ã¯ãªã„。ã“れを一時変数ã«ã—ã¦ã€ + å†å¸°çš„ã«pipeline stage を呼ã³å‡ºã›ã°è‰¯ã„らã—ã„。 + + pipeline stage ã®task1ã«å¼•æ•°ã§ new SchedTaskList を渡ã™ã¨ã€ + run()ã§task1 = new SchedNop() ã™ã‚‹ã‚ˆã‚Šãƒ«ãƒ¼ãƒ—二回ãらã„高速 + ã«ãªã‚‹ã‚‰ã—ã„。ãŒã€ãŠãらãã€ã»ã¨ã‚“ã©å½±éŸ¿ã¯ãªã„。 + + pipelineã§æ—¢ã«èµ°ã£ã¦ã„る次ã®Taskã®readã‚’åœã‚ã‚‹å¿…è¦ãŒã‚るら + ã—ã„。å‰ã‚‚ã£ã¦Nopを入れã¦ç½®ã方法もã‚ã‚‹ãŒã€TaskListã®å¢ƒç•ŒãŒ + å•é¡Œã«ãªã‚‹ã€‚åœã‚ãªã„ã¨ãƒ‘イプラインãƒãƒƒãƒ•ã‚¡ã‚’æ–°ãŸã«å–ã‚‹å¿…è¦ + ãŒã‚り連鎖的ã«ã¯ã¾ã‚‹ã€‚ + + writeã—ã¦ã„る奴もã„ã‚‹ã—ãªã€‚スケジューラã¯ä¸€æ®µã—ã‹ãƒã‚¹ãƒˆã—㪠+ ã„ã‹ã‚‰æ–°ã—ããƒãƒƒãƒ•ã‚¡å–ã‚‹ã‹? ã„ã‚„ã€ã‚„ã£ã±ã‚Šè¨±ã•ã‚Œãªã„ã‹ã€‚ã„ + ã‚„ã€å–ã‚‹ã‹ã€‚ã†ãƒ¼ã‚“ã€æ‚©ã¾ã—ã„。ã©ã†ã›ã€Task list ã¯ç¢ºä¿ã—㪠+ ã„ã¨ã ã‚ã ã‹ã‚‰â€¦ å†å¸°ã—ãªã„ã§ã€ã‚‚ã¨ã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ©ã§å‹•ã‹ã—㟠+ ã„ + + ãã®ãŸã‚ã«ã¯ã€æ—¢ã« Pipeline ã«å…¥ã£ã¦ã„ã‚‹TaskãŒé‚ªé”ã‹ã€‚ï¼’ã¤Task + を投入ã—ã¦ã€é–“ã« TaskList read ãŒå…¥ã£ã¦ã‚‚ãªã‚“ã¨ã‹ãªã‚‹ã‚ˆã†ã« + 工夫ã™ã‚‹ã®ãŒè‰¯ã„ã£ã½ã„ + + ãªã‚“ã‹ã€Renew Task ã®é“ã‚’æ©ã‚“ã§ã„ã‚‹æ°—ã‚‚ã™ã‚‹ãŒ... 2009-12-6 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - ã‚„ã£ã±ã‚Šã€Graphical ãªprofileãŒæ¬²ã—ã„ã‹ãªã€‚ã©ã®DMA/Taskã«æ™‚é–“ãŒã‹ã‹ã£ã¦ã„ã‚‹ - ã‹ãŒè¦‹ãˆã‚‹ã‚ˆã†ãªã‚‚ã®ãŒã€‚profile ã§ã€ãƒ¡ã‚¤ãƒ³ãƒ¡ãƒ¢ãƒªã«logを書ã出ã™ã‚ˆã†ãªã‚‚ã® - ãŒå¿…è¦ã€‚deubg 用ã®ãƒ‡ãƒ¼ã‚¿æ›¸ã出ã—ツールãŒã„ã‚‹ãªã€‚ - - log header - command(16) cpu-id(16) event(32) time(64) - struct debug_log { - uint16 command; - uint16 cpu-id; - uint32 event; - uint32 time; - } - ãらã„? get_segment 使ã†ã¹ãã‹ã€‚é€£ç¶šé ˜åŸŸã«ä½¿ãˆã‚‹ get_segement ãŒã‚る㨠- 良ã„ã‚ã‘ã。write ã¨ã‚‚言ã†ãŒã€‚ - - sort ã§ã€memcpy ã—ã¦ã„ã‚‹ã®ã¯å¤‰ã€‚read/write buffer ã‚’flipã—ã¦ã‚„る㨠- 良ã„。両方ã¨ã‚‚æ¡ã£ã¦ã„ã‚‹ã‚“ã ã‹ã‚‰å•é¡Œãªã„。ãŸã ã—ã€read/write buffer - ã®å¤§ãã•ã¯ç‰ã—ã„å¿…è¦ãŒã‚る。SchedTask->flip_read_write_buffer(); ã‹? - sort ã¡ã‚ƒã‚“ã¨ã¯å‹•ã„ã¦ã„ã‚‹ã‚“ã よ。 - - word_count_test ã®ç¨¼åƒçŽ‡ãŒ10%ãªã®ã¯ã²ã©ã„。word_count ã®æ–¹ã ã¨åり㌠- ã‚ã£ã¦ã€ä¸€éƒ¨ãŒ50%ã«ãªã‚‹ãŒ10%ãらã„。DMAå¾…ã¡ã§ã¯ãªãã¦ã€ãƒ¡ãƒ¼ãƒ«å¾…ã¡ã« - ãªã£ã¦ã„る。PPUãƒãƒƒã‚¯ã«ãªã£ã¦ã„ã‚‹ã£ã½ã„。 - - TaskArray ã¯ã€SchedTask ã‚’æ‹¡å¼µã—ã¦å‡¦ç†ã™ã‚‹ã€‚next ã§ã€æ¬¡ã®Taskã‚’ - 用æ„ã™ã‚‹æ„Ÿã˜ã‹ã€‚inData/outData ã®å‡¦ç†ã‚‚。 + ã‚„ã£ã±ã‚Šã€Graphical ãªprofileãŒæ¬²ã—ã„ã‹ãªã€‚ã©ã®DMA/Taskã«æ™‚é–“ãŒã‹ã‹ã£ã¦ã„ã‚‹ + ã‹ãŒè¦‹ãˆã‚‹ã‚ˆã†ãªã‚‚ã®ãŒã€‚profile ã§ã€ãƒ¡ã‚¤ãƒ³ãƒ¡ãƒ¢ãƒªã«logを書ã出ã™ã‚ˆã†ãªã‚‚ã® + ãŒå¿…è¦ã€‚deubg 用ã®ãƒ‡ãƒ¼ã‚¿æ›¸ã出ã—ツールãŒã„ã‚‹ãªã€‚ + + log header + command(16) cpu-id(16) event(32) time(64) + struct debug_log { + uint16 command; + uint16 cpu-id; + uint32 event; + uint32 time; + } + ãらã„? get_segment 使ã†ã¹ãã‹ã€‚é€£ç¶šé ˜åŸŸã«ä½¿ãˆã‚‹ get_segement ãŒã‚る㨠+ 良ã„ã‚ã‘ã。write ã¨ã‚‚言ã†ãŒã€‚ + + sort ã§ã€memcpy ã—ã¦ã„ã‚‹ã®ã¯å¤‰ã€‚read/write buffer ã‚’flipã—ã¦ã‚„る㨠+ 良ã„。両方ã¨ã‚‚æ¡ã£ã¦ã„ã‚‹ã‚“ã ã‹ã‚‰å•é¡Œãªã„。ãŸã ã—ã€read/write buffer + ã®å¤§ãã•ã¯ç‰ã—ã„å¿…è¦ãŒã‚る。SchedTask->flip_read_write_buffer(); ã‹? + sort ã¡ã‚ƒã‚“ã¨ã¯å‹•ã„ã¦ã„ã‚‹ã‚“ã よ。 + + word_count_test ã®ç¨¼åƒçŽ‡ãŒ10%ãªã®ã¯ã²ã©ã„。word_count ã®æ–¹ã ã¨åり㌠+ ã‚ã£ã¦ã€ä¸€éƒ¨ãŒ50%ã«ãªã‚‹ãŒ10%ãらã„。DMAå¾…ã¡ã§ã¯ãªãã¦ã€ãƒ¡ãƒ¼ãƒ«å¾…ã¡ã« + ãªã£ã¦ã„る。PPUãƒãƒƒã‚¯ã«ãªã£ã¦ã„ã‚‹ã£ã½ã„。 + + TaskArray ã¯ã€SchedTask ã‚’æ‹¡å¼µã—ã¦å‡¦ç†ã™ã‚‹ã€‚next ã§ã€æ¬¡ã®Taskã‚’ + 用æ„ã™ã‚‹æ„Ÿã˜ã‹ã€‚inData/outData ã®å‡¦ç†ã‚‚。 2009-12-5 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - ãªã‚“ã‹ãªã。一ã¤ã®æ©Ÿèƒ½ã‚’付ã‘åŠ ãˆã‚ˆã†ã¨ã™ã‚‹ã¨ã€ - - TaskManager/Cell/CellTaskManagerImpl.cc - TaskManager/Cell/CellTaskManagerImpl.h TaskManager/Cell/spe/CellDmaManager.cc - TaskManager/Cell/spe/CellDmaManager.h TaskManager/Cell/spe/ShowTime.cc TaskManager/Cell/spe/ShowTime.h - TaskManager/Cell/spe/SpeTaskManagerImpl.cc TaskManager/Cell/spe/SpeTaskManagerImpl.h - TaskManager/Cell/spe/main.cc TaskManager/Fifo/FifoTaskManagerImpl.cc - TaskManager/Fifo/FifoTaskManagerImpl.h TaskManager/Makefile.cell TaskManager/kernel/ppe/TaskManager.h - TaskManager/kernel/ppe/TaskManagerImpl.h TaskManager/kernel/schedule/DmaManager.h - TaskManager/kernel/schedule/SchedTask.cc TaskManager/kernel/schedule/SchedTask.h - TaskManager/kernel/schedule/Scheduler.h TaskManager/kernel/sys_task/SysTasks.h - example/word_count_test/main.cc - - ã“ã‚“ãªã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ã„ã˜ã‚‰ãªã„ã¨å‡ºæ¥ãªã„。ãã‚Œã£ã¦ã€å…¨ç„¶ã€ãƒ€ãƒ¡ã˜ã‚ƒã‚“。 - - ãªã‚“ã§ã‹ãªã。 + ãªã‚“ã‹ãªã。一ã¤ã®æ©Ÿèƒ½ã‚’付ã‘åŠ ãˆã‚ˆã†ã¨ã™ã‚‹ã¨ã€ + + TaskManager/Cell/CellTaskManagerImpl.cc + TaskManager/Cell/CellTaskManagerImpl.h TaskManager/Cell/spe/CellDmaManager.cc + TaskManager/Cell/spe/CellDmaManager.h TaskManager/Cell/spe/ShowTime.cc TaskManager/Cell/spe/ShowTime.h + TaskManager/Cell/spe/SpeTaskManagerImpl.cc TaskManager/Cell/spe/SpeTaskManagerImpl.h + TaskManager/Cell/spe/main.cc TaskManager/Fifo/FifoTaskManagerImpl.cc + TaskManager/Fifo/FifoTaskManagerImpl.h TaskManager/Makefile.cell TaskManager/kernel/ppe/TaskManager.h + TaskManager/kernel/ppe/TaskManagerImpl.h TaskManager/kernel/schedule/DmaManager.h + TaskManager/kernel/schedule/SchedTask.cc TaskManager/kernel/schedule/SchedTask.h + TaskManager/kernel/schedule/Scheduler.h TaskManager/kernel/sys_task/SysTasks.h + example/word_count_test/main.cc + + ã“ã‚“ãªã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ã„ã˜ã‚‰ãªã„ã¨å‡ºæ¥ãªã„。ãã‚Œã£ã¦ã€å…¨ç„¶ã€ãƒ€ãƒ¡ã˜ã‚ƒã‚“。 + + ãªã‚“ã§ã‹ãªã。 SchedTask -> Scheduler -> Connector TaskManagerImpl -> {CellTaskManager,FifoTaskManager/SpeTaskManager} - を全部ã€ã„ã˜ã‚‹ç¾½ç›®ã«ãªã‚‹ã€‚ - SchedTask ã‹ã‚‰ system call ã™ã‚‹ã‚ˆã‚Šã€Task を定義ã—ã¦ã€ - ãれを呼ã³å‡ºã™ã£ã¦æ–¹ãŒã¾ã—ã‹ã‚‚。 + を全部ã€ã„ã˜ã‚‹ç¾½ç›®ã«ãªã‚‹ã€‚ + SchedTask ã‹ã‚‰ system call ã™ã‚‹ã‚ˆã‚Šã€Task を定義ã—ã¦ã€ + ãれを呼ã³å‡ºã™ã£ã¦æ–¹ãŒã¾ã—ã‹ã‚‚。 2009-11-23 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - list.bound ã¯å»ƒæ¢ã€‚list element ã‹ã‚‰è¨ˆç®—å¯èƒ½ã€‚ + list.bound ã¯å»ƒæ¢ã€‚list element ã‹ã‚‰è¨ˆç®—å¯èƒ½ã€‚ 2009-11-20 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - mail_sendQueue ã®å®Ÿè£…ãŒã ã‚。ã“ã†ã„ã†å®Ÿè£…ã‚’ã™ã‚‹ã¨ã€queue ã® - æ£ã—ã•ã‚’関数ã®ä¸ã«é–‰ã˜è¾¼ã‚られãªã„。ãªã‚“ã‹ã€ç„¡é™ãƒªã‚¹ãƒˆã«ãª - ã£ã¦ã„るらã—ã„。å‚ç…§ãŒã€æ¸¡ã‚Šæ©ã„ã¦ã„ã‚‹ã©ã“ã‹ã®å ´æ‰€ã§ãƒ€ãƒ¡ã« - ãªã£ã¦ã„るらã—ã„。 - - 実際ã€mail_sendQueue ã¯ã€free list ã«ç½®ãæ›ã‚ã£ã¦ã—ã¾ã†ã€‚ - ã“ã‚Œã¾ã§ã€ã“ã‚ŒãŒãŠã‹ã—ããªã‚‰ãªã‹ã£ãŸç†ç”±ã¯ä¸æ˜Žã€‚ - - connector ã«å¤–ã‹ã‚‰æ‰‹ã‚’入れãªã„ã§ã€ã¡ã‚ƒã‚“ã¨function callã™ã‚‹ã¹ã—。 - - ã‚ã‹ã‚Šã¾ã—ãŸã€‚ - if (list) { - ... - mainScheduler->send_mailList(in_mail_list); - } - out_mail_list = mainScheduler->recv_mailList(); - - ã¨ã—ã¦ã—ã¾ã£ãŸãŒã€recv_mailList() ã§ãªãã€send_mailList ã§ã€ - mail_sendQueue をクリアã—ã¦ã„ãŸã®ã§ã€ - } else { - mainScheduler->send_mailList(in_mail_list); - } - ã¨ã™ã‚‹å¿…è¦ãŒã‚ã£ãŸã‚‰ã—ã„。if (list) を入れãŸã›ã„ã§ã€ã“ã†ãªã£ãŸã€‚ - ã§ã‚‚ã€å½“然ã€recv_mailList() 㧠clear ã™ã‚‹ã¹ã。atomicity ã®æ„味ã§ã‚‚。 - ãªã®ã§ã€send_mailList() ã§ã® clear ã¯å¿…è¦ãªã„。 + mail_sendQueue ã®å®Ÿè£…ãŒã ã‚。ã“ã†ã„ã†å®Ÿè£…ã‚’ã™ã‚‹ã¨ã€queue ã® + æ£ã—ã•ã‚’関数ã®ä¸ã«é–‰ã˜è¾¼ã‚られãªã„。ãªã‚“ã‹ã€ç„¡é™ãƒªã‚¹ãƒˆã«ãª + ã£ã¦ã„るらã—ã„。å‚ç…§ãŒã€æ¸¡ã‚Šæ©ã„ã¦ã„ã‚‹ã©ã“ã‹ã®å ´æ‰€ã§ãƒ€ãƒ¡ã« + ãªã£ã¦ã„るらã—ã„。 + + 実際ã€mail_sendQueue ã¯ã€free list ã«ç½®ãæ›ã‚ã£ã¦ã—ã¾ã†ã€‚ + ã“ã‚Œã¾ã§ã€ã“ã‚ŒãŒãŠã‹ã—ããªã‚‰ãªã‹ã£ãŸç†ç”±ã¯ä¸æ˜Žã€‚ + + connector ã«å¤–ã‹ã‚‰æ‰‹ã‚’入れãªã„ã§ã€ã¡ã‚ƒã‚“ã¨function callã™ã‚‹ã¹ã—。 + + ã‚ã‹ã‚Šã¾ã—ãŸã€‚ + if (list) { + ... + mainScheduler->send_mailList(in_mail_list); + } + out_mail_list = mainScheduler->recv_mailList(); + + ã¨ã—ã¦ã—ã¾ã£ãŸãŒã€recv_mailList() ã§ãªãã€send_mailList ã§ã€ + mail_sendQueue をクリアã—ã¦ã„ãŸã®ã§ã€ + } else { + mainScheduler->send_mailList(in_mail_list); + } + ã¨ã™ã‚‹å¿…è¦ãŒã‚ã£ãŸã‚‰ã—ã„。if (list) を入れãŸã›ã„ã§ã€ã“ã†ãªã£ãŸã€‚ + ã§ã‚‚ã€å½“然ã€recv_mailList() 㧠clear ã™ã‚‹ã¹ã。atomicity ã®æ„味ã§ã‚‚。 + ãªã®ã§ã€send_mailList() ã§ã® clear ã¯å¿…è¦ãªã„。 2009-11-19 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - finish_task を全員ãŒå¾…ã¤è¨å®šã§ã€finish_task を終了判定㫠- 使ã£ã¦ã„る。ãã‚Œã ã¨ã€ã™ã¹ã¦ã®taskãŒã€finish_task ã®wait queue - ã‚’*å¿…ãš*触りã«ã„ã£ã¦ã—ã¾ã†ã€‚ - - finish_task ã¸ã®å¾…ã¡ã‚’å–り除ãã¨ã€CellTaskManagerImpl::run() - ãŒã€ + finish_task を全員ãŒå¾…ã¤è¨å®šã§ã€finish_task を終了判定㫠+ 使ã£ã¦ã„る。ãã‚Œã ã¨ã€ã™ã¹ã¦ã®taskãŒã€finish_task ã®wait queue + ã‚’*å¿…ãš*触りã«ã„ã£ã¦ã—ã¾ã†ã€‚ + + finish_task ã¸ã®å¾…ã¡ã‚’å–り除ãã¨ã€CellTaskManagerImpl::run() + ãŒã€ do { ppeMail = ppeManager->schedule(ppeTaskList); cont: ppeTaskList = mail_check(ppeMail); } while (ppeTaskList); - ã¨ã‹ã‚„ã£ã¦ã„ã‚‹ã®ã§ã€ã“ã“ã§æŠœã‘ã¦ã—ã¾ã†ã€‚ - - è¦ã™ã‚‹ã«ã€SPUã®çŠ¶æ…‹ã‚’見ã¦ã€running ãŒãªããªã‚‹ã®ã‚’調ã¹ã‚‹ã¹ã - ãªã‚“ã ãŒã€SpeTheads ã¯ã€Œä¸€ã¤ã—ã‹ãªã„ã€ã‚‰ã—ã„。spe_running - ã§ã€èµ°ã£ã¦ã„ã‚‹ã‚‚ã®ãŒã‚ã‚‹ã‹ã©ã†ã‹è¦‹ã‚‹ã‹? - - Cell ã ã¨ã€MainScheduler 㨠FifoScheduler ã®äºŒç¨®é¡žã® - スケジューラãŒã‚ã‚‹ã®ã‹ã€‚ + ã¨ã‹ã‚„ã£ã¦ã„ã‚‹ã®ã§ã€ã“ã“ã§æŠœã‘ã¦ã—ã¾ã†ã€‚ + + è¦ã™ã‚‹ã«ã€SPUã®çŠ¶æ…‹ã‚’見ã¦ã€running ãŒãªããªã‚‹ã®ã‚’調ã¹ã‚‹ã¹ã + ãªã‚“ã ãŒã€SpeTheads ã¯ã€Œä¸€ã¤ã—ã‹ãªã„ã€ã‚‰ã—ã„。spe_running + ã§ã€èµ°ã£ã¦ã„ã‚‹ã‚‚ã®ãŒã‚ã‚‹ã‹ã©ã†ã‹è¦‹ã‚‹ã‹? + + Cell ã ã¨ã€MainScheduler 㨠FifoScheduler ã®äºŒç¨®é¡žã® + スケジューラãŒã‚ã‚‹ã®ã‹ã€‚ MainScheduler --- task list -----> FifoScheduler MainScheduler <-- finish task ---- FifoScheduler - ã¨ã„ã†ã‚ã‘ã。 + ã¨ã„ã†ã‚ã‘ã。 2009-11-15 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - List DMAã£ã¦ã€32bit address を使ã£ã¦ã„るらã—ã„。ãã‚Œã¯ã€ã¡ã‚‡ã£ã¨ - ã²ã©ã„ãªã。 + List DMAã£ã¦ã€32bit address を使ã£ã¦ã„るらã—ã„。ãã‚Œã¯ã€ã¡ã‚‡ã£ã¨ + ã²ã©ã„ãªã。 2009-11-14 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - ã‚„ã£ã±ã‚Šã€TaskList ã®å˜åœ¨ãŒè¨±ã›ãªã„。ã‚ã£ãŸã¨ã—ã¦ã‚‚ä¸å®šé•·ã§ã—ょã†ã€‚ - 無駄ãªã‚³ãƒ”ーãŒå¤šã™ãŽã‚‹ã€‚ + ã‚„ã£ã±ã‚Šã€TaskList ã®å˜åœ¨ãŒè¨±ã›ãªã„。ã‚ã£ãŸã¨ã—ã¦ã‚‚ä¸å®šé•·ã§ã—ょã†ã€‚ + 無駄ãªã‚³ãƒ”ーãŒå¤šã™ãŽã‚‹ã€‚ 2009-11-14 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - Scheduler / TaskManger / TaskManagerImpl ã®åŒºåˆ¥ãŒä¸æ˜Ž - HTask ã¯ã€TaskManagerImpl ã‚’æŒã£ã¦ã‚‹ã€‚ - - Scheduler 㯠SchedTask ã‹ã‚‰ç›´æŽ¥è¦‹ãˆãªã„ã¯ãšã ãŒã€SchedTask ã¯ã€ - Scheduler ã¯çŸ¥ã£ã¦ã„ã‚‹ãŒã€TaskManager ã¯çŸ¥ã‚‰ãªã„。ã“ã‚ŒãŒã‹ãªã‚Šã® - 混乱を生んã§ã„る。 - - SPU上ã§ã¯ã€TaskManager ãŒå˜åœ¨ã—ãªã„ã®ãŒåŽŸå› らã—ã„ãŒã€allcoate ã¨ã‹ã¯ã€ - TaskManager ãŒè¡Œã†ã¯ãšã€‚ãªã®ã§ã€SPU上ã«ã‚‚TaskManagerãŒã‚ã‚‹æ–¹ãŒè‡ªç„¶ã€‚ - - SchedTask ãŒè‡ªåˆ†è‡ªèº«ã§ scheduling ã—ã¦ã—ã¾ã£ã¦ã„ã‚‹ã®ã§ã€Scheduler - ã«ã¯ã€ã»ã¨ã‚“ã©ä»•äº‹ãŒãªã„。ãªã®ã§ã€å¤§åŠã®å‡¦ç†ã‚’ scheduler -> manager - 経由ã§è¡Œã†ã“ã¨ã«ãªã‚‹ã€‚ + Scheduler / TaskManger / TaskManagerImpl ã®åŒºåˆ¥ãŒä¸æ˜Ž + HTask ã¯ã€TaskManagerImpl ã‚’æŒã£ã¦ã‚‹ã€‚ + + Scheduler 㯠SchedTask ã‹ã‚‰ç›´æŽ¥è¦‹ãˆãªã„ã¯ãšã ãŒã€SchedTask ã¯ã€ + Scheduler ã¯çŸ¥ã£ã¦ã„ã‚‹ãŒã€TaskManager ã¯çŸ¥ã‚‰ãªã„。ã“ã‚ŒãŒã‹ãªã‚Šã® + 混乱を生んã§ã„る。 + + SPU上ã§ã¯ã€TaskManager ãŒå˜åœ¨ã—ãªã„ã®ãŒåŽŸå› らã—ã„ãŒã€allcoate ã¨ã‹ã¯ã€ + TaskManager ãŒè¡Œã†ã¯ãšã€‚ãªã®ã§ã€SPU上ã«ã‚‚TaskManagerãŒã‚ã‚‹æ–¹ãŒè‡ªç„¶ã€‚ + + SchedTask ãŒè‡ªåˆ†è‡ªèº«ã§ scheduling ã—ã¦ã—ã¾ã£ã¦ã„ã‚‹ã®ã§ã€Scheduler + ã«ã¯ã€ã»ã¨ã‚“ã©ä»•äº‹ãŒãªã„。ãªã®ã§ã€å¤§åŠã®å‡¦ç†ã‚’ scheduler -> manager + 経由ã§è¡Œã†ã“ã¨ã«ãªã‚‹ã€‚ 2009-11-14 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - è¦ã™ã‚‹ã«ã€SPE task å´ã‹ã‚‰ addOutData ã§ãã‚Œã°ã‚ˆã„。 - ã§ã‚‚ã€åˆ¥ã«ã€PPEå´ã‹ã‚‰è¨ˆç®—ã—ã¦ã‚‚よã„ã¯ãšã ã‘ã©ã。 - ãã†ã™ã‚Œã°ã€renew task ã¯å–り外ã›ã‚‹ã€‚ + è¦ã™ã‚‹ã«ã€SPE task å´ã‹ã‚‰ addOutData ã§ãã‚Œã°ã‚ˆã„。 + ã§ã‚‚ã€åˆ¥ã«ã€PPEå´ã‹ã‚‰è¨ˆç®—ã—ã¦ã‚‚よã„ã¯ãšã ã‘ã©ã。 + ãã†ã™ã‚Œã°ã€renew task ã¯å–り外ã›ã‚‹ã€‚ SchedDefineTask1(DrawSpanEnd,draw_span_end); - ã§ã€åå‰ã‚’指定ã•ã›ã¦ãŠã„ã¦ã€ã•ã‚‰ã«ã€ - SchedExternTask(DrawSpanEnd); - SchedRegisterTask(TASK_DRAW_SPAN_END, DrawSpanEnd); - ã§ã€æ–°ã—ãåå‰ã‚’è¦æ±‚ã™ã‚‹ã®ã£ã¦ã€ãªã‚“ã¨ã‹ãªã‚‰ã‚“ã®? èªã¿ã¥ã‚‰ã„ã‚“ã よ。 - DrawSpanEnd ã‚’ã€ãã®ã¾ã¾ä½¿ã£ã¦ã‚‚よã•ãã†ã ã‘ã©? - - ã›ã£ã‹ãã€renew task を外ã—ãŸã®ã«ã€HD crash ã§å¤±ã£ã¦ã—ã¾ã„ã¾ã—ãŸã€‚ - - add_param ãŒé †åºã‚’æŒã£ã¦ã„ã‚‹ã®ã¯è¦‹ã¥ã‚‰ã„。数å—ã§æŒ‡å®šã™ã‚‹æ–¹ãŒåˆç†çš„。 + ã§ã€åå‰ã‚’指定ã•ã›ã¦ãŠã„ã¦ã€ã•ã‚‰ã«ã€ + SchedExternTask(DrawSpanEnd); + SchedRegisterTask(TASK_DRAW_SPAN_END, DrawSpanEnd); + ã§ã€æ–°ã—ãåå‰ã‚’è¦æ±‚ã™ã‚‹ã®ã£ã¦ã€ãªã‚“ã¨ã‹ãªã‚‰ã‚“ã®? èªã¿ã¥ã‚‰ã„ã‚“ã よ。 + DrawSpanEnd ã‚’ã€ãã®ã¾ã¾ä½¿ã£ã¦ã‚‚よã•ãã†ã ã‘ã©? + + ã›ã£ã‹ãã€renew task を外ã—ãŸã®ã«ã€HD crash ã§å¤±ã£ã¦ã—ã¾ã„ã¾ã—ãŸã€‚ + + add_param ãŒé †åºã‚’æŒã£ã¦ã„ã‚‹ã®ã¯è¦‹ã¥ã‚‰ã„。数å—ã§æŒ‡å®šã™ã‚‹æ–¹ãŒåˆç†çš„。 2009-10-11 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - å˜ç´”ãªã€rbuf, wbuf + write return size ã® task ã®API - List DMA ã® API - 投入 cpu 別㮠spawn method - Redering 時ã®å†…部ã‹ã‚‰ã® DMA ã¸ã®ç›´æŽ¥ã‚¢ã‚¯ã‚»ã‚¹ã¸ã®ç¦æ¢ç‰ãªã© - - set_post ã§ç™»éŒ²ã™ã‚‹é–¢æ•°ã‚‚ã€task ã®run関数ã¨åŒã˜åž‹ã«ã—ãŸæ–¹ãŒä¾¿åˆ©ãã†ã€‚ - - SPUå´ã§ã‚‚é…列(TaskList)ã§ã¯ãªãã€TaskQueue ã§ç®¡ç†ã™ã‚Œã°ã€ - renew task ã¯ç°¡å˜ã«å®Ÿè£…ã§ãる。 - - SchedTask ã® renew ã‹ãã†ã§ãªã„ã‹ã®åŒºåˆ¥ã¯å…¨éƒ¨ãªãã™ã€‚ex_init ã¨ã‹ã¯ã€ - ãªããªã‚‹ã¯ãšã€‚ãã®ä»£ã‚ã‚Š TaskQueue ã§ç®¡ç†ã™ã‚‹ã€‚ - - TaskList ã« inListData/outListData ãŒå…¥ã£ã¦ã„ã‚‹ã®ã¯ã€ã‚„ã¯ã‚ŠãŠã‹ã—ã„。 - ã‚‚ã£ã¨ã‚³ãƒ³ãƒ‘クトã§ã‚ã‚‹ã¹ã。 - - TaskList ã¯ã€ã“ã¾ã‚ã«çµ‚了をPPEå´ã¸çŸ¥ã‚‰ã›ã‚‹ã®ã§ã¯ãªãã€TaskListã® - 書ãæ›ãˆã§çŸ¥ã‚‰ã›ã‚‹æ–¹ãŒè‰¯ã„。 - - SPUã‹ã‚‰PPUã¸ã€create task 出æ¥ãŸæ–¹ãŒè‰¯ã„。ãã‚Œã¯TaskList ã®æ›¸ã出㗠- ã§è¡Œãªã†ã€‚ + å˜ç´”ãªã€rbuf, wbuf + write return size ã® task ã®API + List DMA ã® API + 投入 cpu 別㮠spawn method + Redering 時ã®å†…部ã‹ã‚‰ã® DMA ã¸ã®ç›´æŽ¥ã‚¢ã‚¯ã‚»ã‚¹ã¸ã®ç¦æ¢ç‰ãªã© + + set_post ã§ç™»éŒ²ã™ã‚‹é–¢æ•°ã‚‚ã€task ã®run関数ã¨åŒã˜åž‹ã«ã—ãŸæ–¹ãŒä¾¿åˆ©ãã†ã€‚ + + SPUå´ã§ã‚‚é…列(TaskList)ã§ã¯ãªãã€TaskQueue ã§ç®¡ç†ã™ã‚Œã°ã€ + renew task ã¯ç°¡å˜ã«å®Ÿè£…ã§ãる。 + + SchedTask ã® renew ã‹ãã†ã§ãªã„ã‹ã®åŒºåˆ¥ã¯å…¨éƒ¨ãªãã™ã€‚ex_init ã¨ã‹ã¯ã€ + ãªããªã‚‹ã¯ãšã€‚ãã®ä»£ã‚ã‚Š TaskQueue ã§ç®¡ç†ã™ã‚‹ã€‚ + + TaskList ã« inListData/outListData ãŒå…¥ã£ã¦ã„ã‚‹ã®ã¯ã€ã‚„ã¯ã‚ŠãŠã‹ã—ã„。 + ã‚‚ã£ã¨ã‚³ãƒ³ãƒ‘クトã§ã‚ã‚‹ã¹ã。 + + TaskList ã¯ã€ã“ã¾ã‚ã«çµ‚了をPPEå´ã¸çŸ¥ã‚‰ã›ã‚‹ã®ã§ã¯ãªãã€TaskListã® + 書ãæ›ãˆã§çŸ¥ã‚‰ã›ã‚‹æ–¹ãŒè‰¯ã„。 + + SPUã‹ã‚‰PPUã¸ã€create task 出æ¥ãŸæ–¹ãŒè‰¯ã„。ãã‚Œã¯TaskList ã®æ›¸ã出㗠+ ã§è¡Œãªã†ã€‚ 2009-10-11 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - よã†ã‚„ã£ã¨ç›´ã›ã¾ã—ãŸã€‚inListData/outListData ã¯åˆ¥ã«è»¢é€ã—ãªã„ã§ã€ - 一緒ã«è»¢é€ã—ã¦ã—ã¾ã£ãŸæ–¹ãŒè‰¯ã„。ã©ã†ã›ã€ã„ã¤ã‚‚転é€ã—ã¦ã„ã‚‹ã®ã ã‹ã‚‰ã€‚ - - word_count ㌠fifo ã®æ–¹ãŒé«˜é€Ÿãªã®ã¯ã€ã©ã†ã«ã‹ã—ã¦ãã ã•ã„。 - - Renew Task ã® addInData ã¯ã€ãƒ¡ã‚¤ãƒ³ãƒ¡ãƒ¢ãƒªã‹ã‚‰DMAã™ã‚‹ã®ã§æ£ã—ã„らã—ã„。 - ç›´ã—方を間é•ãˆãŸã€‚ - - Task ã‚’memcpyã—ã¦ã€TaskList ã«å…¥ã‚Œã¦ã„ã‚‹ãŒã€List DMA ã«ç›´ã™ã¹ã。 - Simple Task を常ã«èµ·å‹•ã—ã¦ã€List DMA task ã¯ã€ãã®ä¸ã§ã€Renew Task - ã¨ã—ã¦èµ·å‹•ã™ã‚‹ã®ãŒè‰¯ã„ã®ã§ã¯? ãã†ã™ã‚Œã°ã€Task Load 自体を Task ã« - 出æ¥ã‚‹ã€‚ - - Renew Task ã®å®Ÿè¡Œé †åºãŒ filo ã«ãªã£ã¦ã„る。ã“ã®ã‚ãŸã‚Šå¤‰ãªã®ã§ã€ - ä¿®æ£ã™ã‚‹ã¹ãã§ã—ょã†ã€‚Renew用㮠TaskList ã‚’æŒã¦ã°è‰¯ã„ã‚“ã˜ã‚ƒãªã„ã‹? - task->self ã® ad-hoc ãªä½¿ã„æ–¹ãŒæ³£ã‘る。ã²ã©ã™ãŽã¾ã™ã€‚ + よã†ã‚„ã£ã¨ç›´ã›ã¾ã—ãŸã€‚inListData/outListData ã¯åˆ¥ã«è»¢é€ã—ãªã„ã§ã€ + 一緒ã«è»¢é€ã—ã¦ã—ã¾ã£ãŸæ–¹ãŒè‰¯ã„。ã©ã†ã›ã€ã„ã¤ã‚‚転é€ã—ã¦ã„ã‚‹ã®ã ã‹ã‚‰ã€‚ + + word_count ㌠fifo ã®æ–¹ãŒé«˜é€Ÿãªã®ã¯ã€ã©ã†ã«ã‹ã—ã¦ãã ã•ã„。 + + Renew Task ã® addInData ã¯ã€ãƒ¡ã‚¤ãƒ³ãƒ¡ãƒ¢ãƒªã‹ã‚‰DMAã™ã‚‹ã®ã§æ£ã—ã„らã—ã„。 + ç›´ã—方を間é•ãˆãŸã€‚ + + Task ã‚’memcpyã—ã¦ã€TaskList ã«å…¥ã‚Œã¦ã„ã‚‹ãŒã€List DMA ã«ç›´ã™ã¹ã。 + Simple Task を常ã«èµ·å‹•ã—ã¦ã€List DMA task ã¯ã€ãã®ä¸ã§ã€Renew Task + ã¨ã—ã¦èµ·å‹•ã™ã‚‹ã®ãŒè‰¯ã„ã®ã§ã¯? ãã†ã™ã‚Œã°ã€Task Load 自体を Task ã« + 出æ¥ã‚‹ã€‚ + + Renew Task ã®å®Ÿè¡Œé †åºãŒ filo ã«ãªã£ã¦ã„る。ã“ã®ã‚ãŸã‚Šå¤‰ãªã®ã§ã€ + ä¿®æ£ã™ã‚‹ã¹ãã§ã—ょã†ã€‚Renew用㮠TaskList ã‚’æŒã¦ã°è‰¯ã„ã‚“ã˜ã‚ƒãªã„ã‹? + task->self ã® ad-hoc ãªä½¿ã„æ–¹ãŒæ³£ã‘る。ã²ã©ã™ãŽã¾ã™ã€‚ 2009-10-06 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - Task 内㮠create_task ã¯ã€SchedTask ã«å¯¾ã—ã¦ã§ã€ - PPE 上ã§ã¯ã€Manager ã«å¯¾ã—ã¦ã よã。ã ã‹ã‚‰ã€å‡ºæ¥ã‚‹ - ã“ã¨ãŒã‹ãªã‚Šç•°ãªã‚‹ã€‚ã“ã‚Œã¯ã€ã¾ãšã„ã ã‚? - - 特ã«ã€PPE task ã«æ˜Žç¤ºçš„ã« manager を渡ã™ã£ã¦ã®ã¯ã€ - ã¨ã£ã¦ã‚‚変。 - - Renew Task ã®ç‰¹åˆ¥æ‰±ã„ãŒã€ã„ã‚ã„ã‚æªã‚ã¦ã„ã‚‹ã‚“ã ãŒã€ - view.cc ã§ä½¿ã£ã¦ã„ã‚‹ã®ã§è½ã›ãªã„。 + Task 内㮠create_task ã¯ã€SchedTask ã«å¯¾ã—ã¦ã§ã€ + PPE 上ã§ã¯ã€Manager ã«å¯¾ã—ã¦ã よã。ã ã‹ã‚‰ã€å‡ºæ¥ã‚‹ + ã“ã¨ãŒã‹ãªã‚Šç•°ãªã‚‹ã€‚ã“ã‚Œã¯ã€ã¾ãšã„ã ã‚? + + 特ã«ã€PPE task ã«æ˜Žç¤ºçš„ã« manager を渡ã™ã£ã¦ã®ã¯ã€ + ã¨ã£ã¦ã‚‚変。 + + Renew Task ã®ç‰¹åˆ¥æ‰±ã„ãŒã€ã„ã‚ã„ã‚æªã‚ã¦ã„ã‚‹ã‚“ã ãŒã€ + view.cc ã§ä½¿ã£ã¦ã„ã‚‹ã®ã§è½ã›ãªã„。 2009-10-05 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - TaskQueue ã®free list ã®ç®¡ç†ã¯ã‚·ã‚¹ãƒ†ãƒ ã§ä¸€ã¤ã§ã‚ã‚‹ã¹ã。 - TaskQueue 㯠double linked list ãŒå½“然らã—ã„。 + TaskQueue ã®free list ã®ç®¡ç†ã¯ã‚·ã‚¹ãƒ†ãƒ ã§ä¸€ã¤ã§ã‚ã‚‹ã¹ã。 + TaskQueue 㯠double linked list ãŒå½“然らã—ã„。 2009-10-02 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - DrawSpan ã§ã€~DrawSpan() ã§ã€allocate ã—ãŸãƒ‡ãƒ¼ã‚¿ã‚’ DMA_WAIT - ã—ã¦ã€free ã—ã¦ã„ã‚‹ãŒã€ã“ã‚Œã¯ã€æŠ½è±¡åŒ–é•å。Task ã§æ˜Žç¤ºçš„ã« - DMAã™ã‚‹ã®ã¯ç¦æ¢ã€‚Task 内ã§ã€add_outData 出æ¥ã‚Œã°è‰¯ã„。 - - renew ãŒæ£ã—ã„よã†ãªæ°—ãŒã™ã‚‹ãŒ... - - Task 内ã§å¤§åŸŸå¤‰æ•°ã¯ä½¿ãˆãªã„。ãªã®ã§ã€smanager ã‹ã‚‰allocateã™ã‚‹ - å¿…è¦ãŒã‚る。Task ã®è§£æ”¾ã®ã‚¿ã‚¤ãƒŸãƒ³ã‚°ã§ã¯ãªãã¦ã€ãƒ‘イプライン㮠- タイミングã§DMA waitã¨freeã‚’è¡Œãªã†å¿…è¦ãŒã‚る。DrawSpan ã®å ´åˆã¯ã€ - add_outData ã§è‰¯ã„ãŒã€å†…部㧠allocate/free ã¯è¡Œãªã†å¿…è¦ãŒã‚る。 - put_segement ãŒãƒ‘イプライン動作ã™ã‚‹ã¹ããªã®ã‹? - - 固定ã®DMA tagãŒé‚ªé”。 - - DrawSpan ã¯å…¨èˆ¬çš„ã«ãƒ€ãƒ¡ã ãªã€œ - - ã§ã‚‚ã€ãã®å¤‰æ›´ã¯å¤§ãã„ã®ã§ã€ã¨ã‚Šã‚ãˆãšå‹•ãよã†ã«ã—ãŸã„。 - - memset 0 ã¯ã€7.7.3 SL1 Data Cache Range Set to Zero コマンド - ã¤ã‹ã†ã¹ã。SPEå´ã§ã‚„ã£ã¦ã‚‚良ã„。ã§ã‚‚ã€æœ¬æ¥ã¯å…¨é¢åŸ‹ã¾ã‚‹ã®ãŒ - 普通ãªã®ã§ã©ã†ã§ã‚‚良ã„ã‘ã©ã€‚ + DrawSpan ã§ã€~DrawSpan() ã§ã€allocate ã—ãŸãƒ‡ãƒ¼ã‚¿ã‚’ DMA_WAIT + ã—ã¦ã€free ã—ã¦ã„ã‚‹ãŒã€ã“ã‚Œã¯ã€æŠ½è±¡åŒ–é•å。Task ã§æ˜Žç¤ºçš„ã« + DMAã™ã‚‹ã®ã¯ç¦æ¢ã€‚Task 内ã§ã€add_outData 出æ¥ã‚Œã°è‰¯ã„。 + + renew ãŒæ£ã—ã„よã†ãªæ°—ãŒã™ã‚‹ãŒ... + + Task 内ã§å¤§åŸŸå¤‰æ•°ã¯ä½¿ãˆãªã„。ãªã®ã§ã€smanager ã‹ã‚‰allocateã™ã‚‹ + å¿…è¦ãŒã‚る。Task ã®è§£æ”¾ã®ã‚¿ã‚¤ãƒŸãƒ³ã‚°ã§ã¯ãªãã¦ã€ãƒ‘イプライン㮠+ タイミングã§DMA waitã¨freeã‚’è¡Œãªã†å¿…è¦ãŒã‚る。DrawSpan ã®å ´åˆã¯ã€ + add_outData ã§è‰¯ã„ãŒã€å†…部㧠allocate/free ã¯è¡Œãªã†å¿…è¦ãŒã‚る。 + put_segement ãŒãƒ‘イプライン動作ã™ã‚‹ã¹ããªã®ã‹? + + 固定ã®DMA tagãŒé‚ªé”。 + + DrawSpan ã¯å…¨èˆ¬çš„ã«ãƒ€ãƒ¡ã ãªã€œ + + ã§ã‚‚ã€ãã®å¤‰æ›´ã¯å¤§ãã„ã®ã§ã€ã¨ã‚Šã‚ãˆãšå‹•ãよã†ã«ã—ãŸã„。 + + memset 0 ã¯ã€7.7.3 SL1 Data Cache Range Set to Zero コマンド + ã¤ã‹ã†ã¹ã。SPEå´ã§ã‚„ã£ã¦ã‚‚良ã„。ã§ã‚‚ã€æœ¬æ¥ã¯å…¨é¢åŸ‹ã¾ã‚‹ã®ãŒ + 普通ãªã®ã§ã©ã†ã§ã‚‚良ã„ã‘ã©ã€‚ 2009-08-06 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - ã§ã€MemList/MemHash ㌠TaskManager å´ã«ç§»ã£ãŸã®ã§ã€ - ã“ã‚Œã§ã€code ã® management を書ãã“ã¨ãŒå‡ºæ¥ã‚‹ã€‚ - ãã†ã™ã‚Œã°ã€SPEã®ãƒ¡ãƒ¢ãƒªã®é™ç•Œã‚’ã»ã‚“ã¨æ°—ã«ã™ã‚‹å¿…è¦ãŒãªããªã‚‹ã¯ãšã€‚ - - ãã®å‰ã«ã€get_segment ã®ä¾‹é¡Œã‚’ç›´ã•ãªã„ã¨ã€‚ - - DrawSpanRnew/reboot ã¯ä½¿ã£ã¦ãªã„らã—ã„。 - - Tree ã¯ã€é…列ã«ã—ãªã„ã§linkã‚’SPEå´ã‹ã‚‰ãŸã©ã‚‹ã‚ˆã†ã«ãªã£ã¦ã„る。 - ãã‚Œã¯è‰¯ã„ã®ã ãŒã€Task å´ã§ dma_wait ã™ã‚‹ã‚ˆã†ãªå®Ÿè£…ã¯æœ›ã¾ã—ããªã„。 - ã“ã®éƒ¨åˆ†ã‚‚書ãç›´ã™å¿…è¦ãŒã‚る。list æ§‹é€ ã® SPE上㮠Iterator ã‚’ - 実装ã™ã‚Œã°è‰¯ã„。 - - memory 関係ã®ã‚³ãƒ¼ãƒ‰ãŒ scheduler ã®ä¸‹ã«ã‚ã‚‹ã®ã¯é¢ç™½ããªã„。 - - Scheduler ã§å®Ÿè£…(__scheduler)ã«ç§»è²ã—ã¦ã„る部分ã¯ã€headerã« - 移ã—ãŸæ–¹ãŒè‰¯ã„。 + ã§ã€MemList/MemHash ㌠TaskManager å´ã«ç§»ã£ãŸã®ã§ã€ + ã“ã‚Œã§ã€code ã® management を書ãã“ã¨ãŒå‡ºæ¥ã‚‹ã€‚ + ãã†ã™ã‚Œã°ã€SPEã®ãƒ¡ãƒ¢ãƒªã®é™ç•Œã‚’ã»ã‚“ã¨æ°—ã«ã™ã‚‹å¿…è¦ãŒãªããªã‚‹ã¯ãšã€‚ + + ãã®å‰ã«ã€get_segment ã®ä¾‹é¡Œã‚’ç›´ã•ãªã„ã¨ã€‚ + + DrawSpanRnew/reboot ã¯ä½¿ã£ã¦ãªã„らã—ã„。 + + Tree ã¯ã€é…列ã«ã—ãªã„ã§linkã‚’SPEå´ã‹ã‚‰ãŸã©ã‚‹ã‚ˆã†ã«ãªã£ã¦ã„る。 + ãã‚Œã¯è‰¯ã„ã®ã ãŒã€Task å´ã§ dma_wait ã™ã‚‹ã‚ˆã†ãªå®Ÿè£…ã¯æœ›ã¾ã—ããªã„。 + ã“ã®éƒ¨åˆ†ã‚‚書ãç›´ã™å¿…è¦ãŒã‚る。list æ§‹é€ ã® SPE上㮠Iterator ã‚’ + 実装ã™ã‚Œã°è‰¯ã„。 + + memory 関係ã®ã‚³ãƒ¼ãƒ‰ãŒ scheduler ã®ä¸‹ã«ã‚ã‚‹ã®ã¯é¢ç™½ããªã„。 + + Scheduler ã§å®Ÿè£…(__scheduler)ã«ç§»è²ã—ã¦ã„る部分ã¯ã€headerã« + 移ã—ãŸæ–¹ãŒè‰¯ã„。 2009-08-06 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - ã†ãƒ¼ã‚“ã€get_segemnt ã§ã€dma_wait ã®tagã‚’ãªã‚“ã¨ã‹ã™ã‚‹ - å¿…è¦ãŒã‚るらã—ã„。get_tag() ã§ãªã‚“ã¨ã‹ãªã‚‹ã‘ã©ã€ - ä»–ã®tag ã¨ã®é–¢ä¿‚ãŒã‚ã‚‹ã‹ãªã€‚ - - 完全ã«è¦‹ãˆãªãã™ã‚‹ã¹ãã§ã—ょã†ã‘ã©... 今ã¯ã„ã„。 + ã†ãƒ¼ã‚“ã€get_segemnt ã§ã€dma_wait ã®tagã‚’ãªã‚“ã¨ã‹ã™ã‚‹ + å¿…è¦ãŒã‚るらã—ã„。get_tag() ã§ãªã‚“ã¨ã‹ãªã‚‹ã‘ã©ã€ + ä»–ã®tag ã¨ã®é–¢ä¿‚ãŒã‚ã‚‹ã‹ãªã€‚ + + 完全ã«è¦‹ãˆãªãã™ã‚‹ã¹ãã§ã—ょã†ã‘ã©... 今ã¯ã„ã„。 2009-08-01 Shinji KONO <kono@ie.u-ryukyu.ac.jp> - MemList ã¯å‹•ã„ãŸã®ã§ã€ä»Šåº¦ã¯ TileHash ã‚’ TaskManager å´ã«ç§»å‹•ã™ã‚‹ - å¿…è¦ãŒã‚る。 - - ãã®å¾Œã€ã‚³ãƒ¼ãƒ‰ã®LRUを書ã‘ã°ã€Cerium ã¯ä¸€é€šã‚Šå‡ºæ¥ä¸ŠãŒã‚Šã€‚ - - TaskManager 㨠Scheduler ã®é–¢ä¿‚ãŒä¸€è²«ã—ã¦ãªã„。複雑ã™ãŽã‚‹ã€‚ + MemList ã¯å‹•ã„ãŸã®ã§ã€ä»Šåº¦ã¯ TileHash ã‚’ TaskManager å´ã«ç§»å‹•ã™ã‚‹ + å¿…è¦ãŒã‚る。 + + ãã®å¾Œã€ã‚³ãƒ¼ãƒ‰ã®LRUを書ã‘ã°ã€Cerium ã¯ä¸€é€šã‚Šå‡ºæ¥ä¸ŠãŒã‚Šã€‚ + + TaskManager 㨠Scheduler ã®é–¢ä¿‚ãŒä¸€è²«ã—ã¦ãªã„。複雑ã™ãŽã‚‹ã€‚ 2009-07-24 Kaito TAGANO <tkaito@cr.ie.u-ryukyu.ac.jp> @@ -547,7 +589,7 @@ } class MemList { - MemorySegment* first; + MemorySegment* first; MemorySegment* last; MemList* createMemList(uint32 size, uint32 count); @@ -983,7 +1025,7 @@ --- 記述例 --- printf("the number of available entries = %d\n", - spe_in_mbox_status(spe_ctx)); + spe_in_mbox_status(spe_ctx)); --- 実行çµæžœ --- the number of available entries = 4 @@ -1059,13 +1101,13 @@ 使ã£ã¦ã„ã‚‹ã®ã§ã€SchedTask ã«ãã£ã¦å®Ÿè¡Œã™ã‚‹å ´åˆã€ __scheduler->dma_load(__inListData, (uint32)__task->inData, - sizeof(ListData), DMA_READ_IN_LIST); + sizeof(ListData), DMA_READ_IN_LIST); __scheduler->dma_load(__outListData, (uint32)__task->outData, - sizeof(ListData), DMA_READ_OUT_LIST); + sizeof(ListData), DMA_READ_OUT_LIST); ã®ä»£ã‚ã‚Šã« - memcpy(__inListData, __task->inData, sizeof(ListData)); + memcpy(__inListData, __task->inData, sizeof(ListData)); memcpy(__outListData, __task->outData, sizeof(ListData)); free(__task->inData); free(__task->outData); @@ -1088,8 +1130,8 @@ test_cpy(int flag, int *src) { if (flag) { - memcpy(data, src, sizeof(int)*length); - free(src); + memcpy(data, src, sizeof(int)*length); + free(src); } } @@ -1100,13 +1142,13 @@ test_nocpy(int flag, int *src) { if (flag) { - data = src; + data = src; } // ã“ã®éƒ¨åˆ†ã‚’ SchedTask::~SchedTask() 㨠// æ€ã£ã¦ãã ã•ã„ if (flag) { - free(data); + free(data); } } @@ -1116,7 +1158,7 @@ flag 㯠1 or 0 ã®ç¹°ã‚Šè¿”ã—ã§ã™ã€‚ - 実行çµæžœ (1) - :no copy + :no copy SPE time by SPU Decrementer: 0.035500 :copy SPE time by SPU Decrementer: 0.057500 @@ -1141,7 +1183,7 @@ test_nocpy(int flag, int *src) { if (flag) { - data = src; + data = src; } free((void*)(flag*(int)data)); @@ -1213,11 +1255,11 @@ free((TaskListPtr)(__flag_renewTask*(int)(__list))); #else if (__flag_renewTask) { - free(__inListData); - free(__outListData); - free(__list); + free(__inListData); + free(__outListData); + free(__list); } - #endif + #endif ã“ã‚“ãªæ„Ÿã˜ã§ã€ã„ãã¤ã‹ã‹ if 文を消ã—ã¦ã¿ãŸã€‚ ãã—ã¦ã€PPEå´ã® main.cc 㧠gettimeofday ã§è¨ˆæ¸¬ã—ã¦ã¿ãŸ (å„10回) @@ -1332,7 +1374,7 @@ free((void*)(flag_renewTask*(int)(list))); #else if (flag_renewTask) { - free(list); + free(list); } #endif @@ -1611,7 +1653,7 @@ * add (API): set_post - create_task(id, 0); + create_task(id, 0); ã¨ã‹ã‚ã–ã‚ã– 0 付ã‘ã‚‹ã®ã‚‚アレãªã®ã§ã€ã‚‚ã†ãれよã†ã« @@ -1838,9 +1880,9 @@ 今ã¾ã§ã¯ if (spe_out_mbox_read(spe_ctx[speid], &ret, 1) < 0) { - return ret; + return ret; else - return -1; + return -1; ã¨ã‚„ã£ã¦ã„ãŸã€‚ã“れ㯠@@ -1996,7 +2038,7 @@ セマフォ㮠P 動作ã¯ã€åŸºæœ¬çš„ã« --------------------- - pthread_mutex_lock(&sem->mutex); + pthread_mutex_lock(&sem->mutex); while(sem->value == 0) { // 資æºãŒç„¡ã„ // æ¡ä»¶ä»˜ã変数ã«è‡ªåˆ†ã‚’登録ã—ã¦ã€ãƒãƒƒã‚¯ã‚’解放ã—ã¦ã€ä»–ã® @@ -2166,7 +2208,7 @@ å¿…è¦ãŒã‚る。ãã®è¨ˆç®—をミスã£ã¦ã¾ã—ãŸã€‚ 1 ////////// - <- ãªãœã‹æ›¸ãè¾¼ã¾ã‚Œã¦ã„ãªã„ + <- ãªãœã‹æ›¸ãè¾¼ã¾ã‚Œã¦ã„ãªã„ ////////// //////////
--- a/example/Bulk/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/example/Bulk/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/Bulk/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/Bulk/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/Bulk/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/example/Bulk/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/HelloWorld/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/example/HelloWorld/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -4,7 +4,7 @@ CFLAGS += -m$(ABIBIT) -D__CERIUM_CELL__ SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/HelloWorld/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/HelloWorld/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/HelloWorld/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/example/HelloWorld/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/MemList/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/example/MemList/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/MemList/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/MemList/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/Pipeline/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/example/Pipeline/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -3,7 +3,7 @@ ABIBIT = 32 SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/Pipeline/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/Pipeline/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/Pipeline/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/example/Pipeline/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/Simple/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/example/Simple/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -3,7 +3,7 @@ ABIBIT = 32 SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/Simple/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/Simple/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/Simple/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/example/Simple/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/basic/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/example/basic/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/basic/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/basic/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/basic/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/example/basic/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/dependency_task/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/example/dependency_task/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/dependency_task/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/dependency_task/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/dependency_task/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/example/dependency_task/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/get_segment/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/get_segment/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/get_segment/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/example/get_segment/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -3,7 +3,7 @@ CC += -m64 SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/hello_array/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/example/hello_array/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/hello_array/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/hello_array/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/hello_array/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/example/hello_array/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/mainMem/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/example/mainMem/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/mainMem/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/mainMem/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/mainMem/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/example/mainMem/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/many_task/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/example/many_task/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/many_task/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/many_task/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/many_task/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/example/many_task/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -2,7 +2,7 @@ SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/post_function/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/example/post_function/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/post_function/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/post_function/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/post_function/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/example/post_function/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/renew_task/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/example/renew_task/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/renew_task/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/renew_task/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/renew_task/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/example/renew_task/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/share_task/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/example/share_task/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/share_task/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/share_task/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/share_task/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/example/share_task/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/task_queue/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/example/task_queue/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/task_queue/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/task_queue/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/task_queue/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/example/task_queue/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/word_count/Makefile.cell Thu Dec 09 22:30:32 2010 +0900 +++ b/example/word_count/Makefile.cell Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/word_count/Makefile.linux Thu Dec 09 22:30:32 2010 +0900 +++ b/example/word_count/Makefile.linux Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/example/word_count/Makefile.macosx Thu Dec 09 22:30:32 2010 +0900 +++ b/example/word_count/Makefile.macosx Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ include ./Makefile.def SRCS_TMP = $(wildcard *.cc) -SRCS_EXCLUDE = # ½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¯ +SRCS_EXCLUDE = # 除外ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’書ã SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o)
--- a/old/simple_render/Makefile Thu Dec 09 22:30:32 2010 +0900 +++ b/old/simple_render/Makefile Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ TARGET = test_nogl SRCS_TMP = $(wildcard *.cpp) -SRCS_EXCLUDE = fb.cpp # ½ü³° +SRCS_EXCLUDE = fb.cpp # 除外 SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cpp=.o)
--- a/old/simple_render/spe/Makefile Thu Dec 09 22:30:32 2010 +0900 +++ b/old/simple_render/spe/Makefile Fri Dec 10 23:09:12 2010 +0900 @@ -1,7 +1,7 @@ TARGET = ../spe-main SRCS_TMP = $(wildcard *.cpp) -SRCS_EXCLUDE = CreatePolygonPack.cpp # ½ü³° +SRCS_EXCLUDE = CreatePolygonPack.cpp # 除外 SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cpp=.o)