Mercurial > hg > Papers > 2014 > kkb-sigos
changeset 3:2921110c23aa
revision
author | Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 21 Apr 2014 19:55:21 +0900 |
parents | bff486ef0e8c |
children | 593671347b01 |
files | bibliography.tex cerium.tex introduction.tex sigos.aux sigos.bbl sigos.blg sigos.dvi sigos.log sigos.pdf sigos.tex |
diffstat | 10 files changed, 163 insertions(+), 99 deletions(-) [+] |
line wrap: on
line diff
--- a/bibliography.tex Mon Apr 21 03:30:37 2014 +0900 +++ b/bibliography.tex Mon Apr 21 19:55:21 2014 +0900 @@ -1,40 +1,22 @@ \begin{thebibliography}{10} -\bibitem{osmesa} -The Mesa 3D Graphics Library, \url{http://www.mesa3d.org/}. - -\bibitem{sdl} -Simple DirectMedia Layer, \url{http://www.libsdl.org/}. - \bibitem{akira} {Akira KAMIZATO.}: Cell を用いたゲームフレームワークの提案,琉球大学工学部情報工学科平成19年度学位論文(修士) (2008). +\bibitem{FFTonGPU} +{Yasuhiko OGATA, Toshio Endo, Naoya MARUYAMA, Satoshi MATSUOKA}:性能モデルに基づくCPU及びGPUを併用する効率的なFFTライブラリ,東京工業大学 (2008). +\bibitem{toma:2012a} +{Daichi TOMA and Shinji KONO}:Cerium Task Manager におけるマルチコア上での並列実行機構の実装(2012) -\bibitem{amdahl} -{Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug - Lea.}: Java Concurrency in Prac-tice, {\em Addison-Wesley Professional} - (2005). +\bibitem{gongo:2008a} +{Wataru MIYAGUNI,Shinji KONO}:Cell 用の Fine-grain Task Manager の実装 -\bibitem{gongo} -{Wataru MIYAGUNI, Shinji KONO}: SourceForge.JP: Project Info - Cerium Rendering - Engine, \url{https://sourceforge.jp/projects/cerium/}. +\bibitem{opencl:ref} +{Aaftab Munshi, Khronos OpenCL Working Group}:The OpenCL Specification Version 1.0 (2007) \bibitem{cell} {Sony Corporation.}: {\em Cell broadband engine architecture} (2005). -\bibitem{chiaki} -{Chiaki SUGIYAMA.}: SceneGraph と StatePattern - を用いたゲームフレームワークの設計と実装,琉球大学工学部情報工学科平成19年度卒業論文 (2008). - -\bibitem{blender} -{Satoshi Yamasaki.}: Blender.jp - Blender Japanese Website, - \url{http://blender.jp/}. - -\bibitem{libspe2} -{International Business Machines Corporation, Sony Computer Entertainment - Incorporated, Toshiba Corporation.}: {\em SPE Runtime Management Library} - (2006). - \bibitem{spurs} {Keisuke INOUE.}: Cell プロセッサ向け実行環境(SPU Centric Execution Model),先進的計算基盤システムシンポジウム SACSIS (2006).
--- a/cerium.tex Mon Apr 21 03:30:37 2014 +0900 +++ b/cerium.tex Mon Apr 21 19:55:21 2014 +0900 @@ -1,5 +1,5 @@ \section{Cerium} -Cerium は、Cell 用の Fine-Grain Task Manager として同研究室の宮国が実装した。 +Cerium は、Cell 用の Fine-Grain Task Manager として当研究室で開発された。 TaskManager, SceneGraph, Rendering Engine の3つの要素から構成されており、PS3 および Linux, MacOS X 上で動作する。 \subsection{Cerium TaskManager}
--- a/introduction.tex Mon Apr 21 03:30:37 2014 +0900 +++ b/introduction.tex Mon Apr 21 19:55:21 2014 +0900 @@ -1,16 +1,17 @@ \section{はじめに} GPU の普及と高性能化にともない、GPU の演算資源を画像処理以外の目的にも利用する GPGPU(GPU による汎目的計算)が注目されている。 GPU 以外にも Cell, SpursEngine, Xeon Phi など様々なプロセッサが存在する。 -GPU や Cell はメモリ空間が異なるたデータ転送がを効率化しなければ性能向上に繋がらない。 -また、それぞれのプロセッサを利用するにはそれぞれ異なる API を利用する必要があり、それらの対応に多くの時間を取られてしまいプログラムの性能改善に集中することができない。 -様々なプロセッサを統合して扱えるフレームワークとして StarPU などがある。 -StarPU はタスクベースの非同期フレームワークである。 +それぞれのプロセッサを利用するにはそれぞれ異なる API を利用する必要があり、それらの対応に多くの時間を取られてしまいプログラムの性能改善に集中することができない。 +また、GPU や Cell などメモリ空間が異なるプロセッサはデータの転送がオーバーヘッドとなるので、データ転送を効率的に行えるかどうかで処理時間が大きく変わる。 + +当研究室で開発・改良が行われている並列プログラミングフレームワーク Cerium は様々なプロセッサを統合して扱えるフレームワークを目指している。 +様々なプロセッサを統合して扱えるフレームワークとしてフランス国立情報学自動制御研究所(INRIA)が開発している StarPU がある。 +StarPU は Cerium と同じタスクベースの非同期フレームワークである。 +タスクという単位で記述することで処理とデータを分離し、より効率的に処理を行うことができる。 StarPU にはパイプラインでの実行機構は入ってなく、パイプライン処理を行いたい場合は自分で実装するしかない。 しかし、パイプライン処理を書くことは非常に煩雑で難しい。 - -そこで、当研究室で開発・改良が行われている並列プログラミングフレームワーク Cerium を OpenCL, CUDA を用い GPGPU に対応させた。 -Cerium は PS3 および Linux, MacOS X 上で動作する。 - +そこで、今回 Cerium に OpenCL, CUDA を用いた Scheduler を新たに実装した。 +Scheduler は自動でデータ転送をオーバーラップし、パイプラインで処理を行うように設計した。 本論文では、まず OpenCL, CUDA について説明する。 その後、既存の Cerium の実装および新たに実装した GPU 実行の機構について説明する。
--- a/sigos.aux Mon Apr 21 03:30:37 2014 +0900 +++ b/sigos.aux Mon Apr 21 19:55:21 2014 +0900 @@ -17,18 +17,27 @@ \@writefile{lol}{\contentsline {lstlisting}{\numberline {4}multiply(OpenCL)}{5}} \newlabel{test}{{5}{5}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {5}multiply(CUDA)}{5}} -\citation{toma:2012a} -\citation{opencl} -\citation{opencl:ref} -\citation{opencl:applied} -\citation{yutaka:os} +\citation{*} \bibstyle{ipsjunsrt} \bibdata{sigos} -\bibcite{toma:2012a}{1} -\bibcite{opencl}{2} -\bibcite{opencl:ref}{3} -\bibcite{opencl:applied}{4} -\bibcite{yutaka:os}{5} +\bibcite{osmesa}{1} +\bibcite{sdl}{2} +\bibcite{akira}{3} +\bibcite{amdahl}{4} +\bibcite{opencl:applied}{5} +\bibcite{gongo}{6} +\bibcite{gongo:2008a}{7} +\bibcite{spurs}{8} +\bibcite{cell}{9} +\bibcite{chiaki}{10} \newlabel{table:wordcount}{{4}{6}} \newlabel{table:fft}{{6.1}{6}} -\gdef\ipsj@lastpage{6} +\bibcite{blender}{11} +\bibcite{libspe2}{12} +\bibcite{kono}{13} +\bibcite{mailbox}{14} +\bibcite{toma:2012a}{15} +\bibcite{opencl}{16} +\bibcite{opencl:ref}{17} +\bibcite{yutaka:os}{18} +\gdef\ipsj@lastpage{7}
--- a/sigos.bbl Mon Apr 21 03:30:37 2014 +0900 +++ b/sigos.bbl Mon Apr 21 19:55:21 2014 +0900 @@ -1,4 +1,59 @@ -\begin{thebibliography}{1} +\begin{thebibliography}{10} + +\bibitem{osmesa} +: {The Mesa 3D Graphics Library}, \url{http://www.mesa3d.org/}. + +\bibitem{sdl} +: {Simple DirectMedia Layer}, \url{http://www.libsdl.org/}. + +\bibitem{akira} +{Akira KAMIZATO}: {Cell + を用いたゲームフレームワークの提案},{琉球大学理工学研究科情報工学専攻 + 平成19年度学位論文} (2008). + +\bibitem{amdahl} +{Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug + Lea}: {\em {Java Concurrency in Prac-tice}}, {Addison-Wesley Professional} + (2005). + +\bibitem{opencl:applied} +{北山洋幸}\:{OpenCL応用 メニーコアCPU \& + GPGPU時代の並列処理},{カットシステム} (2012). + +\bibitem{gongo} +: {SourceForge.JP: Project Info - Cerium Rendering Engine}, + \url{https://sourceforge.jp/projects/cerium/}. + +\bibitem{gongo:2008a} +宮國 渡,河野真治,神里 晃,杉山千秋\:Cell 用の Fine-grain Task Manager + の実装,情報処理学会 システムソフトウェアとオペレーティング・システム研究会 + (2008). + +\bibitem{spurs} +{Keisuke Inoue}: {SPU Centric Execution Model} (2006). + +\bibitem{cell} +{Sony Corporation}: {Cell broadband engine architecture} (2005). + +\bibitem{chiaki} +{Chiaki SUGIYAMA}: {SceneGraph と StatePattern + を用いたゲームフレームワークの設計と実装} (2008). + +\bibitem{blender} +: {Blender.jp - Blender Japanese Website}, \url{http://blender.jp/}. + +\bibitem{libspe2} +{International Business Machines Corporation, Sony Computer Entertainment + Incorporated, Toshiba Corporation}: {\em {SPE Runtime Management Library}} + (2006). + +\bibitem{kono} +{Shinji KONO}: {検証を自身で表現できるハードウェア、ソフトウェア記述言語 + Continuation ba sed C と、その Cell + への応用},{電子情報通信学会VLSI設計技術研究会} (2008). + +\bibitem{mailbox} +{Sony Corporation}: {Cell BroadbandEngine アーキテクチャ} (2006). \bibitem{toma:2012a} 當眞大千,河野真治\:Cerium Task Manager @@ -12,10 +67,6 @@ \bibitem{opencl:ref} {Khronos OpenCL Working Group}: {\em {OpenCL 1.2 Reference Pages}} (2012). -\bibitem{opencl:applied} -{北山洋幸}\:{OpenCL応用 メニーコアCPU \& - GPGPU時代の並列処理},{カットシステム} (2012). - \bibitem{yutaka:os} 金城裕,河野真治,多賀野海人,小林佑亮(琉球大学)\:ゲームフレームワークCerium TaskManagerの改良,情報処理学会システムソフトウェアとオペレーティング・システム研究会(OS)
--- a/sigos.blg Mon Apr 21 03:30:37 2014 +0900 +++ b/sigos.blg Mon Apr 21 19:55:21 2014 +0900 @@ -3,50 +3,62 @@ The top-level auxiliary file: sigos.aux The style file: ipsjunsrt.bst Database file #1: sigos.bib +Warning--entry type for "chiaki" isn't style-file defined +--line 62 of file sigos.bib +Warning--Missing required argument author in osmesa +Warning--Missing required argument author in sdl +Warning--there's no number and/or volumeakira +Warning--Missing required argument pages in akira +Warning--Missing required argument author in gongo +Warning--there's no number and/or volumegongo:2008a +Warning--Missing required argument pages in gongo:2008a +Warning--Missing required argument author in blender +Warning--there's no number and/or volumekono +Warning--Missing required argument pages in kono Warning--there's no number and/or volumetoma:2012a Warning--Missing required argument pages in toma:2012a Warning--there's no number and/or volumeyutaka:os Warning--Missing required argument pages in yutaka:os -You've used 5 entries, +You've used 18 entries, 2207 wiz_defined-function locations, - 553 strings with 4672 characters, -and the built_in function-call counts, 824 in all, are: -= -- 45 -> -- 39 + 599 strings with 6002 characters, +and the built_in function-call counts, 2505 in all, are: += -- 142 +> -- 92 < -- 0 -+ -- 14 -- -- 9 -* -- 51 -:= -- 130 -add.period$ -- 5 -call.type$ -- 5 ++ -- 39 +- -- 21 +* -- 142 +:= -- 367 +add.period$ -- 18 +call.type$ -- 18 change.case$ -- 0 chr.to.int$ -- 0 -cite$ -- 9 -duplicate$ -- 62 -empty$ -- 89 -format.name$ -- 12 -if$ -- 188 +cite$ -- 32 +duplicate$ -- 172 +empty$ -- 304 +format.name$ -- 34 +if$ -- 585 int.to.chr$ -- 0 -int.to.str$ -- 5 -missing$ -- 3 -newline$ -- 18 -num.names$ -- 5 -pop$ -- 18 +int.to.str$ -- 18 +missing$ -- 7 +newline$ -- 57 +num.names$ -- 14 +pop$ -- 86 preamble$ -- 1 purify$ -- 0 quote$ -- 0 -skip$ -- 31 +skip$ -- 108 stack$ -- 0 substring$ -- 0 -swap$ -- 2 -text.length$ -- 7 +swap$ -- 4 +text.length$ -- 11 text.prefix$ -- 0 top$ -- 0 type$ -- 0 -warning$ -- 4 -while$ -- 5 -width$ -- 6 -write$ -- 35 -is.kanji.str$ -- 26 -(There were 4 warnings) +warning$ -- 14 +while$ -- 14 +width$ -- 20 +write$ -- 117 +is.kanji.str$ -- 68 +(There were 15 warnings)
--- a/sigos.log Mon Apr 21 03:30:37 2014 +0900 +++ b/sigos.log Mon Apr 21 19:55:21 2014 +0900 @@ -1,4 +1,4 @@ -This is pTeX, Version 3.141592-p3.1.10 (utf8.euc) (Web2C 7.5.4) (format=platex 2011.8.15) 21 APR 2014 03:28 +This is pTeX, Version 3.141592-p3.1.10 (utf8.euc) (Web2C 7.5.4) (format=platex 2011.8.15) 21 APR 2014 19:39 **sigos.tex (./sigos.tex pLaTeX2e <2006/11/10>+0 (based on LaTeX2e <2003/12/01> patch level 0) @@ -200,7 +200,7 @@ [1 -] +] [2] File: ./images/culculate_index.pdf Graphic file (type eps) <./images/culculate_index.pdf> Overfull \hbox (20.78407pt too wide) in paragraph at lines 80--81 @@ -211,13 +211,16 @@ (Font) Font shape `JT1/gt/m/n' tried instead on input line 82. LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <7> not available (Font) Font shape `JY1/gt/m/n' tried instead on input line 82. -[2]) (./cerium.tex +) (./cerium.tex File: ./images/createTask.pdf Graphic file (type eps) <./images/createTask.pdf> Overfull \hbox (0.70938pt too wide) in paragraph at lines 25--26 [] [] + +LaTeX Warning: `!h' float specifier changed to `!ht'. + File: ./images/scheduler.pdf Graphic file (type eps) <./images/scheduler.pdf> (./source/multiply.cc LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <8> not available @@ -258,11 +261,11 @@ []\OT1/cmr/m/n/9 example [] -) (./cerium_gpu.tex +) (./cerium_gpu.tex [4] File: ./images/gpu_arch.pdf Graphic file (type eps) <./images/gpu_arch.pdf> File: ./images/cpu_arch.pdf Graphic file (type eps) - <./images/cpu_arch.pdf> [4] + <./images/cpu_arch.pdf> (./source/Multi.cl) Overfull \hbox (112.5995pt too wide) in paragraph at lines 51--51 []\OT1/cmr/m/n/9 multiply(OpenCL) @@ -273,18 +276,24 @@ []\OT1/cmr/m/n/9 multiply(CUDA) [] -) (./benchmark.tex [5]) (./conclusion.tex) (./sigos.bbl) [6] (./sigos.aux) +) (./benchmark.tex [5] + +LaTeX Warning: `!h' float specifier changed to `!ht'. + +) (./conclusion.tex) (./sigos.bbl [6]) [7 + +] (./sigos.aux) LaTeX Warning: There were multiply-defined labels. ) Here is how much of TeX's memory you used: - 2794 strings out of 94681 - 37254 string characters out of 1169859 - 155801 words of memory out of 1500000 - 6035 multiletter control sequences out of 10000+50000 + 2808 strings out of 94681 + 37370 string characters out of 1169859 + 176801 words of memory out of 1500000 + 6049 multiletter control sequences out of 10000+50000 18309 words of font info for 70 fonts, out of 1200000 for 2000 566 hyphenation exceptions out of 8191 - 33i,10n,68p,250b,1809s stack positions out of 5000i,500n,6000p,200000b,5000s + 33i,10n,68p,250b,1813s stack positions out of 5000i,500n,6000p,200000b,5000s -Output written on sigos.dvi (6 pages, 50428 bytes). +Output written on sigos.dvi (7 pages, 53664 bytes).
--- a/sigos.tex Mon Apr 21 03:30:37 2014 +0900 +++ b/sigos.tex Mon Apr 21 19:55:21 2014 +0900 @@ -94,13 +94,13 @@ \input{benchmark} \input{conclusion} -\nocite{toma:2012a} -\nocite{opencl} -\nocite{opencl:ref} -\nocite{opencl:applied} -\nocite{yutaka:os} +\nocite{*} +%\nocite{opencl} +%\nocite{opencl:ref} +%\nocite{opencl:applied} +%\nocite{yutaka:os} \bibliographystyle{ipsjunsrt} -\bibliography{sigos} +\bibliography{sigs} %\bibliography{cerium,book} %\input{bibliography} % 参考文献