Mercurial > hg > Papers > 2010 > yutaka-thesis
comparison resume/finalutf8.tex @ 5:891d6c50c05c
amend
author | Yutaka_Kinjyo |
---|---|
date | Tue, 16 Feb 2010 12:15:57 +0900 |
parents | 986baf7fad44 |
children | 3bed8935e27a |
comparison
equal
deleted
inserted
replaced
4:986baf7fad44 | 5:891d6c50c05c |
---|---|
141 (Single Instruction Multiple Data)を行うことが 出来る。 | 141 (Single Instruction Multiple Data)を行うことが 出来る。 |
142 SIMDとは、1つの命令で複数のデータに対して処理を行う演算方式である。 | 142 SIMDとは、1つの命令で複数のデータに対して処理を行う演算方式である。 |
143 %そのSIMDを用いて、本来4つの光源を計算するため同じ処理を4回行うところを、 | 143 %そのSIMDを用いて、本来4つの光源を計算するため同じ処理を4回行うところを、 |
144 %1度の光源処理で4つ分の光源の計算を行うことができた。以下にSIMDを用いない場合の光源ベクトルの算出コードを示す。 | 144 %1度の光源処理で4つ分の光源の計算を行うことができた。以下にSIMDを用いない場合の光源ベクトルの算出コードを示す。 |
145 | 145 |
146 そのSIMDを用いて、本来4命令である処理を、1命令で行うことができる。これにより光源処理の命令数を減らすことができた。 | 146 そのSIMDを用い、光源処理において本来4命令で行ういくつかの処理を、1命令で行うことができる。これにより光源処理の命令数を減らすことができた。 |
147 以下にSIMDを用いない場合の光源ベクトルの算出コードを示す。 | 147 以下にSIMDを用いない場合の光源ベクトルの算出コードを示す。 |
148 | 148 |
149 {\small | 149 {\small |
150 \begin{verbatim} | 150 \begin{verbatim} |
151 light_vector[0] = world_x - light_xyz[i*4]; | 151 light_vector[0] = world_x - light_xyz[i*4]; |
161 \begin{verbatim} | 161 \begin{verbatim} |
162 *vlight_vector = spu_sub(v_world[i],vlight_xyz[i]); | 162 *vlight_vector = spu_sub(v_world[i],vlight_xyz[i]); |
163 \end{verbatim} | 163 \end{verbatim} |
164 } | 164 } |
165 | 165 |
166 このように、SIMD演算を用いて、4つの演算命令を1つの演算命令で行っている。 | 166 このように、SIMD演算を用いて、4つの演算命令を1つの演算命令に書き換えた。 |
167 | 167 |
168 \vspace{-6mm} | 168 \vspace{-6mm} |
169 \section{評価とまとめ} | 169 \section{評価とまとめ} |
170 \subsection{実行速度評価} | 170 \subsection{実行速度評価} |
171 光源を実装した後と、光源処理をSIMD化した時のFPS(Frame Per Second)を計測した。 | 171 光源を実装した後と、光源処理をSIMD化した時のFPS(Frame Per Second)を計測した。 |
206 | 206 |
207 \vspace{-6mm} | 207 \vspace{-6mm} |
208 \subsection{まとめ} | 208 \subsection{まとめ} |
209 %Rendering Engine はまだ、高速化の余地がある。今回の光源処理でも見られたように、各タスクでの演算をSIMD化することで高速化が望める。また SceneGraph から Polygon の生成はSPEによって並列実行されていない。Polygon 生成のタスクをSPEで並列実行することでも高速化が望める。 | 209 %Rendering Engine はまだ、高速化の余地がある。今回の光源処理でも見られたように、各タスクでの演算をSIMD化することで高速化が望める。また SceneGraph から Polygon の生成はSPEによって並列実行されていない。Polygon 生成のタスクをSPEで並列実行することでも高速化が望める。 |
210 | 210 |
211 本研究ではCell上のソフトウェアレンダリングに光源機能を実装し、SIMD演算を用いることで高速化を行った。 | 211 本研究ではCell上のソフトウェアレンダリングに光源機能を実装し、光源処理にSIMD演算を用いることで高速化を行った。 |
212 WordCount\\ | 212 SIMD化による実行速度の向上がみられ、SIMDがプログラムの高速化に有効であることが確認できた。 |
213 ZeroClear タスク | 213 |
214 Mail Time | 214 このことから、レンダリングの各段階の演算をSIMD化することで、さらなる高速化が望める。 |
215 | |
216 %WordCount\\ | |
217 %ZeroClear タスク | |
218 %Mail Time | |
215 | 219 |
216 | 220 |
217 \thispagestyle{fancy} | 221 \thispagestyle{fancy} |
218 \begin{thebibliography}{9} | 222 \begin{thebibliography}{9} |
219 | 223 |
223 http://cell.fixstars.com/ps3linux/index.php/メインページ | 227 http://cell.fixstars.com/ps3linux/index.php/メインページ |
224 | 228 |
225 \bibitem{4} OpenCL: | 229 \bibitem{4} OpenCL: |
226 http://www.khronos.org/opencl/ | 230 http://www.khronos.org/opencl/ |
227 | 231 |
232 \bibitem{5} Mark Deloura "Game Programming Gems" | |
233 | |
228 \end{thebibliography} | 234 \end{thebibliography} |
229 \end{document} | 235 \end{document} |