JP5885481B2 - 情報処理装置、情報処理方法、及びプログラム - Google Patents
情報処理装置、情報処理方法、及びプログラム Download PDFInfo
- Publication number
- JP5885481B2 JP5885481B2 JP2011264112A JP2011264112A JP5885481B2 JP 5885481 B2 JP5885481 B2 JP 5885481B2 JP 2011264112 A JP2011264112 A JP 2011264112A JP 2011264112 A JP2011264112 A JP 2011264112A JP 5885481 B2 JP5885481 B2 JP 5885481B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- core
- thread
- processing
- bank
- 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
- 230000010365 information processing Effects 0.000 title claims description 24
- 238000003672 processing method Methods 0.000 title claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 46
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 174
- 238000000034 method Methods 0.000 description 57
- 238000004891 communication Methods 0.000 description 35
- 230000010354 integration Effects 0.000 description 35
- 238000011946 reduction process Methods 0.000 description 23
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 5
- 238000012937 correction Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Image Processing (AREA)
- Memory System (AREA)
- Executing Machine-Instructions (AREA)
Description
複数のバンクで構成されるメモリに接続された複数の演算コアに対する命令を生成する情報処理装置であって、
前記複数の演算コアは、
前記命令によって指定された演算コアが互いに同期して、
初期データを前記演算コアが保持するレジスタへと読み込む読込サイクルと、
前記演算コアごとに予め対応付けられたバンク内の領域から読み込んだデータと、前記演算コアが保持するレジスタ内のデータとを用いて演算を行い、演算結果を前記演算コアが保持するレジスタに格納する演算サイクルと、
前記メモリへ前記演算コアが保持するレジスタ内のデータを書き込む書込サイクルとを用いるものであり、
前記情報処理装置は、
1回の前記書込サイクルにおいて演算コアがメモリへの書き込みアクセスを行う回数に少なくとも関連する値をそれぞれのバンクごとに保持する保持手段と、
前記複数の演算コアのうち、対応するバンクについての前記保持手段の保持する値が所定値未満である演算コアを、他の演算コアからデータを受信する継続演算コアとして選択する第1の選択手段と、
前記継続演算コアに対してデータを送信する送信演算コアを選択する第2の選択手段と、
前記送信演算コアに、前記書込サイクルにおいて、レジスタ内のデータを前記継続演算コアに対応付けられたバンク内の領域に書き込ませるための命令と、前記継続演算コアに、当該書込サイクルに続く前記演算サイクルにおいて、当該継続演算コアに対応付けられたバンク内の領域からデータを読み込ませるための命令と、を生成する生成手段と、
前記第1の選択手段が前記継続演算コアを選択する際に、選択された前記継続
演算コアに予め対応付けられたバンクについての前記保持手段の保持する値をインクリメントする更新手段と、
を備えることを特徴とする。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
Claims (4)
- 複数のバンクで構成されるメモリに接続された複数の演算コアに対する命令を生成する情報処理装置であって、
前記複数の演算コアは、
前記命令によって指定された演算コアが互いに同期して、
初期データを前記演算コアが保持するレジスタへと読み込む読込サイクルと、
前記演算コアごとに予め対応付けられたバンク内の領域から読み込んだデータと、前記演算コアが保持するレジスタ内のデータとを用いて演算を行い、演算結果を前記演算コアが保持するレジスタに格納する演算サイクルと、
前記メモリへ前記演算コアが保持するレジスタ内のデータを書き込む書込サイクルとを用いるものであり、
前記情報処理装置は、
1回の前記書込サイクルにおいて演算コアがメモリへの書き込みアクセスを行う回数に少なくとも関連する値をそれぞれのバンクごとに保持する保持手段と、
前記複数の演算コアのうち、対応するバンクについての前記保持手段の保持する値が所定値未満である演算コアを、他の演算コアからデータを受信する継続演算コアとして選択する第1の選択手段と、
前記継続演算コアに対してデータを送信する送信演算コアを選択する第2の選択手段と、
前記送信演算コアに、前記書込サイクルにおいて、レジスタ内のデータを前記継続演算コアに対応付けられたバンク内の領域に書き込ませるための命令と、前記継続演算コアに、当該書込サイクルに続く前記演算サイクルにおいて、当該継続演算コアに対応付けられたバンク内の領域からデータを読み込ませるための命令と、を生成する生成手段と、
前記第1の選択手段が前記継続演算コアを選択する際に、選択された前記継続
演算コアに予め対応付けられたバンクについての前記保持手段の保持する値をインクリメントする更新手段と、
を備えることを特徴とする情報処理装置。 - 前記第1の選択手段及び前記第2の選択手段は、複数の前記演算コアの中から、1組の書込サイクルと続く演算サイクルとにおいてデータが送受信される前記継続演算コアと前記送信演算コアとのセットを繰り返し選択し、
前記第1の選択手段は、対応付けられたバンクについての前記保持手段の保持する値がより小さい演算コアを、前記継続演算コアとして選択し、
前記第2の選択手段は、対応付けられたバンクについての前記保持手段の保持する値がより大きい演算コアを、前記送信演算コアとして選択する
ことを特徴とする、請求項1に記載の情報処理装置。 - 複数のバンクで構成されるメモリに接続された複数の演算コアに対する命令を生成する情報処理装置が行う情報処理方法であって、
前記複数の演算コアは、
前記命令によって指定された演算コアが互いに同期して、
初期データを前記演算コアが保持するレジスタへと読み込む読込サイクルと、
演算コアごとに予め対応付けられたバンク内の領域から読み込んだデータと、前記演算コアが保持するレジスタ内のデータとを用いて演算を行い、演算結果を前記演算コアが保持するレジスタに格納する演算サイクルと、
前記メモリへ前記演算コアが保持するレジスタ内のデータを書き込む書込サイクルとを用いるものであり、
前記情報処理装置は、1回の前記書込サイクルにおいて演算コアがメモリに書き込みアクセスを行う回数に少なくとも関連する値をそれぞれのバンクごとに保持する保持手段を備え、
前記情報処理方法は、
前記情報処理装置の第1の選択手段が、前記複数の演算コアのうち、対応するバンクについての前記保持手段の保持する値が所定値未満である演算コアを、他の演算コアからデータを受信する継続演算コアとして選択する第1の選択工程と、
前記情報処理装置の第2の選択手段が、前記継続演算コアに対してデータを送信する送信演算コアを選択する第2の選択工程と、
前記情報処理装置の生成手段が、前記送信演算コアに、前記書込サイクルにおいて、レジスタ内のデータを前記継続演算コアに対応付けられたバンク内の領域に書き込ませるための命令と、前記継続演算コアに、当該書込サイクルに続く前記演算サイクルにおいて、当該継続演算コアに対応付けられたバンク内の領域からデータを読み込ませるための命令と、を生成する生成工程と、
前記第1の選択工程で前記継続演算コアを選択する際に、前記情報処理装置の更新手段が、選択された前記継続演算コアに予め対応付けられたバンクについての前記保持手段の保持する値をインクリメントする更新工程と、
を備えることを特徴とする情報処理方法。 - コンピュータを、請求項1又は2に記載の情報処理装置の各手段として機能させるための、コンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011264112A JP5885481B2 (ja) | 2011-12-01 | 2011-12-01 | 情報処理装置、情報処理方法、及びプログラム |
US13/684,353 US9274831B2 (en) | 2011-12-01 | 2012-11-23 | Information processing apparatus, information processing method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011264112A JP5885481B2 (ja) | 2011-12-01 | 2011-12-01 | 情報処理装置、情報処理方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013117790A JP2013117790A (ja) | 2013-06-13 |
JP5885481B2 true JP5885481B2 (ja) | 2016-03-15 |
Family
ID=48524972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011264112A Active JP5885481B2 (ja) | 2011-12-01 | 2011-12-01 | 情報処理装置、情報処理方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9274831B2 (ja) |
JP (1) | JP5885481B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8689237B2 (en) | 2011-09-22 | 2014-04-01 | Oracle International Corporation | Multi-lane concurrent bag for facilitating inter-thread communication |
US9378045B2 (en) | 2013-02-28 | 2016-06-28 | Oracle International Corporation | System and method for supporting cooperative concurrency in a middleware machine environment |
US9110715B2 (en) | 2013-02-28 | 2015-08-18 | Oracle International Corporation | System and method for using a sequencer in a concurrent priority queue |
US10095562B2 (en) * | 2013-02-28 | 2018-10-09 | Oracle International Corporation | System and method for transforming a queue from non-blocking to blocking |
JP2014059862A (ja) | 2012-08-22 | 2014-04-03 | Canon Inc | データフローのリソース割り当て装置および方法 |
US9454313B2 (en) | 2014-06-10 | 2016-09-27 | Arm Limited | Dynamic selection of memory management algorithm |
US12045660B2 (en) | 2020-09-25 | 2024-07-23 | Huawei Technologies Co., Ltd. | Method and apparatus for a configurable hardware accelerator |
CN117971501B (zh) * | 2024-03-28 | 2024-07-09 | 北京壁仞科技开发有限公司 | 一种数据访问方法、设备、存储介质及程序产品 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3311381B2 (ja) | 1992-03-18 | 2002-08-05 | 富士通株式会社 | コンパイラにおける命令スケジューリング処理方法 |
US6029190A (en) * | 1997-09-24 | 2000-02-22 | Sony Corporation | Read lock and write lock management system based upon mutex and semaphore availability |
JP2001175617A (ja) * | 1999-12-17 | 2001-06-29 | Hitachi Ltd | コンパイラ並列化方法 |
US7219185B2 (en) * | 2004-04-22 | 2007-05-15 | International Business Machines Corporation | Apparatus and method for selecting instructions for execution based on bank prediction of a multi-bank cache |
US8245232B2 (en) * | 2007-11-27 | 2012-08-14 | Microsoft Corporation | Software-configurable and stall-time fair memory access scheduling mechanism for shared memory systems |
US9189282B2 (en) * | 2009-04-21 | 2015-11-17 | Empire Technology Development Llc | Thread-to-core mapping based on thread deadline, thread demand, and hardware characteristics data collected by a performance counter |
-
2011
- 2011-12-01 JP JP2011264112A patent/JP5885481B2/ja active Active
-
2012
- 2012-11-23 US US13/684,353 patent/US9274831B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013117790A (ja) | 2013-06-13 |
US9274831B2 (en) | 2016-03-01 |
US20130145373A1 (en) | 2013-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5885481B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP6525286B2 (ja) | プロセッサコア及びプロセッサシステム | |
Lebedev et al. | MARC: A many-core approach to reconfigurable computing | |
CN110308982B (zh) | 一种共享内存复用方法及装置 | |
CN103197916A (zh) | 用于源操作数收集器高速缓存的方法和装置 | |
Wozniak et al. | Language features for scalable distributed-memory dataflow computing | |
JP2013196706A (ja) | ミニコア基盤の再構成可能プロセッサ、そのためのスケジュール装置及び方法 | |
JP6551751B2 (ja) | マルチプロセッサ装置 | |
JP2014164667A (ja) | リストベクトル処理装置、リストベクトル処理方法、プログラム、コンパイラ、及び、情報処理装置 | |
JP2012038219A (ja) | プログラム変換装置、およびそのプログラム | |
Das et al. | Enabling on-device smartphone GPU based training: Lessons learned | |
US9311156B2 (en) | System and method for distributing data processes among resources | |
JP5278538B2 (ja) | コンパイルシステム、コンパイル方法およびコンパイルプログラム | |
CN103218259A (zh) | 计算任务的调度和执行 | |
JP5687603B2 (ja) | プログラム変換装置、プログラム変換方法、および変換プログラム | |
Castellana et al. | An adaptive memory interface controller for improving bandwidth utilization of hybrid and reconfigurable systems | |
Lin et al. | swFLOW: A dataflow deep learning framework on sunway taihulight supercomputer | |
JP2014164664A (ja) | タスク並列処理方法、装置及びプログラム | |
JP5238876B2 (ja) | 情報処理装置及び情報処理方法 | |
JP6368452B2 (ja) | 非同期のデバイスによって実行されるタスクのスケジューリングの向上 | |
Tarakji et al. | The development of a scheduling system GPUSched for graphics processing units | |
US20120137300A1 (en) | Information Processor and Information Processing Method | |
JP2018120307A (ja) | アクセラレータ処理管理装置、ホスト装置、アクセラレータ処理実行システム、方法およびプログラム | |
WO2021212045A1 (en) | Synchronization of processing elements and software managed memory hierarchy in a machine learning accelerator | |
KR20130011805A (ko) | 시뮬레이션 장치 및 그의 시뮬레이션 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150928 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151030 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151224 |
|
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: 20160112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160209 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5885481 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |