JP6372331B2 - 並列演算装置、並列演算システム、および並列演算プログラム - Google Patents
並列演算装置、並列演算システム、および並列演算プログラム Download PDFInfo
- Publication number
- JP6372331B2 JP6372331B2 JP2014247478A JP2014247478A JP6372331B2 JP 6372331 B2 JP6372331 B2 JP 6372331B2 JP 2014247478 A JP2014247478 A JP 2014247478A JP 2014247478 A JP2014247478 A JP 2014247478A JP 6372331 B2 JP6372331 B2 JP 6372331B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- synchronization
- processing
- memory
- signal line
- 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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17325—Synchronisation; Hardware support therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
Description
図5は、サーバ201の機能構成例を示すブロック図である。サーバ201は、制御部500を有する。制御部500は、決定部501と、実行部502とを含む。制御部500は、記憶装置に記憶されたプログラムを並列演算システム100内のいずれかのコアが実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図1に示した並列演算システム100内のメモリ、図3に示したROM301、ディスク303などである。また、各部の処理結果は、並列演算システム100内のいずれかのコアのレジスタや、並列演算システム100内のキャッシュメモリ等に格納される。
制御部を有することを特徴とする並列演算装置。
前記第1プロセッサと前記第2プロセッサとが同一のノードに属する場合、前記第1プロセッサと前記第2プロセッサとが属するノードに含まれるメモリを用いた第2同期処理を実行することを決定することを特徴とする付記1に記載の並列演算装置。
前記制御部は、
前記第1プロセッサと前記第2プロセッサとが同一のノードに属する場合、前記第2同期処理を行う際に確保するメモリのサイズに応じた前記各々のノードに含まれる複数のプロセッサの各々のプロセッサ同士を接続する信号線を用いた第3同期処理の処理性能と前記第2同期処理の処理性能との比較結果を参照して、前記第2同期処理を行う際に確保するメモリのサイズに基づいて、前記第3同期処理または前記第2同期処理のうちのいずれか一方を実行することを決定することを特徴とする付記2に記載の並列演算装置。
前記第1処理と前記第2処理とは、所定の処理を繰り返す処理であって、
前記制御部は、
前記第1プロセッサと前記第2プロセッサとが同一のノードに属する場合、いずれかの処理を繰り返す回数に応じた前記各々のノードに含まれる複数のプロセッサの各々のプロセッサ同士を接続する信号線を用いた第3同期処理の処理性能と前記第2同期処理の処理性能との比較結果を参照して、前記第1処理と前記第2処理とが前記所定の処理を繰り返す回数に基づいて、前記第3同期処理または前記第2同期処理のうちのいずれか一方を実行することを決定することを特徴とする付記2または3に記載の並列演算装置。
前記第1プロセッサまたは前記第2プロセッサのうちの他方のプロセッサは、前記第1同期処理、または前記第1プロセッサと前記第2プロセッサとが同一のノードに属する場合に前記第1プロセッサと前記第2プロセッサとが属するノードに含まれるメモリを用いた第2同期処理を実行することを決定した他の並列演算装置に含まれることを決定することを特徴とする付記1〜4のいずれか一つに記載の並列演算装置。
前記並列演算システム内のいずれかのプロセッサは、
前記並列演算システム内の第1処理を実行する第1プロセッサと、前記第1処理と同期する第2処理を実行する第2プロセッサとが異なるノードに属する場合、前記第1プロセッサと前記第2プロセッサとが前記信号線を用いた第1同期処理を実行することを決定する、
ことを特徴とする並列演算システム。
各々のノードが複数のプロセッサとメモリとを有する複数のノードを含み前記各々のノードの間のプロセッサ同士を接続する信号線を有する並列演算システム内の第1処理を実行する第1プロセッサと、前記第1処理と同期する第2処理を実行する第2プロセッサとが異なるノードに属する場合、前記第1プロセッサと前記第2プロセッサとが前記信号線を用いた第1同期処理を実行することを決定する、
処理を実行させることを特徴とする並列演算プログラム。
各々のノードが複数のプロセッサとメモリとを有する複数のノードを含み前記各々のノードの間のプロセッサ同士を接続する信号線を有する並列演算システム内の第1処理を実行する第1プロセッサと、前記第1処理と同期する第2処理を実行する第2プロセッサとが異なるノードに属する場合、前記第1プロセッサと前記第2プロセッサとが前記信号線を用いた第1同期処理を実行することを決定する、
処理を実行することを特徴とする並列演算方法。
h 信号線
m0、m1 メモリ
100 並列演算システム
500 制御部
501 決定部
502 実行部
510 同期手法別性能情報
Claims (6)
- 各々のノードが複数のプロセッサとメモリとを有する複数のノードを含み、前記各々のノードの間のプロセッサ同士を接続する第1信号線と、前記各々のノードに含まれる複数のプロセッサの各々のプロセッサ同士を接続する第2信号線と、を有する並列演算システム内の第1処理を実行する第1プロセッサと、前記第1処理と同期する第2処理を実行する第2プロセッサとが異なるノードに属する場合、前記第1プロセッサと前記第2プロセッサとが前記第1信号線を用いた第1同期処理を実行することを決定し、前記第1プロセッサと前記第2プロセッサとが同一のノードに属する場合、前記第1プロセッサと前記第2プロセッサとが属するノードに含まれるメモリを用いた第2同期処理を行う際に確保するメモリのサイズに応じた、前記第2信号線を用いた第3同期処理の処理性能と前記第2同期処理の処理性能との比較結果を参照して、前記第2同期処理を行う際に確保するメモリのサイズに基づいて、前記第3同期処理または前記第2同期処理のうちのいずれか一方を実行することを決定する、
制御部を有することを特徴とする並列演算装置。 - 各々のノードが複数のプロセッサとメモリとを有する複数のノードを含み、前記各々のノードの間のプロセッサ同士を接続する第1信号線と、前記各々のノードに含まれる複数のプロセッサの各々のプロセッサ同士を接続する第2信号線と、を有する並列演算システムであって、
前記並列演算システム内のいずれかのプロセッサは、
前記並列演算システム内の第1処理を実行する第1プロセッサと、前記第1処理と同期する第2処理を実行する第2プロセッサとが異なるノードに属する場合、前記第1プロセッサと前記第2プロセッサとが前記第1信号線を用いた第1同期処理を実行することを決定し、前記第1プロセッサと前記第2プロセッサとが同一のノードに属する場合、前記第1プロセッサと前記第2プロセッサとが属するノードに含まれるメモリを用いた第2同期処理を行う際に確保するメモリのサイズに応じた、前記第2信号線を用いた第3同期処理の処理性能と前記第2同期処理の処理性能との比較結果を参照して、前記第2同期処理を行う際に確保するメモリのサイズに基づいて、前記第3同期処理または前記第2同期処理のうちのいずれか一方を実行することを決定する、
ことを特徴とする並列演算システム。 - コンピュータに、
各々のノードが複数のプロセッサとメモリとを有する複数のノードを含み、前記各々のノードの間のプロセッサ同士を接続する第1信号線と、前記各々のノードに含まれる複数のプロセッサの各々のプロセッサ同士を接続する第2信号線と、を有する並列演算システム内の第1処理を実行する第1プロセッサと、前記第1処理と同期する第2処理を実行する第2プロセッサとが異なるノードに属する場合、前記第1プロセッサと前記第2プロセッサとが前記第1信号線を用いた第1同期処理を実行することを決定し、前記第1プロセッサと前記第2プロセッサとが同一のノードに属する場合、前記第1プロセッサと前記第2プロセッサとが属するノードに含まれるメモリを用いた第2同期処理を行う際に確保するメモリのサイズに応じた、前記第2信号線を用いた第3同期処理の処理性能と前記第2同期処理の処理性能との比較結果を参照して、前記第2同期処理を行う際に確保するメモリのサイズに基づいて、前記第3同期処理または前記第2同期処理のうちのいずれか一方を実行することを決定する、
処理を実行させることを特徴とする並列演算プログラム。 - 各々のノードが複数のプロセッサとメモリとを有する複数のノードを含み、前記各々のノードの間のプロセッサ同士を接続する第1信号線と、前記各々のノードに含まれる複数のプロセッサの各々のプロセッサ同士を接続する第2信号線と、を有する並列演算システム内の所定の処理を繰り返す第1処理を実行する第1プロセッサと、前記第1処理と同期し前記所定の処理を繰り返す第2処理を実行する第2プロセッサとが異なるノードに属する場合、前記第1プロセッサと前記第2プロセッサとが前記第1信号線を用いた第1同期処理を実行することを決定し、前記第1プロセッサと前記第2プロセッサとが同一のノードに属する場合、いずれかの処理を繰り返す回数に応じた、前記第2信号線を用いた第3同期処理の処理性能と、前記第1プロセッサと前記第2プロセッサとが属するノードに含まれるメモリを用いた第2同期処理の処理性能と、の比較結果を参照して、前記第1処理と前記第2処理とが前記所定の処理を繰り返す回数に基づいて、前記第3同期処理または前記第2同期処理のうちのいずれか一方を実行することを決定する、
制御部を有することを特徴とする並列演算装置。 - 各々のノードが複数のプロセッサとメモリとを有する複数のノードを含み、前記各々のノードの間のプロセッサ同士を接続する第1信号線と、前記各々のノードに含まれる複数のプロセッサの各々のプロセッサ同士を接続する第2信号線と、を有する並列演算システムであって、
前記並列演算システム内のいずれかのプロセッサは、
前記並列演算システム内の所定の処理を繰り返す第1処理を実行する第1プロセッサと、前記第1処理と同期し前記所定の処理を繰り返す第2処理を実行する第2プロセッサとが異なるノードに属する場合、前記第1プロセッサと前記第2プロセッサとが前記第1信号線を用いた第1同期処理を実行することを決定し、前記第1プロセッサと前記第2プロセッサとが同一のノードに属する場合、いずれかの処理を繰り返す回数に応じた、前記第2信号線を用いた第3同期処理の処理性能と、前記第1プロセッサと前記第2プロセッサとが属するノードに含まれるメモリを用いた第2同期処理の処理性能と、の比較結果を参照して、前記第1処理と前記第2処理とが前記所定の処理を繰り返す回数に基づいて、前記第3同期処理または前記第2同期処理のうちのいずれか一方を実行することを決定する、
ことを特徴とする並列演算システム。 - コンピュータに、
各々のノードが複数のプロセッサとメモリとを有する複数のノードを含み、前記各々のノードの間のプロセッサ同士を接続する第1信号線と、前記各々のノードに含まれる複数のプロセッサの各々のプロセッサ同士を接続する第2信号線と、を有する並列演算システム内の所定の処理を繰り返す第1処理を実行する第1プロセッサと、前記第1処理と同期し前記所定の処理を繰り返す第2処理を実行する第2プロセッサとが異なるノードに属する場合、前記第1プロセッサと前記第2プロセッサとが前記第1信号線を用いた第1同期処理を実行することを決定し、前記第1プロセッサと前記第2プロセッサとが同一のノードに属する場合、いずれかの処理を繰り返す回数に応じた、前記第2信号線を用いた第3同期処理の処理性能と、前記第1プロセッサと前記第2プロセッサとが属するノードに含まれるメモリを用いた第2同期処理の処理性能と、の比較結果を参照して、前記第1処理と前記第2処理とが前記所定の処理を繰り返す回数に基づいて、前記第3同期処理または前記第2同期処理のうちのいずれか一方を実行することを決定する、
処理を実行させることを特徴とする並列演算プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014247478A JP6372331B2 (ja) | 2014-12-05 | 2014-12-05 | 並列演算装置、並列演算システム、および並列演算プログラム |
US14/956,945 US9891655B2 (en) | 2014-12-05 | 2015-12-02 | Parallel operation system, apparatus and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014247478A JP6372331B2 (ja) | 2014-12-05 | 2014-12-05 | 並列演算装置、並列演算システム、および並列演算プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016110407A JP2016110407A (ja) | 2016-06-20 |
JP6372331B2 true JP6372331B2 (ja) | 2018-08-15 |
Family
ID=56094280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014247478A Active JP6372331B2 (ja) | 2014-12-05 | 2014-12-05 | 並列演算装置、並列演算システム、および並列演算プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9891655B2 (ja) |
JP (1) | JP6372331B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10074151B2 (en) * | 2015-09-30 | 2018-09-11 | Intel Corporation | Dense optical flow acceleration |
CN107807851A (zh) * | 2016-09-09 | 2018-03-16 | 华为数字技术(苏州)有限公司 | 一种虚拟机内存在numa节点间的迁移方法和装置 |
JP2019049843A (ja) * | 2017-09-08 | 2019-03-28 | 富士通株式会社 | 実行ノード選定プログラム、実行ノード選定方法及び情報処理装置 |
WO2023212200A1 (en) * | 2022-04-29 | 2023-11-02 | Tesla, Inc. | Enhanced global flags for synchronizing coprocessors in processing system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63188259A (ja) * | 1987-01-30 | 1988-08-03 | Nec Software Ltd | 複合計算機システムのタスク同期方式 |
JP3858492B2 (ja) | 1998-12-28 | 2006-12-13 | 株式会社日立製作所 | マルチプロセッサシステム |
JP3304928B2 (ja) * | 1999-07-29 | 2002-07-22 | 日本電気株式会社 | バリア同期方法およびバリア同期用プログラムを記録した記録媒体 |
JP4276028B2 (ja) | 2003-08-25 | 2009-06-10 | 株式会社日立製作所 | マルチプロセッサシステムの同期方法 |
JP4082706B2 (ja) | 2005-04-12 | 2008-04-30 | 学校法人早稲田大学 | マルチプロセッサシステム及びマルチグレイン並列化コンパイラ |
JP2007108838A (ja) | 2005-10-11 | 2007-04-26 | Hitachi Ltd | コンパイル方法及びコンパイル装置 |
JP5218129B2 (ja) | 2009-02-16 | 2013-06-26 | 富士通株式会社 | コンパイル装置およびコンパイルプログラム |
WO2010109761A1 (ja) * | 2009-03-25 | 2010-09-30 | 日本電気株式会社 | 並列処理システム、並列処理方法、ネットワークスイッチ装置、及び並列処理プログラムの記録媒体 |
US20120179896A1 (en) * | 2011-01-10 | 2012-07-12 | International Business Machines Corporation | Method and apparatus for a hierarchical synchronization barrier in a multi-node system |
US8966491B2 (en) * | 2012-04-27 | 2015-02-24 | Oracle International Corporation | System and method for implementing NUMA-aware reader-writer locks |
-
2014
- 2014-12-05 JP JP2014247478A patent/JP6372331B2/ja active Active
-
2015
- 2015-12-02 US US14/956,945 patent/US9891655B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9891655B2 (en) | 2018-02-13 |
JP2016110407A (ja) | 2016-06-20 |
US20160161981A1 (en) | 2016-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ben-Nun et al. | Groute: An asynchronous multi-GPU programming model for irregular computations | |
Luo et al. | Prague: High-performance heterogeneity-aware asynchronous decentralized training | |
JP5576798B2 (ja) | 決定論的マルチプロセッシング(deterministicmultiprocessing) | |
JP6372331B2 (ja) | 並列演算装置、並列演算システム、および並列演算プログラム | |
Spafford et al. | Maestro: data orchestration and tuning for opencl devices | |
EP2472398B1 (en) | Memory-aware scheduling for NUMA architectures | |
Si et al. | MT-MPI: Multithreaded MPI for many-core environments | |
US8479185B2 (en) | Method and system for utilizing parallelism across loops | |
US11861272B2 (en) | Comprehensive contention-based thread allocation and placement | |
JP6205168B2 (ja) | 並列構造化重複検出を利用する並列モデル検査のためのシステムおよび方法 | |
Phillips et al. | A CUDA implementation of the High Performance Conjugate Gradient benchmark | |
US11226798B2 (en) | Information processing device and information processing method | |
US9921838B2 (en) | System and method for managing static divergence in a SIMD computing architecture | |
Khasanov et al. | Implicit data-parallelism in Kahn process networks: Bridging the MacQueen Gap | |
US9665354B2 (en) | Apparatus and method for translating multithread program code | |
Son et al. | Timeline scheduling for out-of-core ray batching | |
Rockenbach et al. | High-level stream and data parallelism in c++ for gpus | |
Dong et al. | Porting hep parameterized calorimeter simulation code to gpus | |
Chen et al. | Contention and locality-aware work-stealing for iterative applications in multi-socket computers | |
Madsen et al. | Enorm: Efficient window-based computation in large-scale distributed stream processing systems | |
Zhang et al. | Mocl: an efficient OpenCL implementation for the matrix-2000 architecture | |
JP2014164664A (ja) | タスク並列処理方法、装置及びプログラム | |
WO2020238348A1 (zh) | 区块的验证方法、装置及设备 | |
JP5687603B2 (ja) | プログラム変換装置、プログラム変換方法、および変換プログラム | |
JP5423876B2 (ja) | 検証支援プログラム、検証支援装置、および検証支援方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170804 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180604 |
|
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: 20180619 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180702 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6372331 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |