JP6511937B2 - 並列計算機システム、演算方法、演算プログラム、及び情報処理装置 - Google Patents
並列計算機システム、演算方法、演算プログラム、及び情報処理装置 Download PDFInfo
- Publication number
- JP6511937B2 JP6511937B2 JP2015089245A JP2015089245A JP6511937B2 JP 6511937 B2 JP6511937 B2 JP 6511937B2 JP 2015089245 A JP2015089245 A JP 2015089245A JP 2015089245 A JP2015089245 A JP 2015089245A JP 6511937 B2 JP6511937 B2 JP 6511937B2
- Authority
- JP
- Japan
- Prior art keywords
- elements
- predetermined number
- communication
- processing
- fft
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Multi Processors (AREA)
- Complex Calculations (AREA)
Description
まず、グローバル配列の分割に関する基本的な事項を説明する。以下では、3次元FFTの対象であるグローバル配列のX方向の要素数をN1、Y方向の要素数をN2、Z方向の要素数をN3とする。X方向のプロセス数(すなわち分割数)をND1、Y方向のプロセス数をND2、Z方向のプロセス数をND3とする。グローバル配列を分割することで得られるローカル配列のX方向の要素数をNP1、Y方向の要素数をNP2、Z方向の要素数をNP3とする。また、自然数NをPで割ったときの余りがゼロであることを、mod(N,P)=0と表す。
mod(N3,ND3)=0
mod(N1,ND2)=0
mod(N2,ND3)=0
mod(N2P×N3P,ND1)=0
mod(N3P×N1P,ND2)=0
上で述べた1軸分散及び2軸分散については、ローカル配列のサイズが不均一にならないようにすることが難しいため、本実施の形態においては3軸分散を採用する。3軸分散の場合、通常はFFTの後にデータの配置を元に戻す処理を実行するので、各方向のFFT及び通信を作業用配列のサイズに応じて分割して行うことが可能である。これにより、要素数が増加する可能性を考慮して作業用配列を用意しなくてもよくなり、インタフェースが簡素化する。また、本実施の形態においては、FFT後にデータの配置を元に戻す処理を一部の要素についてのみ実行することで通信量を削減し、並列計算機システムの性能を向上させる。
図16に、本実施の形態における並列計算機システムの一例を示す。ノード100乃至600は、例えば直接網である通信ネットワーク700を介して接続される。通信ネットワーク700の形状は、例えば6次元メッシュ/トーラスであるが、この形状には限られない。また、図16においてはノードの数が6であるが、数に限定は無い。
配列の要素に対する演算を並列で実行する複数の処理装置
を有し、
前記複数の処理装置の各々が、
当該処理装置に配置された要素のうち第1の所定数の要素に対して、第1の軸方向の演算を実行し、
演算後の前記第1の所定数の要素を当該処理装置の記憶装置に保存し、
前記複数の処理装置のうち少なくとも一部の処理装置が、
前記複数の処理装置の各々から、前記第1の所定数の要素以外の要素を取得し、
取得した前記要素に対して前記第1の軸方向の演算を実行し、
前記複数の処理装置の各々に、演算後の前記要素を第2の所定数ずつ配置する、
処理を実行する並列計算機システム。
前記複数の処理装置の各々は、
前記複数の処理装置の間における全対全通信によって前記第1の所定数の要素を取得する
処理をさらに実行する付記1記載の並列計算機システム。
前記複数の処理装置の各々は、
第2の軸方向における要素の数を、前記複数の処理装置の数で除することで商を算出し、
前記第1の軸方向における要素の数に、第3の軸方向における要素の数と、算出した前記商とを乗じることで前記第1の所定数を算出する、
処理をさらに実行する付記1又は2記載の並列計算機システム。
前記複数の処理装置の各々は、
第2の軸方向における要素の数に第3の軸方向における要素の数を乗じることで算出された数を、前記複数の処理装置の数で除することで商を算出し、
前記第1の軸方向における要素の数に、算出した前記商を乗じることで前記第1の所定数を算出する、
処理をさらに実行する付記1又は2記載の並列計算機システム。
前記第1の所定数は前記第2の所定数より多い
付記1乃至4のいずれか1つ記載の並列計算機システム。
前記演算は3次元高速フーリエ変換である
付記1乃至5のいずれか1つ記載の並列計算機システム。
前記配列は3次元配列である
付記1乃至6のいずれか1つ記載の並列計算機システム。
配列の要素に対する演算を並列で実行する複数の処理装置を含む並列計算機システムにおいて、
前記複数の処理装置の各々が、
当該処理装置に配置された要素のうち第1の所定数の要素に対して、第1の軸方向の演算を実行し、
演算後の前記第1の所定数の要素を当該処理装置の記憶装置に保存し、
前記複数の処理装置のうち少なくとも一部の処理装置が、
前記複数の処理装置の各々から、前記第1の所定数の要素以外の要素を取得し、
取得した前記要素に対して前記第1の軸方向の演算を実行し、
前記複数の処理装置の各々に、演算後の前記要素を第2の所定数ずつ配置する、
処理を実行する演算方法。
コンピュータに、
前記コンピュータに配置された要素のうち第1の所定数の要素に対して、第1の軸方向の演算を実行し、
演算後の前記第1の所定数の要素を前記コンピュータの記憶装置に保存し、
他の複数のコンピュータから、当該他の複数のコンピュータにおける前記第1の所定数の要素以外の要素を取得した場合、取得した前記要素に対して前記第1の軸方向の演算を実行し、
前記コンピュータ及び前記他の複数のコンピュータの各々に、演算後の前記要素を第2の所定数ずつ配置する、
処理を実行させるための演算プログラム。
情報処理装置であって、
記憶装置と、
前記情報処理装置に配置された要素のうち第1の所定数の要素に対して、第1の軸方向の演算を実行し、演算後の前記第1の所定数の要素を前記記憶装置に保存し、他の複数の情報処理装置から、当該他の複数のコンピュータにおける前記第1の所定数の要素以外の要素を取得した場合、取得した前記要素に対して前記第1の軸方向の演算を実行し、前記情報処理装置及び前記他の複数の情報処理装置の各々に、演算後の前記要素を第2の所定数ずつ配置する配置部と、
を有する情報処理装置。
700 通信ネットワーク
110,120,210,220 CPU
111,121,211,221 キャッシュメモリ
112,113,114,115,116,117,122,123,124,125,126,127,212,213,214,215,216,217,222,223,224,225,226,227 コア
130,230 共有メモリ
Claims (8)
- 配列の要素に対する演算を並列で実行する複数の処理装置
を有し、
前記複数の処理装置の各々が、
当該処理装置に配置された要素のうち第1の所定数の要素に対して、第1の軸方向の演算を実行し、
演算後の前記第1の所定数の要素を当該処理装置の記憶装置に保存し、
前記複数の処理装置のうち少なくとも一部の処理装置が、
前記複数の処理装置の各々から、前記第1の所定数の要素以外の要素を取得し、
取得した前記要素に対して前記第1の軸方向の演算を実行し、
前記複数の処理装置の各々に、演算後の前記要素を第2の所定数ずつ配置する、
処理を実行する並列計算機システム。 - 前記複数の処理装置の各々は、
前記複数の処理装置の間における全対全通信によって前記第1の所定数の要素を取得する
処理をさらに実行する請求項1記載の並列計算機システム。 - 前記複数の処理装置の各々は、
第2の軸方向における要素の数を、前記複数の処理装置の数で除することで商を算出し、
前記第1の軸方向における要素の数に、第3の軸方向における要素の数と、算出した前記商とを乗じることで前記第1の所定数を算出する、
処理をさらに実行する請求項1又は2記載の並列計算機システム。 - 前記複数の処理装置の各々は、
第2の軸方向における要素の数に第3の軸方向における要素の数を乗じることで算出された数を、前記複数の処理装置の数で除することで商を算出し、
前記第1の軸方向における要素の数に、算出した前記商を乗じることで前記第1の所定数を算出する、
処理をさらに実行する請求項1又は2記載の並列計算機システム。 - 前記第1の所定数は前記第2の所定数より多い
請求項1乃至4のいずれか1つ記載の並列計算機システム。 - 配列の要素に対する演算を並列で実行する複数の処理装置を含む並列計算機システムにおいて、
前記複数の処理装置の各々が、
当該処理装置に配置された要素のうち第1の所定数の要素に対して、第1の軸方向の演算を実行し、
演算後の前記第1の所定数の要素を当該処理装置の記憶装置に保存し、
前記複数の処理装置のうち少なくとも一部の処理装置が、
前記複数の処理装置の各々から、前記第1の所定数の要素以外の要素を取得し、
取得した前記要素に対して前記第1の軸方向の演算を実行し、
前記複数の処理装置の各々に、演算後の前記要素を第2の所定数ずつ配置する、
処理を実行する演算方法。 - コンピュータに、
前記コンピュータに配置された要素のうち第1の所定数の要素に対して、第1の軸方向の演算を実行し、
演算後の前記第1の所定数の要素を前記コンピュータの記憶装置に保存し、
他の複数のコンピュータから、当該他の複数のコンピュータにおける前記第1の所定数の要素以外の要素を取得した場合、取得した前記要素に対して前記第1の軸方向の演算を実行し、
前記コンピュータ及び前記他の複数のコンピュータの各々に、演算後の前記要素を第2の所定数ずつ配置する、
処理を実行させるための演算プログラム。 - 情報処理装置であって、
記憶装置と、
前記情報処理装置に配置された要素のうち第1の所定数の要素に対して、第1の軸方向の演算を実行し、演算後の前記第1の所定数の要素を前記記憶装置に保存し、他の複数の情報処理装置から、当該他の複数の情報処理装置における前記第1の所定数の要素以外の要素を取得した場合、取得した前記要素に対して前記第1の軸方向の演算を実行し、前記情報処理装置及び前記他の複数の情報処理装置の各々に、演算後の前記要素を第2の所定数ずつ配置する配置部と、
を有する情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015089245A JP6511937B2 (ja) | 2015-04-24 | 2015-04-24 | 並列計算機システム、演算方法、演算プログラム、及び情報処理装置 |
US15/096,689 US10409761B2 (en) | 2015-04-24 | 2016-04-12 | Parallel computer system, arithmetic method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015089245A JP6511937B2 (ja) | 2015-04-24 | 2015-04-24 | 並列計算機システム、演算方法、演算プログラム、及び情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016207010A JP2016207010A (ja) | 2016-12-08 |
JP6511937B2 true JP6511937B2 (ja) | 2019-05-15 |
Family
ID=57147810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015089245A Active JP6511937B2 (ja) | 2015-04-24 | 2015-04-24 | 並列計算機システム、演算方法、演算プログラム、及び情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10409761B2 (ja) |
JP (1) | JP6511937B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7167687B2 (ja) | 2018-12-18 | 2022-11-09 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4314349A (en) * | 1979-12-31 | 1982-02-02 | Goodyear Aerospace Corporation | Processing element for parallel array processors |
JP4057729B2 (ja) | 1998-12-29 | 2008-03-05 | 株式会社日立製作所 | フーリエ変換方法およびプログラム記録媒体 |
JP4052181B2 (ja) * | 2003-05-23 | 2008-02-27 | 株式会社日立製作所 | 通信隠蔽型の並列高速フーリエ変換方法 |
US7937567B1 (en) * | 2006-11-01 | 2011-05-03 | Nvidia Corporation | Methods for scalably exploiting parallelism in a parallel processing system |
-
2015
- 2015-04-24 JP JP2015089245A patent/JP6511937B2/ja active Active
-
2016
- 2016-04-12 US US15/096,689 patent/US10409761B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20160314093A1 (en) | 2016-10-27 |
US10409761B2 (en) | 2019-09-10 |
JP2016207010A (ja) | 2016-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fjällström | Algorithms for graph partitioning: A survey | |
Deveci et al. | Exploiting geometric partitioning in task mapping for parallel computers | |
US8117288B2 (en) | Optimizing layout of an application on a massively parallel supercomputer | |
CN110516316B (zh) | 一种间断伽辽金法求解欧拉方程的gpu加速方法 | |
Li et al. | P-cloth: interactive complex cloth simulation on multi-GPU systems using dynamic matrix assembly and pipelined implicit integrators | |
Hong et al. | MultiGraph: Efficient graph processing on GPUs | |
Deveci et al. | Multi-jagged: A scalable parallel spatial partitioning algorithm | |
JP4778558B2 (ja) | 有限要素法と境界要素法による結合方程式の高速演算処理方法 | |
Alexandru et al. | Efficient implementation of the overlap operator on multi-GPUs | |
Zakirov et al. | Streaming techniques: revealing the natural concurrency of the lattice Boltzmann method | |
JP2012073681A (ja) | ordering生成方法、プログラム及び共有メモリ型スカラ並列計算機 | |
Orenes-Vera et al. | Wafer-scale fast fourier transforms | |
Acer et al. | SPHYNX: Spectral Partitioning for HYbrid aNd aXelerator-enabled systems | |
Li | On parallel solution of sparse triangular linear systems in CUDA | |
JP6511937B2 (ja) | 並列計算機システム、演算方法、演算プログラム、及び情報処理装置 | |
Yang et al. | GPU acceleration of subgraph isomorphism search in large scale graph | |
Heinlein et al. | Parallel scalability of three-level FROSch preconditioners to 220000 cores using the Theta supercomputer | |
US10013393B2 (en) | Parallel computer system, parallel computing method, and program storage medium | |
Grigori et al. | Brief announcement: Lower bounds on communication for sparse Cholesky factorization of a model problem | |
Shivashankar et al. | Efficient software for programmable visual analysis using Morse-Smale complexes | |
Li et al. | Efficient data redistribution algorithms from irregular to block cyclic data distribution | |
Langr et al. | Block iterators for sparse matrices | |
Sudarsan et al. | Efficient multidimensional data redistribution for resizable parallel computations | |
López-Torres et al. | GPU-based cellular automata simulations of laser dynamics | |
Tekic et al. | Performance Comparison of Different OpenCL Implementations of LBM Simulation on Commodity Computer Hardware |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190122 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190312 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190325 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6511937 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |