Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

201010ksmap

1,498 views

Published on

  • Be the first to comment

201010ksmap

  1. 1. 多次元非線形ナップザック問題に対するGPGPUの適用<br />関西大学総合情報学部<br />総合情報学科4年<br />尾上 洋介<br />1<br />
  2. 2. 1. 本研究の目的<br />2<br />
  3. 3. 多次元非線形ナップザック問題の高速厳密解法の必要性<br />多次元非線形ナップザック問題Multidimensional Nonlinear Knapsack Problem (MNKP)<br />MNKPは現実的な社会問題にも適用されるモデル<br />金融工学<br />マーケティング<br />信頼性最適化<br />厳密性の保証は現実的な社会問題を扱う上で重要<br />比較的小規模な問題でも計算が困難な場合もある<br />3<br />
  4. 4. GPGPUの発展<br />GPUの演算性能はCPUを上回る速度で成長している<br />GPUを汎目的計算に利用する環境が整備され,専用プロセッサも市場に現れている<br />一方で,GPUの演算性能を十分に活用するには適切な並列化モデルにあてはめなければならない<br />4<br />
  5. 5. 本研究の目的<br />MNKPに対する動的計画法アルゴリズムをGPU向けに並列化<br />問題規模は比較的小さいが,従来解法では計算が困難だった問題に適用し高速化が可能であることを示す<br />今後のGPUの発展の恩恵を受けることが可能か,スケーラビリティの検証を行う<br />5<br />
  6. 6. 2. 本研究の背景<br />6<br />
  7. 7. 多次元非線形ナップザック問題<br />定義<br />7<br />
  8. 8. MNKPに対する分枝限定法<br />大規模な問題を厳密に解くとき主流<br />計算時間は枝刈りの性能に大きく依存<br />計算時間の予測は困難<br />分枝限定法をベースにしたアプローチ<br />分枝カット法<br />改良代理制約(ISC)法<br />8<br />
  9. 9. MNKPに対する動的計画法<br />実装が単純<br />計算時間の見積もりが可能<br />制約値が大きい,又は制約数が多いとき解くのが困難<br />GPUコアでスケールさせて高速化<br />9<br />
  10. 10. GPU処理の特徴<br />豊富なコア数<br />ハイエンドGPUでは200〜500コア<br />2013年には2000コア前後(NVIDIAロードマップ)<br />高速なメモリアクセス<br />GPU処理の性能はメモリアクセス速度に強く依存<br />費用対効果が高くスーパーコンピュータへの利用もされつつある<br />近年の性能向上率が高い<br />10<br />
  11. 11. GPUの性能と価格<br />理論値数百GFLOPS〜1TFLOPSのプロセッサが数万円で入手可能<br />11<br />
  12. 12. GPGPUのデザインパターン<br />アムダールの法則<br />高速化率S, 並列化割合p, プロセッサ台数N<br />Streaming Formulation<br />U.D. Bordoloi, S. Chakraborty「GPU-based Acceleration of System-level Design Tasks」Int J Parallel Prog, 38, pp.225-253, 2010.<br />12<br />
  13. 13. アムダールの法則<br />並列化による高速化の指標<br />大量のGPUコアを活かすには,高い並列性を持ったアルゴリズムの設計が必要<br />13<br />
  14. 14. Streaming Formulation<br />GPUで効率的に並列処理できるモデル<br />行列の大きさが変化しない<br />現在のスレッド間に依存関係がない<br />last<br />サイズ一定<br />current<br />独立<br />図2. Streaming Formulation<br />14<br />
  15. 15. GPGPUの適用分野<br />画像処理,音声処理,流体計算,天体シミュレーションなどで成果を挙げている<br />OR分野でも線形計画法,0-1 ナップザック問題,スケジューリング問題など利用が広がっている<br />GPUで効果的に処理を行えるパターンが存在<br />MNKPに対する動的計画法をパターンにあてはめ並列化<br />15<br />
  16. 16. 3. 計算機実験と考察<br />16<br />
  17. 17. Coit and Konakの信頼性最適化問題<br />D.W. Coit, A. Konak「Multiple weighted objectives heuristic for the redundancy allocation problem」IEEE Trans. Reliab., 55(3), pp.551-558, 2006.<br />部品間のトレードオフを考慮して作成されている<br />17<br />
  18. 18. Coit and Konakの信頼性最適化問題<br />20のサブシステムによる並直列システム<br />各サブシステムに4個の部品<br />各サブシステムで合計1〜8個部品を使う<br />問題規模<br />18<br />…<br />…<br />…<br />
  19. 19. Coit and Konakの信頼性最適化問題<br />定式化<br />19<br />
  20. 20. MNKP化<br />とおき,目的関数の対数をとる<br />20<br />
  21. 21. 測定方法<br />部品案の異なる3問<br />C,Wをそれぞれ100から250まで30おきに変化<br />計108問の合計計算時間を測定<br />ソルバ<br />並列動的計画法(GPU)<br />動的計画法<br />HOPE(ISC法)<br />CPLEX(分枝カット法など)<br />21<br />
  22. 22. 計算時間の比較<br />GPU並列化によって高速化を実現<br />22<br />
  23. 23. 考察<br />CPU1スレッドによる動的計画法ではHOPEより計算時間がかかっていた<br />GPU並列化により従来解法では時間のかかっていた問題を高速に計算することができた<br />Tesla C2050ではCPU比およそ50倍を達成<br />実用上は深則操作(Fathoming Test)で問題規模を縮小することで,更なる高速化が可能<br />23<br />
  24. 24. スケーラビリティ<br />GPUのコア数が増えてもオーバヘッドによる性能低下は見られない<br />メモリ転送などGPU環境の整備により,最新ハードほど計算速度は向上している<br />24<br />
  25. 25. GPUプログラムのチューニング<br />グローバルメモリアクセスを減らす<br />シェアードメモリを使う<br />レジスタを使う<br />コンスタントメモリを使う<br />理論スループット値に近づけるためにはメモリアクセスの最適化が必須<br />本研究でも,レジスタを使用しグローバルメモリアクセスを半分にすることで3倍以上の高速化<br />25<br />
  26. 26. 4. まとめ<br />26<br />
  27. 27. まとめ<br />近年のGPUの発展は目まぐるしいが,汎目的計算で有効活用するには特定のパターンに沿う必要がある<br />MNKPに対する動的計画法がGPUを用いることで高速化できることを示した<br />27<br />
  28. 28. GPUの将来性<br />あるアルゴリズムがGPU上で効果的に動作するかは自明ではない<br />プロセッサのクロック周波数は近年伸び悩んでいる<br />CPUにおける性能問題を時間が解決してくれる時代ではなくなりつつある<br />GPUプログラムはGPUの成長に応じて高速化<br />アルゴリズムがGPU上で動作するアドバンテージ<br />28<br />
  29. 29. 今後の課題<br />複数GPUでの並列化<br />GPUクラスタへの対応<br />制約値が大きい場合の対応<br />制約数が多い場合の対応<br />29<br />

×