抄録/ポイント:
抄録/ポイント
文献の概要を数百字程度の日本語でまとめたものです。
部分表示の続きは、JDreamⅢ(有料)でご覧頂けます。
J-GLOBALでは書誌(タイトル、著者名等)登載から半年以上経過後に表示されますが、医療系文献の場合はMyJ-GLOBALでのログインが必要です。
本論文では,スマートフォンやタブレット等で広く用いられるAndroidにおいて,従来マルチコアプロセッサ上での並列化が困難で,その高速化が望まれていた2D描画ライブラリSkiaを,OSCAR自動並列化コンパイラにより,プロファイラ情報に基づいた自動並列化を行う手法を開発したのでその方法を説明する。OSCARコンパイラはParallelizable Cにより記述された逐次プログラムから様々な粒度で並列化解析を行い,自動的に並列化Cソースを出力する。しかし,SkiaはAndroid内のライブラリであり,利用する描画命令ルーチンにより制御フローが大きく変化するため,最適な並列化解析を行うことが困難である。そこで,本論文ではSkiaのような制御フローがコンパイル時に特定できないプログラムに対し,Oprofileを用いて取得したプロファイル結果をOSCARコンパイラにフィードバックすることで,並列化対象を特定の領域に絞り,高い性能向上が得られる手法を提案する。なお,並列化対象領域がParallelizable Cコードでない場合でも,解析結果により実行コストが大きい部分からParallelizable Cに変更し,チューニングを施すことで並列化が可能となる。本手法を,描画ベンチマークとして広く使われている0xbenchをNVIDIA Tegra3チップ(ARM Cortex-A9 4コア)を搭載したNexus7上で評価を行った。並列化Skiaの実行においては,並列化部分の速度向上を正確に評価するため,Androidをcore0に割り当て,残り3コアをSkiaが利用できる形とした。評価の結果として,DrawRectで従来の1.91倍である43.57[fps],DrawArcで1.32倍の50.98[fps],DrawCircle2では1.5倍の50.77[fps]といずれも性能向上結果が得られた。(著者抄録)