JP5613547B2 - タスクベースの並列プログラミング言語 - Google Patents
タスクベースの並列プログラミング言語 Download PDFInfo
- Publication number
- JP5613547B2 JP5613547B2 JP2010277812A JP2010277812A JP5613547B2 JP 5613547 B2 JP5613547 B2 JP 5613547B2 JP 2010277812 A JP2010277812 A JP 2010277812A JP 2010277812 A JP2010277812 A JP 2010277812A JP 5613547 B2 JP5613547 B2 JP 5613547B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- buffer
- input
- tasks
- program
- 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
- 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
Description
out_buffer:=my_task(in_buffer,param1)
この場合,my_taskは,入力として‘in_buffer’の出力を要求するとともに,‘param1’も要求する。‘param1’は,タスクに使用されるパラメータ又は数値でもよい。したがって,my_taskは,‘in_buffer’に依存するように決定される。その時,タスク,つまりmy_taskは,‘in_buffer’の出力に依存するいずれかのタスクを,非同期的に実行されるようにスケジュールされてもよい。
本発明のタスクベースの並列プログラミング言語を説明する。本発明により得られるフレームワークは,2階層システムであってもよい。高階層では,タスクと依存性を特定する簡易なスケジューリング言語を扱い,低階層では,タスクの実装を行う。タスクの実装は,タスク言語又は,例えばC++言語のどちらか一方によってなされ得る。
‘input data buffer’,‘output data buffer’,又は‘immediate parameter’に関する情報を,キーボード,タッチパネル及びマウスなどのポインティングデバイスによって,入力してもよい。プログラマーは,‘input data buffer’及び‘output data buffer’によりタスクの依存性を入力してもよい。言い換えると,プログラマーは,入出力データの要件に沿って,リスト操作を指示するのみである。
Task 1:caluculate character 1 position
Task 2:caluculate character 2 position
Task 3:draw character 1(when Task 1 is complete)
Task 4:draw character 2(when Task 2 is complete)
[and]を含むように入力が決定されると同時に,コンピュータは,サブ領域のタスクが指示されることを決定する。その後,コンピュータは単一のバッファを2つ又は2つ以上に分割する。
anim1:=unpackanim_task(input1)
buffer<Animation>anim2
anim2:=unpackanim_task(input2)
buffer<Animation>final
final:=unpackanim_task(anim1,anim2)
buffer_t anim1,
buffer_t anim2,
buffer_t output1);
tanBuf:=calc_tangents(posBuf,numVerts)
norBuf:=calc_normals(posBuf,tanbuf,numVerts)
voxelBuf:=calc_voxel(posBuf,numVerts)
sort(size_t entries,
buffer<unit32_t>input)
#Divide using the pivot
size_t pivIdx
pivIdx
pivIdx=doSort(entries,output)
#Sort LEFT buffer
if pivIdx>1 then
buffer IBuf=output[0,pivIdx]
IBuf<−sort(pivIdx,IBuf)
end
#Sort RIGHT buffer
if pivotIdx<entries−2 then
buffer rBuf =output[pivIdx+1,entries]
size_t rEntries =entries−pivIdx−1
rBuf <− sort(rEntries,rBuf)
end
end
‘continuations’については,左右のサブバッファの子タスクを起動した後,親タスクのソートが終了する。その時,通常ならば,いずれの依存タスクも実行され得るが,子タスクが完了していなかったために,バッファは完全にソートされないかもしれない。これを克服するために,本システムは,子タスクを連続的に起動する。そのため,依存タスクは,子タスクが完了するまで実行されなくてもよい。
2 バッファ
3 ソート
Claims (3)
- 複数のタスクを入力する手段と,
前記タスクの依存性を入力する手段と,
入力された前記タスクの依存性を用いることにより,すべての前記タスクの依存性を,自動的に決定する手段として,コンピュータを機能させるプログラムであって,
前記タスクの入力は,あるバッファで行うタスクの内容を示した“task code”の入力,前記あるバッファに入力されるデータを処理する入力バッファを示した“input data buffer”の入力,及び前記あるバッファから出力されるデータを処理する出力バッファを示した“output data buffer”の入力により行われるものであり,
前記タスクの依存性は,前記“input data buffer”及び前記“output data buffer”として入力されるものであり,
さらに,
単一のバッファでの作業を複数のサブ領域に分割するための“sub−buffer”を入力する手段と,
前記“sub−buffer”が入力されている場合に,前記タスクの依存性を決定するときに,前記タスクの依存性を追跡している間,前記“sub−buffer”に従って前記単一のバッファでの作業を前記複数のサブ領域に分割する手段として,前記コンピュータを機能させる
プログラム。 - 前記コンピュータを,さらに,
決定された前記タスクの依存性をすべて考慮して,前記タスクを自動的にスケジューリングする手段として,機能させる
請求項1に記載のプログラム。 - 前記依存性を自動的に決定する手段は,
親タスク,及び前記親タスクに必要な一又は複数の子タスクを決定する手段と,
すべての前記子タスクの情報を格納する手段と,
前記親タスクに必要なすべての前記子タスクが実行されるか否かを決定する手段とを含む,
請求項1に記載のプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010277812A JP5613547B2 (ja) | 2010-12-14 | 2010-12-14 | タスクベースの並列プログラミング言語 |
US13/284,035 US8793692B2 (en) | 2010-12-14 | 2011-10-28 | Language for task-based parallel programming |
EP11188703.0A EP2466462A3 (en) | 2010-12-14 | 2011-11-10 | A language for task-based parallel programming |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010277812A JP5613547B2 (ja) | 2010-12-14 | 2010-12-14 | タスクベースの並列プログラミング言語 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012128551A JP2012128551A (ja) | 2012-07-05 |
JP5613547B2 true JP5613547B2 (ja) | 2014-10-22 |
Family
ID=45093347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010277812A Active JP5613547B2 (ja) | 2010-12-14 | 2010-12-14 | タスクベースの並列プログラミング言語 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8793692B2 (ja) |
EP (1) | EP2466462A3 (ja) |
JP (1) | JP5613547B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4306165A3 (en) | 2011-07-01 | 2024-04-17 | NGM Biopharmaceuticals, Inc. | Compositions, uses and methods for treatment of metabolic disorders and diseases |
EP2925775B1 (en) | 2012-11-28 | 2020-09-16 | NGM Biopharmaceuticals, Inc. | Compositions and methods for treatment of metabolic disorders and diseases |
US9273107B2 (en) | 2012-12-27 | 2016-03-01 | Ngm Biopharmaceuticals, Inc. | Uses and methods for modulating bile acid homeostasis and treatment of bile acid disorders and diseases |
ES2915851T3 (es) | 2012-12-27 | 2022-06-27 | Ngm Biopharmaceuticals Inc | Péptidos quiméricos de FGF19 para usar en el tratamiento de trastornos de ácidos biliares |
NZ718962A (en) | 2013-10-28 | 2019-12-20 | Ngm Biopharmaceuticals Inc | Cancer models and associated methods |
US10398758B2 (en) | 2014-05-28 | 2019-09-03 | Ngm Biopharmaceuticals, Inc. | Compositions comprising variants of FGF19 polypeptides and uses thereof for the treatment of hyperglycemic conditions |
AU2015277438B2 (en) | 2014-06-16 | 2020-02-27 | Ngm Biopharmaceuticals, Inc. | Methods and uses for modulating bile acid homeostasis and treatment of bile acid disorders and diseases |
JP6949711B2 (ja) | 2014-10-23 | 2021-10-20 | エヌジーエム バイオファーマシューティカルス,インコーポレーテッド | ペプチドバリアントを含む医薬組成物及びその使用方法 |
US10434144B2 (en) | 2014-11-07 | 2019-10-08 | Ngm Biopharmaceuticals, Inc. | Methods for treatment of bile acid-related disorders and prediction of clinical sensitivity to treatment of bile acid-related disorders |
US20230297593A1 (en) * | 2022-03-21 | 2023-09-21 | Oracle International Corporation | Declarative method of grouping, migrating and executing units of work for autonomous hierarchical database systems |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6195590B1 (en) * | 1998-02-11 | 2001-02-27 | Roger A. Powell | System for control and resource allocation for the manufacture of a product |
US6988139B1 (en) * | 2002-04-26 | 2006-01-17 | Microsoft Corporation | Distributed computing of a job corresponding to a plurality of predefined tasks |
US7467383B2 (en) | 2004-03-08 | 2008-12-16 | Ab Initio Software Llc | System for controlling task execution using a graphical representation of task dependency |
JP2009070264A (ja) * | 2007-09-14 | 2009-04-02 | Toshiba Corp | 階層スケジューリング装置、階層スケジューリング方法及びプログラム |
WO2009118731A2 (en) * | 2008-03-27 | 2009-10-01 | Rocketick Technologies Ltd | Design simulation using parallel processors |
CN102077172A (zh) * | 2008-07-02 | 2011-05-25 | Nxp股份有限公司 | 使用运行时间任务调度的多处理器电路 |
US8335911B2 (en) * | 2009-05-21 | 2012-12-18 | Oracle America, Inc. | Dynamic allocation of resources in a threaded, heterogeneous processor |
US8458136B2 (en) * | 2009-07-27 | 2013-06-04 | International Business Machines Corporation | Scheduling highly parallel jobs having global interdependencies |
US8438131B2 (en) * | 2009-11-06 | 2013-05-07 | Altus365, Inc. | Synchronization of media resources in a media archive |
US20110276966A1 (en) * | 2010-05-06 | 2011-11-10 | Arm Limited | Managing task dependency within a data processing system |
US8887163B2 (en) * | 2010-06-25 | 2014-11-11 | Ebay Inc. | Task scheduling based on dependencies and resources |
-
2010
- 2010-12-14 JP JP2010277812A patent/JP5613547B2/ja active Active
-
2011
- 2011-10-28 US US13/284,035 patent/US8793692B2/en active Active
- 2011-11-10 EP EP11188703.0A patent/EP2466462A3/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
JP2012128551A (ja) | 2012-07-05 |
US20120151496A1 (en) | 2012-06-14 |
US8793692B2 (en) | 2014-07-29 |
EP2466462A2 (en) | 2012-06-20 |
EP2466462A3 (en) | 2013-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5613547B2 (ja) | タスクベースの並列プログラミング言語 | |
Xu et al. | A practical verification framework for preemptive OS kernels | |
CN101681272B (zh) | 使用事务来并行化顺序框架 | |
US10152309B2 (en) | Cross-library framework architecture feature sets | |
Hanxleden et al. | Sequentially Constructive Concurrency—A conservative extension of the synchronous model of computation | |
Schlich | Model checking of software for microcontrollers | |
JP5813165B2 (ja) | トランザクションを用いるシーケンシャルフレームワークの並行化 | |
Ortego et al. | SESC: SuperESCalar simulator | |
US9292265B2 (en) | Method for convergence analysis based on thread variance analysis | |
JP2009129179A (ja) | プログラム並列化支援装置およびプログラム並列化支援方法 | |
US11392427B2 (en) | Lock-free reading of unitary value sets | |
US20170017472A1 (en) | Incremental interprocedural dataflow analysis during compilation | |
Gäher et al. | Simuliris: a separation logic framework for verifying concurrent program optimizations | |
Choi et al. | FLASH: Fast, parallel, and accurate simulator for HLS | |
Chi et al. | Rapid cycle-accurate simulator for high-level synthesis | |
Yip et al. | The ForeC synchronous deterministic parallel programming language for multicores | |
Hsu et al. | Multithreaded simulation for synchronous dataflow graphs | |
Alur et al. | GPUDrano: Detecting uncoalesced accesses in GPU programs | |
Natale et al. | Buffer optimization in multitask implementations of simulink models | |
Posch | Mastering C++ Multithreading | |
Stitt et al. | Thread warping: Dynamic and transparent synthesis of thread accelerators | |
Nácul et al. | Code partitioning for synthesis of embedded applications with phantom | |
Taylor et al. | Initialization and the Main Pattern | |
Bajczi et al. | Stateless software model checking parameterized with memory consistency models | |
Gädtke et al. | HW/SW co-design for Esterel processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130528 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140408 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140530 |
|
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: 20140819 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140908 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5613547 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |