複数アーキテクチャ上での疎行列ベクトル積の性能最適化手法
全文
(2) 情報処理学会研究報告 IPSJ SIG Technical Report. . 11. 21 A= . 22 32. 41. 33 43 図1. 3.3 Modified Compressed Sparse Row (MSR) MSR 形式は CRS 形式を 修正し た も の で あ る .その 違 いは 対角部分を 分け て 格納し て い.
(3) . . . Vol.2009-ARC-186 No.7 Vol.2009-HPC-123 No.7 2009/12/1. 44. . る と こ ろ で あ る .MSR 形式は 行列デ ー タ を 2 つ の 配列 (index,value) に 格納す る .ndz を 対角部分の 零要素数と す る .. • 長さ nnz + ndz + 1 の 倍精度配列 value は n 番目ま で は 行列 A の 対角部分を 格納す. Data structure of CRS.. る .n + 1 番目の 要素は 使用し な い. n + 2 番目か ら は 行列 A の 対角以外の 非零要素の. % ( #$ ' & " . ! ! ) ! ! *+ *+, 図2. 値を 行方向に 沿 っ て 格納す る .. • 長さ nnz + ndz + 1 の 整数配列 index は n + 1 番目ま で は 行列 A の 非対角部分の 各行 の 開始位置を 格納す る .n + 2 番目か ら は 行列 A の 非対角部分の 配列 value に 格納さ れ た 非零要素の 列番号を 格納す る .. Data structure of CRS on two processes.. MSR 形式で の 格納方法を 図 5 に 示す .. . • 長さ nnz の 倍精度配列 value は 行列 A の 非零要素の 値を 列方向に 沿 っ て 格納す る .. 21 . • 長さ nnz の 整数配列 index は 配列 value に 格納され た 非零要素の 行番号を 格納す る .. A=. • 長さ n + 1 の 整数配列 ptr は 配列 value と index の 各列の 開始位置を 格納す る . CCS 形式で の 格納方法を 図 3 に 示す .. . 11 22 32. 41. 33 43. 44. . 5 5 6 7 9 0 1 0 2 11 22 33 44. 21 32 41 43. A.index A.value. 図 5 Data structure of MSR.. . . 11 22 32. 11 21 41 22 32 33 43 44. 44. 2 プ ロセ ス 上へ の MSR 形式で の 格納方法を 図 6 に 示す .. A.index A.value. M I N GF. 図 3 Data structure of CCS.. U RST YXTZ OQP OWP. 43. A.ptr. MJ KL NV MKNL H LK KL GF J K NM. 41. 33. 0 3 5 7 8 0 1 3 1 2 2 3 3 . LL. 21 A= . 図 6 Data structure of MSR on two processes.. 2 プ ロセ ス 上へ の CCS 形式で の 格納方法を 図 4 に 示す .. : > 849 2143 ./= < .7/ .0/. 6 6 ;? ;6 5566 6 ; ;6 A @6 @5;; ?6 @? @@;. 3.4 Diagonal (DIA) DIA は 行列デ ー タ を 2 つ の 配列 (index, value) に 格納す る .nnd を 行列 A の 非零な 対 角の 本数と す る .. BCD. BCE 図4. • 長さ nnd × n の 倍精度配列 value は 行列 A の 非零な 対角を 格納す る .. Data structure of CCS on two processes.. • 長さ nnd の 整数配列 index は 主対角か ら 各対角へ の オ フ セ ット を 格納す る . OpenMP 版で は 以下 の よ う に 修正し て いる .. 2. ⓒ2009 Information Processing Society of Japan.
(4) 情報処理学会研究報告 IPSJ SIG Technical Report. Vol.2009-ARC-186 No.7 Vol.2009-HPC-123 No.7 2009/12/1. DIA は 2 つ の 配列 (index, value) に 格納す る .nprocs を ス レッド 数と す る .nndp を 行. 納す る .最初の 列は 各行の 最初の 非零要素数か ら な る .た だ し ,格納す る 非零要素数が. 列 A を 行ブ ロック 分割し た 部分行列の 非零な 対角の 本数と す る .maxnnd を nndp の 値の. な い場合は 0 を 格納す る .. 最大値と す る .. • 長さ maxnzr × n の 整数配列 index は 配列 value に 格納され た 非零要素の 列番号を 格 納す る .た だ し ,第 i 行目の 非零要素数を nnzi と す る と index[nnzi *n + i] に は その. • 長さ maxnnd × n の 倍精度配列 value は 行列 A を 行ブ ロック 分割し た 部分行列の 非零 な 対角を 格納す る .. 行番号 i を 格納す る .. • 長さ nprocs × maxnnd の 整数配列 index は 主対角か ら 各対角へ の オ フ セ ット を 格納. ELL 形式で の 格納方法を 図 10 に 示す .. す る .. . DIA 形式で の 格納方法を 図 7 に 示す .. . 11. 21 . A=. 21 . A=. . 22 32. 33. 41. 43 図7. 44. . -3 -1 0 0 0 0 41 0 21 32 43 11 22 33 44. A.index A.value. 41. 22 32. 33 43. 44. . 0 0 1 0 0 1 2 2 0 1 2 3 11 21 32 41 0 22 33 43 0 0 0 44. A.index A.value. 図 10 Data structure of ELL.. Data structure of DIA.. 2 プ ロセ ス 上へ の ELL 形式で の 格納方法を 図 11 に 示す .. . 2 ス レッド 上へ の DIA 形式で の 格納方法を 図 8 に 示す .. . . . 図 11 Data structure of ELL on two processes.. j hie cbde _g` a_` ]][ [ ][ \[ ]^f f k^ k [ \\ f ^^^ k ^ \f 図8. . 11. Data structure of DIA on two threads.. 3.6 Jagged Diagonal (JDS) JDS は 最初に 各行の 非零要素数の 大き い順に 行の 並び 替えを 行い,各行の 非零要素を 列 方向に 沿 っ て 格納す る .JDS は 行列デ ー タ を 4 つ の 配列 (perm, ptr, index, value) に. 2 プ ロセ ス 上へ の DIA 形式で の 格納方法を 図 9 に 示す .. 格納す る .maxnzr を 行列 A の 各行で の 非零要素数の 最大値と す る .. ~z xwzy t}u tvu. { {|| qr qp| ss | {r lmn p r qq s q pr mlo. • 長さ n の 整数配列 perm は 並び 替えた 行番号を 格納す る . • 長さ nnz の 倍精度配列 value は 並び 替えら れ た 行列 A の ぎ ざ ぎ ざ 対角を 格納す る .最. 図 9 Data structure of DIA on two processes.. 初の ぎ ざ ぎ ざ 対角は 各行の 最初の 非零要素数か ら な る .次の ぎ ざ ぎ ざ 対角は 各行の 2 番 目の 非零要素か ら な る .こ れ を 順次繰り 返し て いく .. 3.5 Ellpack-Itpack generalized diagonal (ELL). • 長さ nnz の 整数配列 index は 配列 value に 格納され た 非零要素の 列番号を 格納す る .. ELL は 行列デ ー タ を 2 つ の 配列 (index, value) に 格納す る .maxnzr を 行列 A の 各行. • 長さ maxnzr + 1 の 整数配列 ptr は 各ぎ ざ ぎ ざ 対角の 開始位置を 格納す る .. で の 非零要素数の 最大値と す る .. OpenMP 版で は 以下 の よ う に 修正を 行っ て いる .. • 長さ maxnzr × n の 倍精度配列 value は 行列 A の 各行の 非零要素を 列方向に 沿 っ て 格. JDS は 4 つ の 配列 (perm, ptr, index, value) に 格納す る .nprocs を ス レッド 数と す る .. 3. ⓒ2009 Information Processing Society of Japan.
(5) 情報処理学会研究報告 IPSJ SIG Technical Report. Vol.2009-ARC-186 No.7 Vol.2009-HPC-123 No.7 2009/12/1. maxmaxnzr は 配列 maxnzrp の 値の 最大値で あ る . • 長さ n の 整数配列 perm は 行列 A を 行ブ ロック 分割し た 部分行列を 並び 替えた 行番号. ØÙ ØÊ× Ö ÒÔÏÓ ÍÌÏÎ ÉÊÏ Ö É ÉÑÊ ÉËÊ. È Ð Õ Å ÐÈ Ð Å ÈÈ Å Å Æ ÅÐ È Ç Ç ÐÆÈ È Æ Å Ç Å Ç ÆÅ Æ Ç Ç ÅÆÆ. maxnzrp を 行列 A を 行ブ ロック 分割し た 部分行列の 各行で の 非零要素数の 最大値と す る .. を 格納す る .. Ü. ÚÛ. ÚÛÝ. • 長さ nnz の 倍精度配列 value は 並び 替えら れ た 行列 A の ぎ ざ ぎ ざ 対角を 格納す る .最. 図 14 Data structure of JDS on two processes.. 初の ぎ ざ ぎ ざ 対角は 各行の 最初の 非零要素数か ら な る .次の ぎ ざ ぎ ざ 対角は 各行の 2 番 目の 非零要素か ら な る .こ れ を 順次繰り 返し て いく .. value) に 格納す る .. • 長さ nnz の 整数配列 index は 配列 value に 格納され た 非零要素の 列番号を 格納す る .. • 長さ nnzb × r × c の 倍精度配列 value は 非零ブ ロック の 全要素を 格納す る .. • 長さ nprocs × (maxmaxnzr + 1) の 整数配列 ptr は 行列 A を 行ブ ロック 分割し た 部. • 長さ nnzb の 整数配列 bindex は 非零ブ ロック の ブ ロック 列番号を 格納す る .. 分行列の 各ぎ ざ ぎ ざ 対角の 開始位置を 格納す る .. • 長さ nr + 1 の 整数配列 bptr は 配列 bindex の ブ ロック 行の 開始位置を 格納す る .. JDS 形式で の 格納方法を 図 12 に 示す .. 32. 41. 33 43 図 12. 44. . ª« ª© ¨ ¨ . 22. . 41. 22 32. 33 43. 44. . 0 1 3. A.bptr. A.bindex 0 0 1 11 21 0 22 0 41 32 0 33 43 0 44 A.value. 図 15 Data structure of BSR.. Data structure of JDS.. 2 ス レッド 上へ の JDS 形式で の 格納方法を 図 13 に 示す .. 2 プ ロセ ス 上へ の BSR 形式で の 格納方法を 図 16 に 示す .. ñð ï îíè çè ëì æå âãê âãê âäã ááß áéé ßé Þ Þ à áàé ô ß ß ß òó ÞÞß ßà ß àààÞ óòõ. À. ÃÄ Ã ¶ Á ±Â Á °± °. ¿ ¾. ®. ·® ® ½ · ¸ ½. ¼. µ¶ º»¶ ´³ °¹± °²±. ® ¯ · ®® · ® ¸½ ·® ¸ ¸½ ·· ½ ¸¸¸ · 図 13. . 11. 21 . A=. ¤ ¢£ ¡ ¥ ¥ ¥ . 21 . A=. . 11. ¥ ¦ § ¬ ¥. . BSR 形式で の 格納方法を 図 15 に 示す .. 図 16. Data structure of BSR on two processes.. Data structure of JDS on two threads.. 3.8 Block Sparse Column (BSC) 2 プ ロセ ス 上へ の JDS 形式で の 格納方法を 図 14 に 示す .. BSC で は 行列を r ×c の 大き さの 部分行列( ブ ロック と 呼ぶ ) に 分解す る .BSC は CCS と. 3.7 Block Sparse Row (BSR). 同様の 手順で 非零ブ ロック ( 少な く と も 1 つ の 非零要素が 存在す る ) を 格納す る .nc = n/c,. BSR で は 行列を r ×c の 大き さの 部分行列( ブ ロック と 呼ぶ ) に 分解す る .BSR は CRS と. nnzb を A の 非零ブ ロック 数と す る .BSC は 行列デ ー タ を 3 つ の 配列 (bptr, bindex,. 同様の 手順で 非零ブ ロック ( 少な く と も 1 つ の 非零要素が 存在す る ) を 格納す る .nr = n/r ,. value) に 格納す る .. nnzb を A の 非零ブ ロック 数と す る .BSR は 行列デ ー タ を 3 つ の 配列 (bptr, bindex,. • 長さ nnzb × r × c の 倍精度配列 value は 非零ブ ロック の 全要素を 格納す る .. 4. ⓒ2009 Information Processing Society of Japan.
(6) 情報処理学会研究報告 IPSJ SIG Technical Report. Vol.2009-ARC-186 No.7 Vol.2009-HPC-123 No.7 2009/12/1. . ". . !. . #. . . . . . . . . . . . . . . . . . . &. . . % '!. . . . . . #. #. #. . #. . . . . . . . 2. . 1. /7. ). + 0 <. 89. . :;. /7. -. *. + 6. 2. . 4. /. *. 図 17. . . $. . . *. 44. +. 43. +. 41. A.bindex 0 1 1 11 21 0 22 0 41 32 0 33 43 0 44 A.value. ). 33. 図 19 Data structure of VBR.. A.bptr. 0 1 3. 44. *. 32. . 43. . 22. +. 21 A= . 33. . 11. 32. 41. . . . . . . BSC 形式で の 格納方法を 図 17 に 示す .. 22. . 21 . A=. . • 長さ nc + 1 の 整数配列 bptr は 配列 bindex の ブ ロック 列の 開始位置を 格納す る .. . 11. . . . • 長さ nnzb の 整数配列 bindex は 非零ブ ロック の ブ ロック 行番号を 格納す る .. ,. ). ). +. Data structure of BSC. 5. . 4. /3. ,. * ,. * ). +. ). + 2. . 1. /. (. * ,. *. ). + ). + 0 >. /. ?;. 5. =. .. 2 プ ロセ ス 上へ の BSC 形式で の 格納方法を 図 18 に 示す .. -. -. -. *. -. *. * ). ). +. ). + ,. ,. ,. *. , ). +. B. @A. @A C. . . ü úùüû ö÷ ö÷ öø÷. 図 20 Data structure of VBR on two processes.. . þ. . þ þ. . . . . . . ý. ýþ. ýÿÿ. þ. ÿ. þ. ýþ. . . . ÿ
(7). 3.10 Coordinate (COO). COO は 行列デ ー タ を 3 つ の 配列 (row, col, value) に 格納す る .. 図 18 Data structure of BSC on two processes.. • 長さ nnz の 倍精度配列 value は 非零要素を 格納す る . 3.9 Variable Block Row (VBR). • 長さ nnz の 整数配列 row は 非零要素の 行番号を 格納す る .. VBR 形式は BSR 形式を 一 般化 し た も の で あ る .行と 列の 分割位置は 配列 (row, col). • 長さ nnz の 整数配列 col は 非零要素の 列番号を 格納す る .. で 与えら れ る .VBR は CRS と 同様の 手順で 非零ブ ロック ( 少な く と も 1 つ の 非零要素が. COO 形式で の 格納方法を 図 21 に 示す .. 存在す る ) を 格納す る .nr, nc を それ ぞ れ 行分割数,列分割数と す る .nnzb を A の 非零ブ. . ロック 数,nnz を 非零ブ ロック の 全要素数と す る .VBR は 行列デ ー タ を 6 つ の 配列 (bptr,. F E. H G P G. ES P. N O. E. D. J. J. K I. I D. J. J. K. K I. L D QR. M. M. M. J. J. J. K. M. K. J I. I. I. I. 44. K. 43. I. 33. L. 32. K. • 長さ nc + 1 の 整数配列 col は ブ ロック 列の 開始列番号を 格納す る .. 41. . K. • 長さ nr + 1 の 整数配列 row は ブ ロック 行の 開始行番号を 格納す る .. 22. L. A=. L. 21 . bindex, row, col, ptr, value) に 格納す る .. . 11. 図 21 Data structure of COO.. • 長さ nnzb の 整数配列 bindex は 非零ブ ロック の ブ ロック 列番号を 格納す る . • 長さ nr + 1 の 整数配列 bptr は 配列 bindex の ブ ロック 行の 開始位置を 格納す る . • 長さ nnz の 倍精度配列 value は 非零ブ ロック の 全要素を 格納す る .. 2 プ ロセ ス 上へ の COO 形式で の 格納方法を 図 22 に 示す .. • 長さ nnzb + 1 の 整数配列 ptr は 配列 value の 非零ブ ロック の 開始位置を 格納す る .. 3.11 Dense (DNS). VBR 形式で の 格納方法を 図 19 に 示す .. DNS は 行列デ ー タ を 1 つ の 配列 (value) に 格納す る .. 2 プ ロセ ス 上へ の VBR 形式で の 格納方法を 図 20 に 示す .. • 長さ n × n の 倍精度配列 value は 列優先で 要素を 格納す る .. 5. ⓒ2009 Information Processing Society of Japan.
(8) 情報処理学会研究報告 IPSJ SIG Technical Report. Vol.2009-ARC-186 No.7 Vol.2009-HPC-123 No.7 2009/12/1. [. Y Z. X. W. V. V. T. T \. \. \. U. . _. W Z. Xc. T V. V. T \. U. U. U _ ^. X. W. ] `a. b. b. b. V. T. b. V. V. T. V. T. T \. \. \. \ f. de. de g. 図 22 Data structure of COO on two processes.. 2. 1. 1 A= . 2 ... 1 ... . .. .. ... 1. 2 1. .. 1 2. T. 2 プ ロセ ス 上へ の DNS 形式で の 格納方法を 図 23 に 示す .. と ベ ク ト ル (1, . . . , 1) と の 積を 実行可 能な 行列格納形式に つ いて iter で 指定され た 回数 実行し ,MFLOPS 値を 算出す る .. . . 11. 21 A= . 22 32. 33. 41. 43. 44. 4.0.2 spmvtest2. 11 21 0 41 0 22 32 0 0 0 33 43 0 0 0 44 . A.Value. 2 次元 Poisson 方程式を 5 点中心差分で 離散化 し た 行列と ベ ク ト ル (1, . . . , 1)T と の 積を 実行可 能な 行列格納形式に つ いて iter で 指定され た 回数実行し ,MFLOPS 値を 算出す る .. m と n は それ ぞ れ 垂直方向と 水平方向の 格子点数で あ る .. 図 23 Data structure of DNS.. 1-6 に ,上記ア ー キ テ ク チ ャ に お いて 高い性能を 示し た CRS,DIA,ELL,JDS 形式で の MPI 版,OpenMP 版 spmvtest1,spmvtest2 の 評価 結果 を 示す . こ れ ら の デ ー タ か ら ,計算機ア ー キ テ ク チ ャ に よ っ て 最適な 格納形式,並列化 手法が 異な. 2 プ ロセ ス 上へ の DNS 形式で の 格納方法を 図 24 に 示す .. る こ と ,ま た こ れ ら の 性能が 行列デ ー タ の 構造に も 依 存す る こ と な ど が 見て 取れ る . n. l. pq. o. m. k. h. h. hj. j. j h. sj. i i. r. i. 表1. Performance of spmvtest1 on Xeon 5570 server.. s. s. s. i. i. i. i i. r. r. r v. tu. tu w. 図 24 Data structure of DNS on two processes.. 4. 性 能 評 価 Lis 上に 実装し た 固有値解法の 特性に つ いて 調べ る た め , 九 州大学情報基盤研 究 開発セ ンタ ー に 設置され た Intel Xeon 5570 サ ー バ (2.93GHz ク ア ッド コ ア プ ロセ ッサ ×2), 日 立 SR16000 サ ー バ (4.7GHz IBM デ ュ ア ルコ ア. POWER6 プ ロセ ッサ ×16) の DDR. InfiniBand ク ラス タ , 及 び 東北大学サ イ バ ー サ イ エ ンス セ ンタ ー の SX-9 1 ノ ー ド を 用い, 今回は , Lis 上に 実装し た 疎行列ベ ク ト ル積に 関 す る ベ ンチ マ ー ク プ ログ ラム spmvtest1,. Problem Size # MPI processes CRS (MFLOPS) DIA (MFLOPS) ELL (MFLOPS) JDS (MFLOPS). 40, 000 1 884 1510 1200 840. 80, 000 2 1740 2990 2370 1660. 160, 000 4 3460 5470 4500 3150. 320, 000 8 5790 6500 4960 3080. Problem Size # threads CRS (MFLOPS) DIA (MFLOPS) ELL (MFLOPS) JDS (MFLOPS). 40, 000 1 884 1510 1200 840. 80, 000 2 1690 2970 2350 1660. 160, 000 4 3370 5470 4570 3150. 320, 000 8 4890 6440 5270 2450. spmvtest2 に て 性能評価 を 行っ た . spmvtest1,spmvtest2 の 仕様は 以下 の 通り で あ る . 4.0.1 spmvtest1 次数 n の 三重対角行列. 6. ⓒ2009 Information Processing Society of Japan.
(9) 情報処理学会研究報告 IPSJ SIG Technical Report. 表2. Vol.2009-ARC-186 No.7 Vol.2009-HPC-123 No.7 2009/12/1. Performance of spmvtest2 on Xeon 5570 server.. Problem Size # MPI processes CRS (MFLOPS) DIA (MFLOPS) ELL (MFLOPS) JDS (MFLOPS). 40, 000 1 1110 1630 1210 1030. 80, 000 2 2190 3190 2400 2030. 160, 000 4 4140 5010 4270 3370. 320, 000 8 4440 4370 3770 3040. Problem Size # threads CRS (MFLOPS) DIA (MFLOPS) ELL (MFLOPS) JDS (MFLOPS). 40, 000 1 1190 1640 1250 1020. 80, 000 2 2380 3130 2440 2030. 160, 000 4 2160 6040 4350 3070. 320, 000 8 3780 4940 3560 2860. 表 4 Performance of spmvtest2 on Hitachi SR16000.. 40, 000. 80, 000. 160, 000. 320, 000. 640, 000. 40, 000. 80, 000. 160, 000. 320, 000. 640, 000. 1, 280, 000. 1 580 2130 1790 1390. 2 851 2370 1750 1330. 4 1680 4000 2440 2020. 8 3270 7730 4860 4020. 16 6430 14900 9490 7960. 32 13400 30600 19100 16200. # threads CRS (MFLOPS) DIA (MFLOPS) ELL (MFLOPS) JDS (MFLOPS). 1 580 2130 1790 1390. 2 1090 3930 2930 2250. 4 2210 7500 5900 4550. 8 4390 15000 11500 9060. 16 8740 28700 23000 17600. 32 15100 44100 33800 27300. 表 5 Performance of spmvtest1 on NEC SX-9.. 表 3 Performance of spmvtest1 on Hitachi SR16000.. Problem Size. Problem Size # MPI processes CRS (MFLOPS) DIA (MFLOPS) ELL (MFLOPS) JDS (MFLOPS). 1, 280, 000. Problem Size. 40, 000. 80, 000. 160, 000. 320, 000. 640, 000. 1 5.39 9780 1320 835. 2 10.8 11600 2380 1510. 4 21.6 20800 4730 3010. 8 43.3 42600 9270 5860. 16 -. 1 5.44 8930 1280 828. 2 11.0 9460 2300 1550. 4 14.4 18000 4470 1040. 8 43.7 35600 9150 6160. 16 87.4 64700 18000 12100. # MPI processes CRS (MFLOPS) DIA (MFLOPS) ELL (MFLOPS) JDS (MFLOPS). 1 310 1800 1530 1150. 2 484 1940 1490 1090. 4 976 3900 2130 1480. 8 1960 7800 6070 4270. 16 3730 15600 12100 8450. 32 7760 31200 24000 17100. # MPI processes CRS (MFLOPS) DIA (MFLOPS) ELL (MFLOPS) JDS (MFLOPS). # threads CRS (MFLOPS) DIA (MFLOPS) ELL (MFLOPS) JDS (MFLOPS). 1 310 1800 1530 1150. 2 607 3270 2880 2090. 4 1210 6470 5620 4080. 8 2420 12600 11100 7810. 16 4790 25900 21000 15100. 32 9380 43000 40700 29300. # threads CRS (MFLOPS) DIA (MFLOPS) ELL (MFLOPS) JDS (MFLOPS). 7. ⓒ2009 Information Processing Society of Japan.
(10) 情報処理学会研究報告 IPSJ SIG Technical Report. 表6. 5. 考. Vol.2009-ARC-186 No.7 Vol.2009-HPC-123 No.7 2009/12/1. Performance of spmvtest2 on NEC SX-9.. Problem Size. 40, 000. 80, 000. 160, 000. 320, 000. 640, 000. # MPI processes CRS (MFLOPS) DIA (MFLOPS) ELL (MFLOPS) JDS (MFLOPS). 1 13.2 10400 1310 1070. 2 26.5 12100 2410 1890. 4 52.7 16000 4450 3460. 8 106 29600 8720 6340. 16 -. # threads CRS (MFLOPS) DIA (MFLOPS) ELL (MFLOPS) JDS (MFLOPS). 1 13.4 11700 1310 1080. 2 27.0 15500 2530 2050. 4 53.6 28300 4900 4090. 8 -. 16 212 100000 19500 16000. 察. 本稿で は ,現在開発を 進め て いる 並列反復解法ライ ブ ラリ Lis へ の 適用を 目的と し て ,複 数ア ー キ テ ク チ ャ 上で の 疎行列ベ ク ト ル積の 事前性能評価 の 妥当性に つ いて 検 討し た . 疎行 列ベ ク ト ル積の 性能は ,行列の 形状,並列化 手法,メ モ リの 階層構造等に よ っ て 大き く 性能 が 変化 す る た め ,す べ て の 場合に 最適な 解法を 見出す の は 難し い.し た が っ て ,現実的な 解 と し て ,本研 究 で 試み た 局 所的な 性能解析を 一 般化 し ,よ り 多様な デ ー タ 格納手法に つ いて 評価 を 可 能に す る こ と が 考えら れ る .ま た ,解析手法の 自動化 に よ り ,性能可 搬性の 確保を 容易 に す る こ と も 重要で あ る .本研 究 で は ,今後こ れ ら の 手法に つ いて ,実装,評価 を 行っ て いく 予定で あ る .. 参. 考 文. 献. 1) Dongarra, J.: Freely Available Software for the Solution of Linear Algebra Problems, http://www.netlib.org/utk/people/JackDongarra/la-sw.html (2009). 2) The Scalable Software Infrastructure Project: Lis 1.2.15 User’s Manual, http://www.ssisc.org/lis/ (2009).. 8. ⓒ2009 Information Processing Society of Japan.
(11)
図
関連したドキュメント
(Construction of the strand of in- variants through enlargements (modifications ) of an idealistic filtration, and without using restriction to a hypersurface of maximal contact.) At
In Section 4 we present conditions upon the size of the uncertainties appearing in a flexible system of linear equations that guarantee that an admissible solution is produced
Theorem 2 If F is a compact oriented surface with boundary then the Yang- Mills measure of a skein corresponding to a blackboard framed colored link can be computed using formula
The strategy to prove Proposition 3.4 is to apply Lemma 3.5 to the subspace X := (A p,2 ·v 0 ) ⊥ which is the orthogonal for the invariant form h·, ·i p,g of the cyclic space
It is suggested by our method that most of the quadratic algebras for all St¨ ackel equivalence classes of 3D second order quantum superintegrable systems on conformally flat
Answering a question of de la Harpe and Bridson in the Kourovka Notebook, we build the explicit embeddings of the additive group of rational numbers Q in a finitely generated group
Then it follows immediately from a suitable version of “Hensel’s Lemma” [cf., e.g., the argument of [4], Lemma 2.1] that S may be obtained, as the notation suggests, as the m A
In our previous paper [Ban1], we explicitly calculated the p-adic polylogarithm sheaf on the projective line minus three points, and calculated its specializa- tions to the d-th