抄録/ポイント:
抄録/ポイント
文献の概要を数百字程度の日本語でまとめたものです。
部分表示の続きは、JDreamⅢ(有料)でご覧頂けます。
J-GLOBALでは書誌(タイトル、著者名等)登載から半年以上経過後に表示されますが、医療系文献の場合はMyJ-GLOBALでのログインが必要です。
科学技術計算や画像処理,機械学習の分野を始めとして,アプリケーションの高速化を実現するために各種アクセラレータが利用されている。アクセラレータを有効利用するためには対象アクセラレータに適したプログラムやデータ配置の最適化,ホストとアクセラレータ間のデータ転送や同期などの挿入が必要になるが,これらをプログラマが手動で行うことは困難であり,コンパイラによる自動化が望まれる。筆者等はこれまでOSCAR自動並列化コンパイラにより,マルチコアプロセッサを対象として自動並列化に加えてメモリ最適化及びデータ転送最適化技術を開発してきた。このOSCARコンパイラに対し自動ベクトル化技術で多くの実績を持つベクトルプロセッサの技術を取り入れ,さらにベクトルアクセラレータを利用することで,高速化及び低消費電力化を達成しつつプログラムの生産性を大幅に改善することが出来ると考える。本稿ではOSCARコンパイラが対象としてきたOSCARマルチコアアーキテクチャにベクトルアクセラレータを加えた,プラチナマルチコアアーキテクチャ用の自動並列化・最適化を可能とするコンパイルフローを提案する。提案コンパイルフローではOSCARコンパイラによるコンパイル後のベクトルアクセラレータのコード生成にLLVMを利用しており,その実装の詳細も述べる。手動ベクトル化を行った主要カーネルに対してプラチナマルチコアシミュレータを用いて性能評価を行ったところ,1つのCPUコア及び1つのアクセラレータコアを使用した場合,1つのCPUコアのみによる実行と比較して行列積で20.06倍,2DConvolutionで22.23倍の性能向上が得られることが確かめられた。(著者抄録)