WO2011159411A3 - Data parallel programming model - Google Patents
Data parallel programming model Download PDFInfo
- Publication number
- WO2011159411A3 WO2011159411A3 PCT/US2011/036532 US2011036532W WO2011159411A3 WO 2011159411 A3 WO2011159411 A3 WO 2011159411A3 US 2011036532 W US2011036532 W US 2011036532W WO 2011159411 A3 WO2011159411 A3 WO 2011159411A3
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data parallel
- programming model
- parallel programming
- data
- call
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
Abstract
Described herein are techniques for enabling a programmer to express a call for a data parallel call-site function in a way that is accessible and usable to the typical programmer. With some of the described techniques, an executable program is generated based upon expressions of those data parallel tasks. During execution of the executable program, data is exchanged between non-data parallel (non-DP) capable hardware and DP capable hardware for the invocation of data parallel functions.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/819,097 US20110314256A1 (en) | 2010-06-18 | 2010-06-18 | Data Parallel Programming Model |
US12/819,097 | 2010-06-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2011159411A2 WO2011159411A2 (en) | 2011-12-22 |
WO2011159411A3 true WO2011159411A3 (en) | 2012-03-08 |
Family
ID=45329719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2011/036532 WO2011159411A2 (en) | 2010-06-18 | 2011-05-13 | Data parallel programming model |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110314256A1 (en) |
WO (1) | WO2011159411A2 (en) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589867B2 (en) | 2010-06-18 | 2013-11-19 | Microsoft Corporation | Compiler-generated invocation stubs for data parallel programming model |
US8756590B2 (en) * | 2010-06-22 | 2014-06-17 | Microsoft Corporation | Binding data parallel device source code |
US9529574B2 (en) | 2010-09-23 | 2016-12-27 | Apple Inc. | Auto multi-threading in macroscalar compilers |
US8949808B2 (en) | 2010-09-23 | 2015-02-03 | Apple Inc. | Systems and methods for compiler-based full-function vectorization |
US8621448B2 (en) * | 2010-09-23 | 2013-12-31 | Apple Inc. | Systems and methods for compiler-based vectorization of non-leaf code |
US9489183B2 (en) | 2010-10-12 | 2016-11-08 | Microsoft Technology Licensing, Llc | Tile communication operator |
US9430204B2 (en) | 2010-11-19 | 2016-08-30 | Microsoft Technology Licensing, Llc | Read-only communication operator |
US9507568B2 (en) | 2010-12-09 | 2016-11-29 | Microsoft Technology Licensing, Llc | Nested communication operator |
US9395957B2 (en) * | 2010-12-22 | 2016-07-19 | Microsoft Technology Licensing, Llc | Agile communication operator |
US9841958B2 (en) * | 2010-12-23 | 2017-12-12 | Microsoft Technology Licensing, Llc. | Extensible data parallel semantics |
DE102013208560A1 (en) * | 2012-05-09 | 2013-11-14 | Nvidia Corporation | Method for generating executable data file in compiler e.g. CPU for heterogeneous environment, involves generating executable data file comprising executable form from both host code portions and unique linked apparatus code portions |
US9483235B2 (en) | 2012-05-09 | 2016-11-01 | Nvidia Corporation | Method and system for separate compilation of device code embedded in host code |
US10261807B2 (en) * | 2012-05-09 | 2019-04-16 | Nvidia Corporation | Method and system for multiple embedded device links in a host executable |
US10025643B2 (en) * | 2012-05-10 | 2018-07-17 | Nvidia Corporation | System and method for compiler support for kernel launches in device code |
US9229698B2 (en) | 2013-11-25 | 2016-01-05 | Nvidia Corporation | Method and apparatus for compiler processing for a function marked with multiple execution spaces |
US9400683B2 (en) * | 2014-10-16 | 2016-07-26 | Sap Se | Optimizing execution of processes |
US9747089B2 (en) | 2014-10-21 | 2017-08-29 | International Business Machines Corporation | Automatic conversion of sequential array-based programs to parallel map-reduce programs |
US9542248B2 (en) | 2015-03-24 | 2017-01-10 | International Business Machines Corporation | Dispatching function calls across accelerator devices |
US11449452B2 (en) | 2015-05-21 | 2022-09-20 | Goldman Sachs & Co. LLC | General-purpose parallel computing architecture |
CA2984155A1 (en) | 2015-05-21 | 2016-11-24 | Goldman Sachs & Co. LLC | General-purpose parallel computing architecture |
US10104171B1 (en) * | 2015-11-25 | 2018-10-16 | EMC IP Holding Company LLC | Server architecture having dedicated compute resources for processing infrastructure-related workloads |
US9946522B1 (en) * | 2016-12-16 | 2018-04-17 | International Business Machines Corporation | Generating code for real-time stream processing |
CN109729734B8 (en) * | 2017-08-31 | 2020-11-24 | 中科寒武纪科技股份有限公司 | Chip device and related product |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030088601A1 (en) * | 1998-10-09 | 2003-05-08 | Nikos P. Pitsianis | Efficient complex multiplication and fast fourier transform (fft) implementation on the manarray architecture |
US20070028076A1 (en) * | 2005-07-26 | 2007-02-01 | Arm Limited | Algebraic single instruction multiple data processing |
US20090307660A1 (en) * | 2008-10-14 | 2009-12-10 | Edss, Inc. | Ticc-paradigm to build verified parallel software for multi-core chips |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4205371A (en) * | 1975-11-03 | 1980-05-27 | Honeywell Information Systems Inc. | Data base conversion system |
US4340857A (en) * | 1980-04-11 | 1982-07-20 | Siemens Corporation | Device for testing digital circuits using built-in logic block observers (BILBO's) |
US4503492A (en) * | 1981-09-11 | 1985-03-05 | Data General Corp. | Apparatus and methods for deriving addresses of data using painters whose values remain unchanged during an execution of a procedure |
US4516203A (en) * | 1981-09-11 | 1985-05-07 | Data General Corporation | Improved apparatus for encaching data whose value does not change during execution of an instruction sequence |
EP0090904B1 (en) * | 1982-04-03 | 1985-08-21 | Deutsche ITT Industries GmbH | Circuit for a serially operating digital filter |
US4530051A (en) * | 1982-09-10 | 1985-07-16 | At&T Bell Laboratories | Program process execution in a distributed multiprocessor system |
US4652995A (en) * | 1982-09-27 | 1987-03-24 | Data General Corporation | Encachement apparatus using multiple caches for providing multiple component values to form data items |
US5021945A (en) * | 1985-10-31 | 1991-06-04 | Mcc Development, Ltd. | Parallel processor system for processing natural concurrencies and method therefor |
US4847755A (en) * | 1985-10-31 | 1989-07-11 | Mcc Development, Ltd. | Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies |
US4847613A (en) * | 1986-07-15 | 1989-07-11 | Matsushita Electric Industrial Co., Ltd. | Data transfer apparatus |
WO1988002156A2 (en) * | 1986-09-11 | 1988-03-24 | Hughes Aircraft Company | Digital simulation system for generating realistic scenes |
US4811214A (en) * | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
US4853929A (en) * | 1987-03-06 | 1989-08-01 | Fujitsu Limited | Electronic circuit device able to diagnose status-holding circuits by scanning |
US4868776A (en) * | 1987-09-14 | 1989-09-19 | Trw Inc. | Fast fourier transform architecture using hybrid n-bit-serial arithmetic |
US4888714A (en) * | 1987-09-25 | 1989-12-19 | Laser Precision Corporation | Spectrometer system having interconnected computers at multiple optical heads |
JPH0731726B2 (en) * | 1989-06-29 | 1995-04-10 | インターナショナル・ビジネス・マシーンズ・コーポレーシヨン | Image processing system |
US5404519A (en) * | 1989-10-11 | 1995-04-04 | Texas Instruments Incorporated | System for extending software calls to functions on another processor by means of a communications buffer |
US5261095A (en) * | 1989-10-11 | 1993-11-09 | Texas Instruments Incorporated | Partitioning software in a multiprocessor system |
JPH03223957A (en) * | 1989-12-26 | 1991-10-02 | Hitachi Ltd | Computer |
US5361363A (en) * | 1990-10-03 | 1994-11-01 | Thinking Machines Corporation | Input/output system for parallel computer for performing parallel file transfers between selected number of input/output devices and another selected number of processing nodes |
US5377191A (en) * | 1990-10-26 | 1994-12-27 | Data General Corporation | Network communication system |
JPH04337843A (en) * | 1991-05-15 | 1992-11-25 | Hitachi Ltd | Program operation display method |
JP3489123B2 (en) * | 1992-04-15 | 2004-01-19 | 株式会社日立製作所 | Application binding method |
US5377228A (en) * | 1992-04-20 | 1994-12-27 | Yamaha Corporation | Data repeating apparatus |
US5339430A (en) * | 1992-07-01 | 1994-08-16 | Telefonaktiebolaget L M Ericsson | System for dynamic run-time binding of software modules in a computer system |
WO1994003860A1 (en) * | 1992-08-07 | 1994-02-17 | Thinking Machines Corporation | Massively parallel computer including auxiliary vector processor |
US5566341A (en) * | 1992-10-05 | 1996-10-15 | The Regents Of The University Of California | Image matrix processor for fast multi-dimensional computations |
EP0602806B1 (en) * | 1992-12-18 | 2001-07-04 | Advanced Micro Devices, Inc. | High-level data link controller (HDLC) receiver |
US5566302A (en) * | 1992-12-21 | 1996-10-15 | Sun Microsystems, Inc. | Method for executing operation call from client application using shared memory region and establishing shared memory region when the shared memory region does not exist |
US5524192A (en) * | 1993-02-09 | 1996-06-04 | International Business Machines Corporation | Simplifying maintaining and displaying of program comments |
US5544091A (en) * | 1993-03-05 | 1996-08-06 | Casio Computer Co., Ltd. | Circuit scale reduction for bit-serial digital signal processing |
EP0689694B1 (en) * | 1993-03-15 | 1997-01-02 | Siemens Aktiengesellschaft | Process for the machine-generation of parallel processable command groups from a program for super-scalar microprocessors |
US5426694A (en) * | 1993-10-08 | 1995-06-20 | Excel, Inc. | Telecommunication switch having programmable network protocols and communications services |
US5613139A (en) * | 1994-05-11 | 1997-03-18 | International Business Machines Corporation | Hardware implemented locking mechanism for handling both single and plural lock requests in a lock message |
US5696991A (en) * | 1994-11-29 | 1997-12-09 | Winbond Electronics Corporation | Method and device for parallel accessing data with optimal reading start |
US5680597A (en) * | 1995-01-26 | 1997-10-21 | International Business Machines Corporation | System with flexible local control for modifying same instruction partially in different processor of a SIMD computer system to execute dissimilar sequences of instructions |
US5729748A (en) * | 1995-04-03 | 1998-03-17 | Microsoft Corporation | Call template builder and method |
US5671419A (en) * | 1995-06-15 | 1997-09-23 | International Business Machines Corporation | Interprocedural data-flow analysis that supports recursion while only performing one flow-sensitive analysis of each procedure |
US5737607A (en) * | 1995-09-28 | 1998-04-07 | Sun Microsystems, Inc. | Method and apparatus for allowing generic stubs to marshal and unmarshal data in object reference specific data formats |
US5887172A (en) * | 1996-01-10 | 1999-03-23 | Sun Microsystems, Inc. | Remote procedure call system and method for RPC mechanism independent client and server interfaces interoperable with any of a plurality of remote procedure call backends |
US5841976A (en) * | 1996-03-29 | 1998-11-24 | Intel Corporation | Method and apparatus for supporting multipoint communications in a protocol-independent manner |
US6032199A (en) * | 1996-06-26 | 2000-02-29 | Sun Microsystems, Inc. | Transport independent invocation and servant interfaces that permit both typecode interpreted and compiled marshaling |
US6163539A (en) * | 1998-04-28 | 2000-12-19 | Pmc-Sierra Ltd. | Firmware controlled transmit datapath for high-speed packet switches |
JP4130713B2 (en) * | 1998-10-21 | 2008-08-06 | 松下電器産業株式会社 | Program converter |
US7512738B2 (en) * | 2004-09-30 | 2009-03-31 | Intel Corporation | Allocating call stack frame entries at different memory levels to functions in a program |
US8046777B2 (en) * | 2005-06-02 | 2011-10-25 | The Mathworks, Inc. | Calling of late bound functions from an external program environment |
US20080320255A1 (en) * | 2007-06-25 | 2008-12-25 | Sonics, Inc. | Various methods and apparatus for configurable mapping of address regions onto one or more aggregate targets |
US8108648B2 (en) * | 2007-06-25 | 2012-01-31 | Sonics, Inc. | Various methods and apparatus for address tiling |
US8627042B2 (en) * | 2009-12-30 | 2014-01-07 | International Business Machines Corporation | Data parallel function call for determining if called routine is data parallel |
-
2010
- 2010-06-18 US US12/819,097 patent/US20110314256A1/en not_active Abandoned
-
2011
- 2011-05-13 WO PCT/US2011/036532 patent/WO2011159411A2/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030088601A1 (en) * | 1998-10-09 | 2003-05-08 | Nikos P. Pitsianis | Efficient complex multiplication and fast fourier transform (fft) implementation on the manarray architecture |
US20070028076A1 (en) * | 2005-07-26 | 2007-02-01 | Arm Limited | Algebraic single instruction multiple data processing |
US20090307660A1 (en) * | 2008-10-14 | 2009-12-10 | Edss, Inc. | Ticc-paradigm to build verified parallel software for multi-core chips |
Also Published As
Publication number | Publication date |
---|---|
WO2011159411A2 (en) | 2011-12-22 |
US20110314256A1 (en) | 2011-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011159411A3 (en) | Data parallel programming model | |
DK2526469T3 (en) | Eye tracking system-based contextual action | |
WO2010068790A3 (en) | Multi-threaded subgraph execution control in a graphical modeling environment | |
WO2011142933A3 (en) | Real time mission planning | |
WO2010068786A3 (en) | Subgraph execution control in a graphical modeling environment | |
WO2012092117A3 (en) | Converting desktop applications to web applications | |
WO2009149219A3 (en) | Appliance development toolkit | |
EP2577460A4 (en) | Generating text manipulation programs using input-output examples | |
WO2012088508A3 (en) | Extensible data parallel semantics | |
WO2008000498A3 (en) | Defining a status model for a computer system | |
GB201302003D0 (en) | Initiating a collective operation in a parallel computer | |
WO2006032001A3 (en) | Methods and system for executing a program in multiple execution environments | |
WO2009134927A3 (en) | Business software application system and method | |
WO2014033639A3 (en) | Introspection of software program components and conditional generation of memory dump | |
WO2012047470A3 (en) | Using a touch-sensitive display of a mobile device with a host computer | |
WO2009120595A3 (en) | Apparatus and methods for widget intercommunication in a wireless communication environment | |
WO2012088364A3 (en) | Satisfying application dependencies | |
WO2014145801A3 (en) | Data modeling studio | |
GB2485682A (en) | Mapping of computer threads onto heterogeneous resources | |
GB2491694B (en) | Inherited transaction context for software applications | |
WO2011116987A8 (en) | A method for automatically generating a trace data set for a software system, a computer system, and a computer program product | |
WO2011094045A3 (en) | Copy and staple gestures | |
WO2014022743A3 (en) | Mobile build, quality and deployment manager | |
WO2013186627A3 (en) | System and method for automatic invocation of constructor code for superclasses | |
WO2012154634A3 (en) | Extensibility features for electronic communications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11796125 Country of ref document: EP Kind code of ref document: A2 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11796125 Country of ref document: EP Kind code of ref document: A2 |