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}