著者
井手口 裕太 大野 善之 石坂 一久
雑誌
研究報告ハイパフォーマンスコンピューティング(HPC) (ISSN:21888841)
巻号頁・発行日
vol.2020-HPC-173, no.15, pp.1-6, 2020-03-09

Top-N 推薦のための高精度かつ高速なアルゴリズムである SLIM のベクトル演算を用いた高速化手法を提案する.Top-N 推薦は,過去の購入履歴などを学習することでユーザーに推薦するアイテムを決定する問題であるが,膨大なデータを利用する学習時間の短縮が求めらている.SLIM はスレッド並列化が考慮されたアルゴリズムであるが,高性能ベクトルコンピュータ SX-Aurora TSUBASA で高速化するには,効率的なベクトル演算手法を開発する必要があった.本稿では,SLIM の主要処理に対するベクトル演算手法を提案し,SX-Aurora を用いた高速化を可能とする.Top-N 推薦でよく利用される MovieLens データセットを用いた評価では,提案する SX-Aurora を用いた SLIM は,2 ソケット Xeon に比べて 3.3 倍の高速であることを確認した.
著者
石坂 一久 大野 善之 Sourav Saha 大道 修 小寺 雅司 荒木 拓也
雑誌
研究報告ハイパフォーマンスコンピューティング(HPC) (ISSN:21888841)
巻号頁・発行日
vol.2022-HPC-187, no.9, pp.1-6, 2022-11-24

データフレームコンパイラを搭載し利便性と高速性の両方を実現するデータフレーム用 Python ライブラリ Ducks を紹介する.データフレームは,github で 35K star を誇る Pandas に代表されるように,データ分析や前処理に広く用いられているが,データ量の増大や分析の複雑化により高速化が求められている.Ducks は HPC で培われてきた実行時コンパイル技術を用いることで,ライブラリ呼び出しを直接実行するのではなく,データフーム用の中間言語(IR)を生成して遅延実行を行う方式を採用している.これにより API とその実行を分離し,Pandas 互換の API を提供しながら,IR 上でのドメイン特化の最適化,ターゲットプラットフォームに最適化されたバックエンドによる IR 実行により高速性も実現する.ベンチマーク集である TPCx-BB,TPC-H に含まれる 45 種類のデータ前処理・分析処理を用いた CPU 上での評価では,ライブラリを選択する impor t文の変更のみで,Pandas に対して最大 17 倍,平均 5.8 倍の性能向上を得ることができ,本方式の有効性を確認した.
著者
中野 啓史 石坂 一久 小幡 元樹 木村 啓二 笠原 博徳
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告計算機アーキテクチャ(ARC) (ISSN:09196072)
巻号頁・発行日
vol.2001, no.76, pp.67-72, 2001-07-25
参考文献数
13
被引用文献数
3

近年のプロセッサの動作速度とメモリアクセスの速度差の拡大により,データローカリティを利用したキャッシュ最適化がますます重要となっている。また,マルチプロセッサシステム上での並列処理においては,従来のループ並列化のみの並列処理は限界を向かえつつある。そのため更なる性能向上を得るには粗粒度タスク並列処理の併用等マルチグレイン並列化が重要となっている。本稿では,Fortranプログラムをループ・サブルーチン・基本ブロックの3種類の粗粒度タスクに分割し,粗粒度タスク間の制御依存・データ依存を解析して並列性を抽出する粗粒度タスク並列処理において,粗粒度タスク間のデータ共有量を考慮してキャッシュ最適化を行う粗粒度タスクスタティックスケジューリング手法について述べる。本手法をOSCAR Fortranマルチグレイン並列化コンパイラに実装してSunUltra80(4プロセッサSMP)上で評価を行った結果,SPEC 95fpのswim,tomcatvにおいて,本手法により,Sun Forte HPC 6 update 1 の自動並列化に対してそれぞれ4.56倍,2.37倍の速度向上が得られ,本手法の有効性が確かめられた。Effective use of cache memory based on data locality is getting more important with increasing gap between the processor speed and memory access speed. As to parallel processing on multiprocessor systems, it seems to be difficult to achieve large performance improvement only with the conventional loop iteration level parallelism. This paper proposes a coarse grain task static scheduling scheme considering cache optimization. The proposed scheme is based on the macro data flow parallel processing that uses coarse grain task parallelism among tasks such as loop blocks, subroutines and basic blocks. It is implemented on OSCAR Fortran multigrain parallelizing compiler and evaluated on Sun Ultra80 four-processor SMP machine, using swim and tomcatv from the SPEC fp 95 benchmark suite. As the results, the proposed scheme gives us 4.56 times speedup for swim and 2.37 times for tomcatv respectively against the Sun Forte HPC 6 loop parallelizing compiler on 4 processors.
著者
小幡 元樹 白子 準 神長 浩気 石坂 一久 笠原 博徳
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.44, no.4, pp.1044-1055, 2003-04-15
被引用文献数
13

従来,チップマルチプロセッサからHPCまで幅広く使われている共有メモリ型マルチプロセッサシステム上での自動並列化コンパイラではループレベル並列処理が主に用いられてきたが,その並列化技術の成熟により,ループ並列化では今後大幅な性能向上は難しいといわれている.このループ並列性の限界を越えるために,現在ループ・サブルーチン・基本ブロック間の粗粒度タスク並列性,ステートメント間の近細粒度並列性を従来のループ並列処理に加えて利用するマルチグレイン並列処理が有望視されている.マルチグレイン並列処理において各種粒度の並列性を階層的に抽出し,効率良い並列実行を実現するためには,各々の階層(ネストレベル)の並列性に応じて,何台のプロセッサ,あるいはプロセッサのグループ(プロセッサクラスタ)を割り当てるかを決定する必要がある.本論文ではプログラム中の各階層の並列性を効果的に用いるための階層的並列性制御手法を提案し,本手法を実装したOSCARマルチグレイン並列化コンパイラによる階層的並列処理の評価では,SMPサーバIBM pSeries690 Regatta 16プロセッサシステム上にてSPEC95FPベンチマークを用いた結果,逐次処理に対して1.9?10.6倍の性能向上が得られることが確かめられた.A multigrain parallel processing is very important to improve effective performance beyond the limit of the loop parallelism on a shared memory multiprocessor system.In the multi-grain parallelization, coarse grain parallelism among loops,subroutines and basic blocks,and near fine grain parallelism among statements inside a basic block are exploited in addition to the conventional loop parallelism.In order to efficiently use hierarchical parallelism of each nest level,or layer, in multigrain parallel processing,it is required to determine how many processors or groups of processors should be assigned to each layer,according to the parallelism of the layer.This paper proposes a hierarchical parallelism control scheme for multigrain parallel processing so that the parallelism of each hierarchy can be used efficiently.Performance of the hierarchical parallelization using the proposed scheme implemented on OSCAR multigrain parallelizing compiler is evaluated on IBM pSeries690 Regatta SMP server with 16 processors using SPEC95FP benchmarks and the hierarchical parallelization using the proposed scheme gave us 1.9 to 10.6 times speed up against sequential processing.
著者
中野 啓史 内藤陽介 鈴木 貴久 小高 剛 石坂 一久 木村 啓二 笠原 博徳
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告計算機アーキテクチャ(ARC) (ISSN:09196072)
巻号頁・発行日
vol.2004, no.80, pp.115-120, 2004-07-31
被引用文献数
2

現在,次世代のマイクロプロセッサアーキテクチャとして,複数のプロセッサコアを1チップ上に集積するチップマルチプロセッサ(CMP)が大きな注目を集めている.これらのCMPアーキテクチャにおいても,従来のマルチプロセッサシステムで大きな課題となっていたキャッシュやローカルメモリ等のプロセッサコア近接メモリの有効利用に関する問題は依然存在する.筆者等はこのメモリウォールの問題に対処し,高い並列性を抽出し効果的な並列処理を実現するために,マルチグレイン並列処理との協調動作により実効性能が高く価格性能比の向上を可能にするOSCAR CMPを提案している.このOSCAR CMPは,集中共有メモリ(CSM)に加え,プロセッサのプライベートデータを格納するローカルデータメモリ(LDM),プロセッサコア間の同期やデータ転送にも使用する2ポートメモリ構成の分散共有メモリ(DSM),プロセッサコアと非同期に動作可能なデータ転送ユニット(DTU)を持つ.本稿では,FORTRAN プログラムをループ・サブルーチン・基本ブロックを粗粒度タスクとする.粗粒度タスク並列処理において,配列の生死解析情報を用いて粗粒度タスクの並び替えを行い,プログラムのデータローカリティを抽出するデータローカライゼーション手法について述べる.データ転送は,コンパイラにより自動生成したDTUによるデータ転送命令を用いてバースト転送を行う.Recently, Chip Multiprocessor (CMP) architecture has attracted much attention as a next-generation microprocessor architecture, and many kinds of CMP have widely developed. However, these CMP architectures still have the problem of effective use of memory system nearby processor cores such as cache and local memory. %This problem has also been one of the most important problems for ordinary %multiprocessors. On the other hand, the authors have proposed OSCAR CMP, which cooperatively works with multigrain parallel processing, to achieve high effective performance and good cost effectiveness. To overcome the problem of effective use of cache and local memory, OSCAR CMP has local data memory (LDM) for processor private data and distributed shared memory (DSM) having two ports for synchronization and data transfer among processor cores, centralized shared memory (CSM) to support dynamic task scheduling, and data transfer unit(DTU) for asynchronous data transfer. The multigrain parallelizing compiler uses such memory architecture of OSCAR CMP with data localization scheme that fully uses compile time information. This paper proposes a coarse grain task static scheduling scheme considering data localization using live variable analysis. Data is transferred in burst mode using automatically generated DTU instructions.
著者
石坂 一久 中野 啓史 八木 哲志 小幡 元樹 笠原 博徳
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.43, no.4, pp.958-970, 2002-04-15
被引用文献数
19

主記憶共有型マルチプロセッサシステムは幅広く使われているが,プロセッサ数の増加にともないその最大性能と実効性能の差が拡大してきている.このような問題を解決するためには,従来のループ並列処理に加えて,粗粒度タスク並列性,近細粒度並列性などのマルチグレイン並列性の利用が重要な技術である.また,プロセッサ技術の進歩とともに,プロセッサとメモリの速度差が顕在化し,その速度差を補うためのメモリ階層,特にキャッシュの有効利用は,マルチプロセッサシステムの性能向上に重要な要因となっている.本論文では,ループ並列化に加えプログラムを基本ブロック,ループ,サブルーチンといった粗粒度タスク(マクロタスク)に分割し,それらの間の並列性を効果的に利用するとともに,従来OSCAR型マルチプロセッサアーキテクチャにおけるローカルメモリおよび分散共有メモリ用に提案されていたデータローカライゼーション手法を主記憶共有型マルチプロセッサ上のキャッシュ最適化用に発展させたデータ分散・ダイナミックスケジューリング手法を提案する.本手法はOSCARマルチグレインコンパイラ上で実現され,逐次FORTRANプログラムを入力すると,共有メモリマシンにおける標準APIであるOpenMPを用いて複数マクロタスク間でキャッシュ上の共有データを再利用する並列化コードを自動生成する.本手法の評価を商用SMPマシンであるIBM RS/6000 604e High Node,Sun Ultra80上でspec95fpベンチマークのtomcatv,swim,mgridを用いて行った結果,IBM RS/6000上ではIBM XL FORTRAN version 6.1コンパイラの自動ループ並列化を行った場合の最小実行時間に対して本手法は最大5.8倍の性能向上を示し,Sun Ultra80上ではSun Forte 6 update 1コンパイラの最小時間に対して最大3.6倍の性能向上が得られることが確かめられた.In multiprocessor systems,the gap between peak and effective performance has getting larger.To cope with this performance gap,it is important to use multigrain parallelismin addition to ordinary loop level parallelism.Also, effective use of memory hierarchy is importantfor the performance improvement of multiprocessor systemsbecause the speed gap between processors and memories is gettinglarger.This paper describes coarse grain task parallel processingthat uses parallelism among macro-tasks like loops and subroutinesconsidering cache optimization using data localization scheme.The proposed scheme is implemented on OSCAR automatic multigrainparallelizing compiler. OSCAR compiler generates OpenMP FORTRAN programrealizing the proposed scheme from an ordinary FORTRAN77 program.Its performance is evaluated on IBM RS6000SP 604e High Node 8 processors SMP machine and Sun Ultra80 4 processors SMP machine.In the evaluation,OSCAR compiler gives us up to 5.8 times speedup againstthe minimum execution time of IBM XL FORTRAN compiler on IBM RS/6000 and up to 3.6 times speedup against Sun Forte 6 update 1 compileron Sun Ultra80.
著者
笠原 博徳 小幡 元樹 石坂 一久
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.42, no.4, pp.910-920, 2001-04-15
被引用文献数
12

本論文では,共有メモリ型マルチプロセッサシステム上での粗粒度タスク並列処理のワンタイム・シングルレベルスレッド生成を用いた実現方式について提案する.粗粒度タスク並列処理は,現在のループ並列性の限界を超え,シングルチップマルチプロセッサからハイパフォーマンスコンピュータに至る広範囲のマルチプロセッサシステムの性能改善のために,重要な技術である.提案する粗粒度タスク並列処理実現手法では,まずFortranプログラムを粗粒度タスクに分割し,最早実行可能条件解析を用いてタスク間の並列性を解析した後,スタティックに粗粒度タスクをプロセッサに割り当てるか,実行時に粗粒度タスクをプロセッサに割り当てるダイナミックスケジューリングコードを埋め込んだOpenMP並列化Fortranプログラムを生成する.生成されるOpenMP並列化プログラムでは,階層的に粗粒度タスク並列処理を,プログラム開始時の一度だけのスレッドforkと,終了時の一度だけのjoinで低オーバヘッドで実現できる.本論文では,提案手法の有効性を8プロセッサからなる共有メモリマルチプロセッサIBM RS6000 SP 604e High Node上で評価する.本評価では,Perfect Club BenchmarksにおけるARC2D,SPEC 95fpのSWIM,TOMCATV,HYDRO2D,MGRIDを用い,提案する粗粒度タスク並列処理方式で生成したOpenMPコードをIBM XL Fortran compilerでコンパイルする.評価の結果,8プロセッサを用いた場合,提案する粗粒度並列処理手法は,XL Fortran単独によるループ自動並列化性能を1.5から3倍改善できることが確認できた.This paper proposes an implementation methodnamed ``one-time single level thread generation''for a coarse grain task parallel processing schemeon an off the shelf shared memory multiprocessor system.The coarse grain task parallel processing is importantto improve the effective performance of wide range of multiprocessor systemsfrom a single chip multiprocessor to a high performance computerbeyond the limit of the loop parallelism.The proposed scheme decomposes a Fortran programinto coarse grain tasks, analyzes parallelism among tasks by ``Earliest Executable Condition Analysis''considering control and data dependencies,statically schedules the coarse grain tasks to processorsor generates dynamic task scheduling codes to assign the tasks to processorsand generates OpenMP Fortran source codefor a shared memory multiprocessor system machine.The thread parallel code using OpenMP generatedby OSCAR compiler forks threads only onceat the beginning of the program and joins only once at the endeven though the program is processed in parallelbased on hierarchical coarse grain task parallel processing concept.The performance of the proposed scheme is evaluatedon a 8-processor shared memory multiprocessor system machine,IBM RS6000 SP 604e High Node,using a newly developed OpenMP backend of OSCAR multigrain compiler.The evaluation shows that OSCAR compiler with IBM XL Fortran compilergives us 1.5 to 3 times larger speedupthan native IBM XL Fortran compiler for SPEC 95fpSWIM, TOMCATV, HYDRO2D, MGRID and Perfect Benchmarks ARC2D.