Mercurial > hg > Members > masakoha > masa
comparison 2013/Sep-2013/24th.html @ 9:e4748bca1eb3
mkdir 2013
author | Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 14 Jan 2014 04:18:59 +0900 |
parents | Sep-2013/24th.html@c9b2998eb516 |
children |
comparison
equal
deleted
inserted
replaced
8:0ce451f35622 | 9:e4748bca1eb3 |
---|---|
1 <!DOCTYPE html> | |
2 | |
3 <!-- | |
4 Google HTML5 slide template | |
5 | |
6 Authors: Luke Mahé (code) | |
7 Marcin Wichary (code and design) | |
8 | |
9 Dominic Mazzoni (browser compatibility) | |
10 Charles Chen (ChromeVox support) | |
11 | |
12 URL: http://code.google.com/p/html5slides/ | |
13 --> | |
14 | |
15 <html> | |
16 <head> | |
17 <title>2013-09-24</title> | |
18 | |
19 <meta charset='utf-8'> | |
20 <script | |
21 src='http://html5slides.googlecode.com/svn/trunk/slides.js'></script> | |
22 </head> | |
23 | |
24 <style> | |
25 /* Your individual styles here, or just use inline styles if that’s | |
26 what you want. */ | |
27 .slides article { background-image: none !important; background-color: white; } | |
28 | |
29 | |
30 </style> | |
31 | |
32 <body style='display: none'> | |
33 | |
34 <section class='slides layout-regular template-default'> | |
35 | |
36 <!-- Your slides (<article>s) go here. Delete or comment out the | |
37 slides below.--> | |
38 | |
39 <article> | |
40 <h1> | |
41 Ceriumによる | |
42 <br> | |
43 正規表現マッチャの実装 | |
44 </h1> | |
45 <p> | |
46 Masataka Kohagura | |
47 <br> | |
48 24th September , 2013 | |
49 </p> | |
50 </article> | |
51 | |
52 <article> | |
53 <h3> | |
54 研究目的 | |
55 </h3> | |
56 <p> | |
57 本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。様々な例題を実装することにより、どのような問題でも並列処理ができることを証明する。 | |
58 </p> | |
59 <p> | |
60 現在は文字列サーチを実装している段階で、ボイヤームーア法を実装している。 | |
61 セミグループという、分割したファイルに対して並列処理をさせるような手法によって、既存の文字列サーチと処理速度を比較し、どれだけ速く、どれだけ効率よくなるのかを測定する。 | |
62 </p> | |
63 <p> | |
64 並列処理は逐次処理よりも処理時間を短縮できる可能性があるが、I/O命令がボトルネックになる。 | |
65 このボトルネックを軽減させるにはどのような処理をさせればよいのか考察し、処理全体の効率化の改善を図る。 | |
66 </p> | |
67 </article> | |
68 | |
69 <article> | |
70 <h3> | |
71 したこと | |
72 </h3> | |
73 <p> | |
74 ・SDLによる三角波、矩形波の実装 | |
75 </p> | |
76 <p> | |
77 ・mmapをfreadへの書き換え | |
78 </p> | |
79 </article> | |
80 | |
81 <article class='smaller'> | |
82 <h3>波形</h3> | |
83 <p>三角波</p> | |
84 <section><pre> | |
85 double tri(double t){ | |
86 | |
87 double decimal_part = t - abs(t); | |
88 | |
89 if(abs(t) % 2 != 0){ | |
90 return decimal_part < 0.5 ? decimal_part : 1 - decimal_part; | |
91 }else{ | |
92 return decimal_part < 0.5 ? -decimal_part : 1 - decimal_part; | |
93 } | |
94 } | |
95 </pre></section> | |
96 | |
97 <p>矩形波</p> | |
98 <section><pre> | |
99 double square(double t){ | |
100 double decimal_part = t - abs(t); | |
101 return decimal_part < 0.5 ? 1 : -1; | |
102 } | |
103 </pre></section> | |
104 </article> | |
105 | |
106 <article class='smaller'> | |
107 <h3>mmapからfreadへの書き換え(1)</h3> | |
108 <p>変更前</p> | |
109 <section><pre> | |
110 static st_mmap_t | |
111 my_mmap(char *filename) | |
112 { | |
113 int fd = -1; | |
114 int map = MAP_PRIVATE; | |
115 st_mmap_t st_mmap; | |
116 struct stat sb; | |
117 | |
118 if ((fd=open(filename,O_RDONLY,0666))==0) { | |
119 fprintf(stderr,"can't open %s\n",filename); | |
120 } | |
121 | |
122 if (fstat(fd,&sb)) { | |
123 fprintf(stderr,"can't fstat %s\n",filename); | |
124 } | |
125 | |
126 st_mmap.size = fix_byte(sb.st_size,4096); | |
127 | |
128 st_mmap.file_mmap = (char*)mmap(NULL,st_mmap.size,PROT_READ,map,fd,(off_t)0); if (st_mmap.file_mmap == (caddr_t)-1) { | |
129 fprintf(stderr,"Can't mmap file\n"); | |
130 perror(NULL); | |
131 exit(0); | |
132 } | |
133 return st_mmap; | |
134 } | |
135 </pre></section> | |
136 </article> | |
137 | |
138 <article class='smaller'> | |
139 <h3>mmapからfreadへの書き換え(2)</h3> | |
140 <p>変更後</p> | |
141 <section><pre> | |
142 my_fread(TaskManager *manager,char *filename) | |
143 { | |
144 FILE *fd; | |
145 st_mmap_t st_mmap; | |
146 struct stat sb; | |
147 | |
148 if ((fd=fopen(filename,"r"))==NULL) { | |
149 fprintf(stderr,"can't open %s\n",filename); | |
150 } | |
151 | |
152 if (fstat(fileno(fd),&sb)) { | |
153 fprintf(stderr,"can't fstat %s\n",filename); | |
154 } | |
155 | |
156 st_mmap.size = fix_byte(sb.st_size,4096); | |
157 | |
158 st_mmap.file_mmap = (char*)manager->allocate(st_mmap.size); | |
159 fread(st_mmap.file_mmap,st_mmap.size,1,fd); | |
160 if (st_mmap.file_mmap == (caddr_t)-1) { | |
161 fprintf(stderr,"Can't mmap file\n"); | |
162 perror(NULL); | |
163 exit(0); | |
164 } | |
165 return st_mmap; | |
166 } | |
167 </pre></section> | |
168 </article> | |
169 </body> | |
170 </html> |