Cerium Task Manager
による正規表現の実装

Masataka Kohagura
14th January , 2014

研究目的

当研究室では、CellやマルチコアCPUで並列プログラミングを可能にするCerium Task Managerを開発している。

マルチコア CPU を最大限に活かすためには、プログラムの並列度を向上させなければならないが、実装が難しい。 当研究室では Cerium Libraryを提供することによって並列プログラミングを容易にしているが、ファイル読み込み等のI/O部分に関してはまだAPIが実装されていない。

本研究ではその例題として正規表現を実装し、I/Oの順次読み込みとTaskの並列化の設計・実装によって既存の正規表現の処理速度、処理効率を上げる。

したこと

今後のスケジュール

make が通らない ( TaskManager を parallel で make したとき)

%  make clean;make
rm -f word_count main.o task_init.o ppe/Exec.o ppe/Exec_Data_Parallel.o ppe/Print.o
rm -f *~ \#*

   ・・・

Make for Mac OS X
clang++ -m64 -o word_count main.o task_init.o ppe/Exec.o ppe/Exec_Data_Parallel.o ppe/Print.o -L../../../Cerium/TaskManager -lFifoManager `sdl-config --libs`
Undefined symbols for architecture x86_64:
  "create_impl(int, int, int)", referenced from:
      TaskManager::init(int, int, int) in libFifoManager.a(TaskManager.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [word_count] Error 1
make: *** [macosx] Error 2