JP2014160453A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2014160453A5 JP2014160453A5 JP2014006009A JP2014006009A JP2014160453A5 JP 2014160453 A5 JP2014160453 A5 JP 2014160453A5 JP 2014006009 A JP2014006009 A JP 2014006009A JP 2014006009 A JP2014006009 A JP 2014006009A JP 2014160453 A5 JP2014160453 A5 JP 2014160453A5
- Authority
- JP
- Japan
- Prior art keywords
- parallelism
- conditional branch
- macrotask
- conditional
- extraction method
- 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.)
- Granted
Links
- 238000000605 extraction Methods 0.000 claims description 14
- 238000000034 method Methods 0.000 claims description 4
Description
このため、本発明では、条件分岐を含むプログラムに潜在する並列性を抽出して、マルチコアプロセッサ上で実行するのに適する並列化プログラムを生成するための効果的な並列性の抽出方法を提案する。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、元プログラムの並列性をコンピュータによって抽出する方法であって、前記方法は、前記元プログラムに含まれる一つの条件分岐が条件を満たした後に実行される複数のマクロタスクの並列実行可能性を判定する処理と、前記複数のマクロタスクが並列に実行可能であると判定された条件分岐を複製することにより複数の条件分岐を生成する処理と、を含む。
本発明の代表的な実施の形態によれば、条件分岐を含む元プログラムでも、適切に並列化をすることができる。また、制御プログラムのようにリアルタイム性が必要なプログラムにおいても、適切に並列化をすることができる。
Claims (10)
- 元プログラムの並列性をコンピュータによって抽出する方法であって、
前記方法は、
前記元プログラムに含まれる一つの条件分岐が条件を満たした後に実行される複数のマクロタスクの並列実行可能性を判定する処理と、
前記複数のマクロタスクが並列に実行可能であると判定された条件分岐を複製することにより複数の条件分岐を生成する処理と、を含むことを特徴とする並列性の抽出方法。 - 請求項1に記載の並列性の抽出方法であって、
前記複数のマクロタスクの間でデータ依存がない条件分岐を、前記マクロタスクが並列に実行可能な条件分岐であると判定することを特徴とする並列性の抽出方法。 - 請求項1又は2に記載の並列性の抽出方法であって、
前記元プログラムにおいて実行時間が最も長いパスに含まれる条件分岐を複製することを特徴とする並列性の抽出方法。 - 請求項1〜3のいずれか一つに記載の並列性の抽出方法であって、
前記の実行時間が最も長いパスを複製することによって生成された複数の条件分岐に繋がるパスの中で実行時間が最も長いパスに含まれる条件分岐をさらに複製することを特徴とする並列性の抽出方法。 - 請求項1〜4のいずれか一つに記載の並列性の抽出方法であって、
前記複数のマクロタスクのそれぞれは、代入文の集合である疑似代入文ブロック、繰り返しブロック及びサブルーチンブロックの三種類の粗粒度タスクのうちのいずれか一つであることを特徴とする並列性の抽出方法。 - 請求項5記載の並列性の抽出方法であって、
前記複数のマクロタスクのうちの第1マクロタスクを前記複数の条件分岐のうちの1つの条件分岐である第1条件分岐に後続させ、
前記複数のマクロタスクのうちの第1マクロタスクと異なる第2マクロタスクを前記複数の条件分岐のうちの前記第1条件分岐とは異なる第2条件分岐に後続させることを特徴とする並列性の抽出方法。 - 請求項1〜6のいずれか一つに記載の並列性の抽出方法であって、
前記複数の条件分岐を生成する処理は、前記複数のマクロタスクとは異なる一のマクロタスクである第3マクロタスクにデータ依存し、かつ、前記複数のマクロタスクに含まれる第4マクロタスクと、前記第3マクロタスクにデータ依存せず、かつ、前記複数のマクロタスクに含まれる第5マクロタスクとが存在する場合、前記第5マクロタスクを、前記第3マクロタスク及び前記第4マクロタスクが含まれるパスとは異なるパスに含まれるように、条件分岐を生成する処理であることを特徴する並列性の抽出方法。 - 請求項1〜7のいずれか一つに記載の並列性の抽出方法であって、
前記一つの条件分岐は、実行時の不確定性を有することを特徴とする並列性の抽出方法。 - 請求項1〜8のいずれか一つに記載の並列性の抽出方法であって、
前記一つの条件分岐は、ループ制御文とは異なることを特徴とする並列性の抽出方法。 - 元プログラムからコンピュータによって複数のプロセッサコアを含むマルチコアプロセッサ上で実行可能なプログラムを作成する方法であって、
請求項1〜9のいずれか一つに記載された並列性の抽出方法を用いて生成された複数の条件分岐を、前記複数のプロセッサコアの各々が実行するように割り当て、
前記複数の条件分岐の各々を実行したプロセッサコアが、それぞれ、当該条件分岐が条件を満たしたのちに実行される前記複数のマクロタスクの各々を実行するように割り当てることによって、前記実行可能なプログラムの作成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014006009A JP6319880B2 (ja) | 2013-01-23 | 2014-01-16 | 並列性の抽出方法及びプログラムの作成方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013010194 | 2013-01-23 | ||
JP2013010194 | 2013-01-23 | ||
JP2014006009A JP6319880B2 (ja) | 2013-01-23 | 2014-01-16 | 並列性の抽出方法及びプログラムの作成方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014160453A JP2014160453A (ja) | 2014-09-04 |
JP2014160453A5 true JP2014160453A5 (ja) | 2017-11-24 |
JP6319880B2 JP6319880B2 (ja) | 2018-05-09 |
Family
ID=51227405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014006009A Active JP6319880B2 (ja) | 2013-01-23 | 2014-01-16 | 並列性の抽出方法及びプログラムの作成方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150363230A1 (ja) |
EP (1) | EP2950211B1 (ja) |
JP (1) | JP6319880B2 (ja) |
WO (1) | WO2014115613A1 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101504877B1 (ko) | 2014-10-23 | 2015-03-30 | (주)누스코 | 매니 코어를 이용한 프로그램 처리 장치 및 방법 |
ES2979074T3 (es) | 2014-12-08 | 2024-09-24 | Umbra Tech Ltd | Sistema y método para recuperación de contenido desde regiones de red remotas |
JP2018508067A (ja) * | 2015-01-06 | 2018-03-22 | アンブラ テクノロジーズ リミテッドUmbra Technologies Ltd. | ニュートラルなアプリケーションプログラミングインタフェースについてのシステム及び方法 |
CN115834534A (zh) | 2015-01-28 | 2023-03-21 | 安博科技有限公司 | 用于全局虚拟网络的系统 |
JP6427054B2 (ja) * | 2015-03-31 | 2018-11-21 | 株式会社デンソー | 並列化コンパイル方法、及び並列化コンパイラ |
ES2959674T3 (es) | 2015-04-07 | 2024-02-27 | Umbra Tech Ltd | Cortafuegos de perímetro múltiple en la nube |
JP6413922B2 (ja) | 2015-05-18 | 2018-10-31 | 株式会社デンソー | ソフトウェア分割方法、ソフトウェア分割装置および車載装置 |
JP2018517372A (ja) | 2015-06-11 | 2018-06-28 | アンブラ テクノロジーズ リミテッドUmbra Technologies Ltd. | ネットワークタペストリの複数プロトコルの統合のための方法及びシステム |
JP6500626B2 (ja) * | 2015-06-16 | 2019-04-17 | 富士通株式会社 | 計算機、コンパイラプログラム、リンクプログラムおよびコンパイル方法 |
JP2017107448A (ja) * | 2015-12-10 | 2017-06-15 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
ES2931177T3 (es) | 2015-12-11 | 2022-12-27 | Umbra Tech Ltd | Sistema y método para lanzamiento de información a través de un tapiz de red y granularidad de una marca |
CN116112539A (zh) | 2016-04-26 | 2023-05-12 | 安博科技有限公司 | 吊索路由逻辑与负载均衡 |
DE102017209697A1 (de) * | 2016-06-13 | 2017-12-14 | Denso Corporation | Parallelisierungsverfahren, Parallelisierungswerkzeug und fahrzeuginterne Vorrichtung |
JP2017228029A (ja) * | 2016-06-21 | 2017-12-28 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
US10671361B2 (en) * | 2016-10-25 | 2020-06-02 | Paypal, Inc. | Automatically determining data dependencies to facilitate code execution |
EP3343351B1 (en) * | 2016-12-28 | 2023-04-26 | Waseda University | Parallel program generating method and parallelization compiling apparatus |
JP6600888B2 (ja) * | 2016-12-28 | 2019-11-06 | 学校法人早稲田大学 | 並列化コンパイラ、並列化コンパイル装置、及び並列プログラムの生成方法 |
JP6891521B2 (ja) * | 2017-02-08 | 2021-06-18 | 日本電気株式会社 | 情報処理装置、情報処理方法、プログラム |
EP3836551A4 (en) * | 2018-08-08 | 2022-06-22 | Lg Electronics Inc. | IMAGE ENCODING/DECODING METHODS AND APPARATUS THEREFOR |
US11093223B2 (en) * | 2019-07-18 | 2021-08-17 | Ab Initio Technology Llc | Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods |
US11392384B2 (en) | 2020-09-04 | 2022-07-19 | Alibaba Group Holding Limited | Methods of breaking down coarse-grained tasks for fine-grained task re-scheduling |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2794523B2 (ja) * | 1993-11-26 | 1998-09-10 | 日本アイ・ビー・エム株式会社 | アレイ関数をもつプログラミング言語におけるインライン展開方法 |
US6505296B2 (en) * | 1997-10-13 | 2003-01-07 | Hewlett-Packard Company | Emulated branch effected by trampoline mechanism |
US6112299A (en) * | 1997-12-31 | 2000-08-29 | International Business Machines Corporation | Method and apparatus to select the next instruction in a superscalar or a very long instruction word computer having N-way branching |
JP4784792B2 (ja) | 1999-12-22 | 2011-10-05 | 学校法人早稲田大学 | マルチプロセッサ |
JP3664473B2 (ja) * | 2000-10-04 | 2005-06-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラムの最適化方法及びこれを用いたコンパイラ |
JP4783005B2 (ja) * | 2004-11-25 | 2011-09-28 | パナソニック株式会社 | プログラム変換装置、プログラム変換実行装置およびプログラム変換方法、プログラム変換実行方法。 |
JP4082706B2 (ja) * | 2005-04-12 | 2008-04-30 | 学校法人早稲田大学 | マルチプロセッサシステム及びマルチグレイン並列化コンパイラ |
US9384003B2 (en) * | 2007-10-23 | 2016-07-05 | Texas Instruments Incorporated | Determining whether a branch instruction is predicted based on a capture range of a second instruction |
JP4339907B2 (ja) * | 2007-10-24 | 2009-10-07 | 株式会社日立製作所 | マルチプロセッサ向け最適コード生成方法及びコンパイル装置 |
JP5209059B2 (ja) * | 2008-10-24 | 2013-06-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ソース・コード処理方法、システム、及びプログラム |
JP2012103923A (ja) * | 2010-11-10 | 2012-05-31 | Renesas Electronics Corp | コンパイラ装置、コンパイル方法及びコンパイラプログラム |
WO2013010159A1 (en) * | 2011-07-14 | 2013-01-17 | Siemens Corporation | Reducing the scan cycle time of control applications through multi-core execution of user programs |
-
2014
- 2014-01-15 US US14/761,789 patent/US20150363230A1/en not_active Abandoned
- 2014-01-15 EP EP14742879.1A patent/EP2950211B1/en active Active
- 2014-01-15 WO PCT/JP2014/050517 patent/WO2014115613A1/ja active Application Filing
- 2014-01-16 JP JP2014006009A patent/JP6319880B2/ja active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014160453A5 (ja) | ||
JP2017516210A5 (ja) | ||
JP2017509982A5 (ja) | ||
JP2016207166A5 (ja) | ||
JP2016531366A5 (ja) | ||
WO2016036817A4 (en) | Executing graph-based program specifications | |
JP2013539888A5 (ja) | ||
JP2016522476A5 (ja) | ||
JP2016528650A5 (ja) | ||
RU2015142982A (ru) | Компиляция преобразований в пользовательском интерфейсе повторных вычислений | |
WO2013134046A3 (en) | Application level speculative processing | |
JP2015511032A5 (ja) | ソフトウエアを開発するためのコンピュータプログラム、方法、コンピュータシステム、装置及びコンピュータ | |
RU2016127443A (ru) | Команда запуска виртуального выполнения для диспетчеризации множественных потоков в компьютере | |
EP3007065A3 (en) | Parallelization in virtual machine operation | |
JP2016530631A5 (ja) | ||
JP2015220505A5 (ja) | ||
SG10201902980TA (en) | Conditional wrapper for program object | |
JP2015084256A5 (ja) | ||
JP2017039057A5 (ja) | ||
JP2016511484A5 (ja) | ||
BR112017010005A2 (pt) | aparelho e método para considerar localidade espacial no carregamento de elementos de dados para execução | |
TW201614482A (en) | Flexible instruction execution in a processor pipeline | |
MY183825A (en) | Context sensitive barrier instruction execution | |
SG10201710656YA (en) | Program, information processing apparatus and method | |
JP2018069019A5 (ja) |