WO2008127623A3 - Parallel runtime execution on multiple processors - Google Patents

Parallel runtime execution on multiple processors Download PDF

Info

Publication number
WO2008127623A3
WO2008127623A3 PCT/US2008/004652 US2008004652W WO2008127623A3 WO 2008127623 A3 WO2008127623 A3 WO 2008127623A3 US 2008004652 W US2008004652 W US 2008004652W WO 2008127623 A3 WO2008127623 A3 WO 2008127623A3
Authority
WO
WIPO (PCT)
Prior art keywords
executables
compute devices
physical compute
executable
existing
Prior art date
Application number
PCT/US2008/004652
Other languages
French (fr)
Other versions
WO2008127623A2 (en
Inventor
Aaftab Munshi
Jeremy Sandmel
Original Assignee
Apple Inc.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Apple Inc. filed Critical Apple Inc.
Priority to EP08754080.3A priority Critical patent/EP2140352B1/en
Priority to EP09175265.9A priority patent/EP2146283B1/en
Priority to AU2008239697A priority patent/AU2008239697B2/en
Priority to CN200880011684.8A priority patent/CN101802789B/en
Publication of WO2008127623A2 publication Critical patent/WO2008127623A2/en
Publication of WO2008127623A3 publication Critical patent/WO2008127623A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • G06F9/44542Retargetable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Abstract

A method and an apparatus that schedule a plurality of executables in a schedule queue for execution in one or more physical compute devices such as CPUs or GPUs concurrently are described. One or more executables are compiled online from a source having an existing executable for a type of physical compute devices different from the one or more physical compute devices. Dependency relations among elements corresponding to scheduled executables are determined to select an executable to be executed by a plurality of threads concurrently in more than one of the physical compute devices. A thread initialized for executing an executable in a GPU of the physical compute devices are initialized for execution in another CPU of the physical compute devices if the GPU is busy with graphics processing threads. Sources and existing executables for an API function are stored in an API library to execute a plurality of executables in a plurality of physical compute devices, including the existing executables and online compiled executables from the sources.
PCT/US2008/004652 2007-04-11 2008-04-09 Parallel runtime execution on multiple processors WO2008127623A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP08754080.3A EP2140352B1 (en) 2007-04-11 2008-04-09 Parallel runtime execution on multiple processors
EP09175265.9A EP2146283B1 (en) 2007-04-11 2008-04-09 Parallel runtime execution on multiple processors
AU2008239697A AU2008239697B2 (en) 2007-04-11 2008-04-09 Parallel runtime execution on multiple processors
CN200880011684.8A CN101802789B (en) 2007-04-11 2008-04-09 Parallel runtime execution on multiple processors

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US92303007P 2007-04-11 2007-04-11
US60/923,030 2007-04-11
US92562007P 2007-04-20 2007-04-20
US60/925,620 2007-04-20
US11/800,319 2007-05-03
US11/800,319 US8286196B2 (en) 2007-05-03 2007-05-03 Parallel runtime execution on multiple processors

Publications (2)

Publication Number Publication Date
WO2008127623A2 WO2008127623A2 (en) 2008-10-23
WO2008127623A3 true WO2008127623A3 (en) 2010-01-07

Family

ID=39940513

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2008/004652 WO2008127623A2 (en) 2007-04-11 2008-04-09 Parallel runtime execution on multiple processors

Country Status (5)

Country Link
US (6) US8286196B2 (en)
EP (2) EP2146283B1 (en)
CN (1) CN101802789B (en)
AU (1) AU2008239697B2 (en)
WO (1) WO2008127623A2 (en)

Families Citing this family (174)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341611B2 (en) 2007-04-11 2012-12-25 Apple Inc. Application interface on multiple processors
US11836506B2 (en) 2007-04-11 2023-12-05 Apple Inc. Parallel runtime execution on multiple processors
US8276164B2 (en) 2007-05-03 2012-09-25 Apple Inc. Data parallel computing on multiple processors
EP3413198A1 (en) 2007-04-11 2018-12-12 Apple Inc. Data parallel computing on multiple processors
US8286196B2 (en) 2007-05-03 2012-10-09 Apple Inc. Parallel runtime execution on multiple processors
US8448193B2 (en) * 2007-04-27 2013-05-21 Ricoh Company, Ltd. Image forming device, information processing method, and information processing program
US20080276252A1 (en) * 2007-05-04 2008-11-06 Microsoft Corporation Kernel event visualization
US8861591B2 (en) * 2007-05-11 2014-10-14 Advanced Micro Devices, Inc. Software video encoder with GPU acceleration
US8233527B2 (en) 2007-05-11 2012-07-31 Advanced Micro Devices, Inc. Software video transcoder with GPU acceleration
US8140608B1 (en) 2007-05-31 2012-03-20 Nvidia Corporation Pipelined integer division using floating-point reciprocal
US9536275B1 (en) 2007-07-31 2017-01-03 Nvidia Corporation Using a geometry shader for variable input and output algorithms
US8473948B1 (en) 2007-08-08 2013-06-25 Nvidia Corporation Method for synchronizing independent cooperative thread arrays running on a graphics processing unit
US7877573B1 (en) 2007-08-08 2011-01-25 Nvidia Corporation Work-efficient parallel prefix sum algorithm for graphics processing units
US7725518B1 (en) 2007-08-08 2010-05-25 Nvidia Corporation Work-efficient parallel prefix sum algorithm for graphics processing units
US8370845B1 (en) 2007-08-08 2013-02-05 Nvidia Corporation Method for synchronizing independent cooperative thread arrays running on a graphics processing unit
US7689541B1 (en) 2007-08-09 2010-03-30 Nvidia Corporation Reordering data using a series of offsets
US8094157B1 (en) 2007-08-09 2012-01-10 Nvidia Corporation Performing an occurence count of radices
US8996846B2 (en) 2007-09-27 2015-03-31 Nvidia Corporation System, method and computer program product for performing a scan operation
US8284188B1 (en) 2007-10-29 2012-10-09 Nvidia Corporation Ray tracing system, method, and computer program product for simultaneously traversing a hierarchy of rays and a hierarchy of objects
US8264484B1 (en) 2007-10-29 2012-09-11 Nvidia Corporation System, method, and computer program product for organizing a plurality of rays utilizing a bounding volume
US8065288B1 (en) 2007-11-09 2011-11-22 Nvidia Corporation System, method, and computer program product for testing a query against multiple sets of objects utilizing a single instruction multiple data (SIMD) processing architecture
US8281294B1 (en) * 2007-11-12 2012-10-02 Nvidia Corporation System and method for representing and managing a multi-architecture co-processor application program
US8276132B1 (en) * 2007-11-12 2012-09-25 Nvidia Corporation System and method for representing and managing a multi-architecture co-processor application program
US8347310B1 (en) 2007-11-12 2013-01-01 Nvidia Corporation System and method for representing and managing a multi-architecure co-processor application program
US8661226B2 (en) 2007-11-15 2014-02-25 Nvidia Corporation System, method, and computer program product for performing a scan operation on a sequence of single-bit values using a parallel processor architecture
US8243083B1 (en) 2007-12-04 2012-08-14 Nvidia Corporation System, method, and computer program product for converting a scan algorithm to a segmented scan algorithm in an operator-independent manner
US8773422B1 (en) 2007-12-04 2014-07-08 Nvidia Corporation System, method, and computer program product for grouping linearly ordered primitives
US8417735B1 (en) 2007-12-12 2013-04-09 Nvidia Corporation Instruction-efficient algorithm for parallel scan using initialized memory regions to replace conditional statements
US8413151B1 (en) 2007-12-19 2013-04-02 Nvidia Corporation Selective thread spawning within a multi-threaded processing system
US8219371B1 (en) 2008-01-21 2012-07-10 Nvidia Corporation Computing inter-atom forces between atoms in a protein
US8938485B1 (en) 2008-02-12 2015-01-20 Nvidia Corporation Integer division using floating-point reciprocal
US8095746B1 (en) 2008-02-13 2012-01-10 Nvidia Corporation Conserving and shaping address space with arrays
US7945757B1 (en) 2008-02-13 2011-05-17 Nvidia Corporation Conserving and shaping address space with arrays
US8539516B1 (en) 2008-02-14 2013-09-17 Nvidia Corporation System and method for enabling interoperability between application programming interfaces
US8402229B1 (en) * 2008-02-14 2013-03-19 Nvidia Corporation System and method for enabling interoperability between application programming interfaces
US8392669B1 (en) 2008-03-24 2013-03-05 Nvidia Corporation Systems and methods for coalescing memory accesses of parallel threads
US8055856B2 (en) 2008-03-24 2011-11-08 Nvidia Corporation Lock mechanism to enable atomic updates to shared memory
US8200947B1 (en) 2008-03-24 2012-06-12 Nvidia Corporation Systems and methods for voting among parallel threads
US8312254B2 (en) 2008-03-24 2012-11-13 Nvidia Corporation Indirect function call instructions in a synchronous parallel thread processor
US8086806B2 (en) 2008-03-24 2011-12-27 Nvidia Corporation Systems and methods for coalescing memory accesses of parallel threads
US9678775B1 (en) 2008-04-09 2017-06-13 Nvidia Corporation Allocating memory for local variables of a multi-threaded program for execution in a single-threaded environment
US8776030B2 (en) 2008-04-09 2014-07-08 Nvidia Corporation Partitioning CUDA code for execution by a general purpose processor
US8286198B2 (en) 2008-06-06 2012-10-09 Apple Inc. Application programming interfaces for data parallel computing on multiple processors
US8225325B2 (en) 2008-06-06 2012-07-17 Apple Inc. Multi-dimensional thread grouping for multiple processors
US8151095B1 (en) 2008-07-18 2012-04-03 Nvidia Corporation System and method for context migration across CPU threads
US9542192B1 (en) 2008-08-15 2017-01-10 Nvidia Corporation Tokenized streams for concurrent execution between asymmetric multiprocessors
US9477570B2 (en) * 2008-08-26 2016-10-25 Red Hat, Inc. Monitoring software provisioning
US8959497B1 (en) 2008-08-29 2015-02-17 Nvidia Corporation System and method for dynamically spawning thread blocks within multi-threaded processing systems
US8615770B1 (en) 2008-08-29 2013-12-24 Nvidia Corporation System and method for dynamically spawning thread blocks within multi-threaded processing systems
US8310494B2 (en) * 2008-09-30 2012-11-13 Apple Inc. Method for reducing graphics rendering failures
US8279229B1 (en) * 2008-10-27 2012-10-02 Nvidia Corporation System, method, and computer program product for providing access to graphics processor CPU cores, to both a graphics processor and a CPU
US20100125740A1 (en) * 2008-11-19 2010-05-20 Accenture Global Services Gmbh System for securing multithreaded server applications
US8321492B1 (en) 2008-12-11 2012-11-27 Nvidia Corporation System, method, and computer program product for converting a reduction algorithm to a segmented reduction algorithm
US8570333B2 (en) 2008-12-11 2013-10-29 Nvidia Corporation Method and system for enabling managed code-based application program to access graphics processing unit
US20100191814A1 (en) * 2008-12-23 2010-07-29 Marco Heddes System-On-A-Chip Employing A Network Of Nodes That Utilize Receive Side Flow Control Over Channels For Messages Communicated Therebetween
US8645634B1 (en) 2009-01-16 2014-02-04 Nvidia Corporation Zero-copy data sharing by cooperating asymmetric coprocessors
US8655937B1 (en) 2009-04-29 2014-02-18 Nvidia Corporation High precision integer division using low precision hardware operations and rounding techniques
US8395631B1 (en) 2009-04-30 2013-03-12 Nvidia Corporation Method and system for sharing memory between multiple graphics processing units in a computer system
US9547535B1 (en) 2009-04-30 2017-01-17 Nvidia Corporation Method and system for providing shared memory access to graphics processing unit processes
US8539456B2 (en) * 2009-06-30 2013-09-17 Intel Corporation Automatic conversion of MPI source code programs into MPI thread-based programs
US8564616B1 (en) 2009-07-17 2013-10-22 Nvidia Corporation Cull before vertex attribute fetch and vertex lighting
US8542247B1 (en) 2009-07-17 2013-09-24 Nvidia Corporation Cull before vertex attribute fetch and vertex lighting
US9354944B2 (en) * 2009-07-27 2016-05-31 Advanced Micro Devices, Inc. Mapping processing logic having data-parallel threads across processors
WO2011023203A1 (en) * 2009-08-24 2011-03-03 Abb Technology Ag Improved execution of real time applications with an automation controller
US8667200B1 (en) 2009-09-22 2014-03-04 Nvidia Corporation Fast and highly scalable quota-based weighted arbitration
US8683089B1 (en) 2009-09-23 2014-03-25 Nvidia Corporation Method and apparatus for equalizing a bandwidth impedance mismatch between a client and an interface
US8595425B2 (en) 2009-09-25 2013-11-26 Nvidia Corporation Configurable cache for multiple clients
US8271763B2 (en) 2009-09-25 2012-09-18 Nvidia Corporation Unified addressing and instructions for accessing parallel memory spaces
US8335892B1 (en) 2009-09-28 2012-12-18 Nvidia Corporation Cache arbitration between multiple clients
US8266383B1 (en) 2009-09-28 2012-09-11 Nvidia Corporation Cache miss processing using a defer/replay mechanism
US8250439B1 (en) 2009-09-28 2012-08-21 Nvidia Corporation ECC bits used as additional register file storage
US8321761B1 (en) 2009-09-28 2012-11-27 Nvidia Corporation ECC bits used as additional register file storage
US8266382B1 (en) 2009-09-28 2012-09-11 Nvidia Corporation Cache interface protocol including arbitration and hints
US8301980B2 (en) 2009-09-28 2012-10-30 Nvidia Corporation Error detection and correction for external DRAM
US8190974B2 (en) 2009-09-28 2012-05-29 Nvidia Corporation Error detection and correction for external DRAM
US8411103B1 (en) 2009-09-29 2013-04-02 Nvidia Corporation Processing global atomic operations using the bending unit datapath
US8522000B2 (en) 2009-09-29 2013-08-27 Nvidia Corporation Trap handler architecture for a parallel processing unit
US8687590B2 (en) * 2009-10-02 2014-04-01 Blackberry Limited System and method for handover between relays
US8976195B1 (en) 2009-10-14 2015-03-10 Nvidia Corporation Generating clip state for a batch of vertices
US8384736B1 (en) 2009-10-14 2013-02-26 Nvidia Corporation Generating clip state for a batch of vertices
KR20110116553A (en) * 2010-04-19 2011-10-26 삼성전자주식회사 Apparatus for executing media processing application and method thereof
US9141422B2 (en) 2010-05-18 2015-09-22 Microsoft Technology Licensing, Llc Plug-in task scheduler
US20110292057A1 (en) * 2010-05-26 2011-12-01 Advanced Micro Devices, Inc. Dynamic Bandwidth Determination and Processing Task Assignment for Video Data Processing
US20120036301A1 (en) * 2010-08-03 2012-02-09 Caspole Eric R Processor support for filling memory regions
US8739171B2 (en) * 2010-08-31 2014-05-27 International Business Machines Corporation High-throughput-computing in a hybrid computing environment
US8914805B2 (en) * 2010-08-31 2014-12-16 International Business Machines Corporation Rescheduling workload in a hybrid computing environment
US8830245B2 (en) * 2010-12-14 2014-09-09 Amazon Technologies, Inc. Load balancing between general purpose processors and graphics processors
US9645854B2 (en) * 2010-12-15 2017-05-09 Advanced Micro Devices, Inc. Dynamic work partitioning on heterogeneous processing devices
US8762972B2 (en) * 2011-02-08 2014-06-24 Nokia Corporation Methods and apparatuses for facilitating execution of applications requiring runtime compilation
JP5626038B2 (en) * 2011-03-09 2014-11-19 富士通株式会社 Design apparatus, design program, and design method
WO2012141677A1 (en) * 2011-04-11 2012-10-18 Hewlett-Packard Development Company, L.P. Performing a task in a system having different types of hardware resources
US8695013B2 (en) * 2011-04-15 2014-04-08 Siemens Product Lifecycle Management Software Inc. System and method for thread protected testing
US8935683B2 (en) 2011-04-20 2015-01-13 Qualcomm Incorporated Inline function linking
US8468507B2 (en) 2011-06-10 2013-06-18 Microsoft Corporation Binding executable code at runtime
US8533698B2 (en) 2011-06-13 2013-09-10 Microsoft Corporation Optimizing execution of kernels
US8990515B2 (en) * 2011-06-14 2015-03-24 Microsoft Technology Licensing, Llc Aliasing buffers
WO2012174334A1 (en) * 2011-06-16 2012-12-20 Caustic Graphics, Inc. Graphics processor with non-blocking concurrent architecture
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
US8789026B2 (en) * 2011-08-02 2014-07-22 International Business Machines Corporation Technique for compiling and running high-level programs on heterogeneous computers
CN102354289B (en) * 2011-09-21 2012-10-10 苏州大学 Concurrent transaction scheduling method and related device
CN102521050A (en) * 2011-12-02 2012-06-27 曙光信息产业(北京)有限公司 Mix scheduling method facing central processing unit (CPU) and graphic processing unit (GPU)
CN103150463A (en) * 2011-12-06 2013-06-12 曙光信息产业股份有限公司 Method and device for realizing molecular dynamics calculation
US9830133B1 (en) * 2011-12-12 2017-11-28 Significs And Elements, Llc Methods and apparatus for automatic communication optimizations in a compiler based on a polyhedral representation
US8707314B2 (en) * 2011-12-16 2014-04-22 Advanced Micro Devices, Inc. Scheduling compute kernel workgroups to heterogeneous processors based on historical processor execution times and utilizations
WO2013097098A1 (en) * 2011-12-27 2013-07-04 华为技术有限公司 Data processing method, graphics processing unit (gpu) and first node device
US9424089B2 (en) * 2012-01-24 2016-08-23 Samsung Electronics Co., Ltd. Hardware acceleration of web applications
US20150088974A1 (en) * 2012-03-10 2015-03-26 Evado Holdings Pty Ltd Method and System of Application Development for Multiple Device Client Platforms
US9280395B2 (en) 2012-05-30 2016-03-08 Intel Corporation Runtime dispatching among a heterogeneous group of processors
WO2014046974A2 (en) 2012-09-20 2014-03-27 Case Paul Sr Case secure computer architecture
FR2996037B1 (en) * 2012-09-24 2015-05-29 Allegorithmic HYBRID MOTOR FOR CENTRAL PROCESSOR AND GRAPHIC PROCESSOR
US10270709B2 (en) * 2015-06-26 2019-04-23 Microsoft Technology Licensing, Llc Allocating acceleration component functionality for supporting services
KR20140054948A (en) * 2012-10-30 2014-05-09 한국전자통신연구원 Tool composition for supporting opencl application software development for embedded system and method thereof
US9069766B2 (en) * 2012-11-02 2015-06-30 Microsoft Technology Licensing, Llc Content-based isolation for computing device security
US9727338B2 (en) * 2012-11-05 2017-08-08 Nvidia Corporation System and method for translating program functions for correct handling of local-scope variables and computing system incorporating the same
US20150009222A1 (en) 2012-11-28 2015-01-08 Nvidia Corporation Method and system for cloud based virtualized graphics processing for remote displays
US11082490B2 (en) 2012-11-28 2021-08-03 Nvidia Corporation Method and apparatus for execution of applications in a cloud system
US9665921B2 (en) * 2012-12-29 2017-05-30 Futurewei Technologies, Inc. Adaptive OpenGL 3D graphics in virtual desktop infrastructure
CN103164839B (en) 2013-03-07 2019-06-21 华为技术有限公司 A kind of drawing practice, device and terminal
KR101694302B1 (en) * 2013-03-11 2017-01-23 한국전자통신연구원 Apparatus and method foe managing heterogeneous multicore processor system
RU2538920C2 (en) * 2013-05-06 2015-01-10 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Method for task distribution by computer system server, computer-readable data medium and system for implementing said method
IL232836A0 (en) * 2013-06-02 2014-08-31 Rocketick Technologies Ltd Efficient parallel computation of derendency problems
US9842532B2 (en) 2013-09-09 2017-12-12 Nvidia Corporation Remote display rendering for electronic devices
CN103678005B (en) * 2013-12-31 2015-04-22 税友软件集团股份有限公司 Load balancing control method and device
US9632761B2 (en) * 2014-01-13 2017-04-25 Red Hat, Inc. Distribute workload of an application to a graphics processing unit
US9886736B2 (en) 2014-01-20 2018-02-06 Nvidia Corporation Selectively killing trapped multi-process service clients sharing the same hardware context
US10152312B2 (en) * 2014-01-21 2018-12-11 Nvidia Corporation Dynamic compiler parallelism techniques
US9547553B1 (en) 2014-03-10 2017-01-17 Parallel Machines Ltd. Data resiliency in a shared memory pool
US11243816B2 (en) 2014-03-30 2022-02-08 UniversiteitGent Program execution on heterogeneous platform
US9781027B1 (en) 2014-04-06 2017-10-03 Parallel Machines Ltd. Systems and methods to communicate with external destinations via a memory network
US9690713B1 (en) 2014-04-22 2017-06-27 Parallel Machines Ltd. Systems and methods for effectively interacting with a flash memory
US9477412B1 (en) 2014-12-09 2016-10-25 Parallel Machines Ltd. Systems and methods for automatically aggregating write requests
US9594696B1 (en) 2014-12-09 2017-03-14 Parallel Machines Ltd. Systems and methods for automatic generation of parallel data processing code
CN103995746A (en) * 2014-04-24 2014-08-20 深圳中微电科技有限公司 Method of realizing graphic processing in harmonic processor and harmonic processor
US10162683B2 (en) * 2014-06-05 2018-12-25 International Business Machines Corporation Weighted stealing of resources
DE102014214667A1 (en) 2014-07-25 2016-01-28 Bayerische Motoren Werke Aktiengesellschaft Display dynamic security-related three-dimensional content on a display device
US10521874B2 (en) 2014-09-26 2019-12-31 Intel Corporation Method and apparatus for a highly efficient graphics processing unit (GPU) execution model
CN104391747A (en) * 2014-11-18 2015-03-04 北京锐安科技有限公司 Parallel computation method and parallel computation system
US9781225B1 (en) 2014-12-09 2017-10-03 Parallel Machines Ltd. Systems and methods for cache streams
US9639473B1 (en) 2014-12-09 2017-05-02 Parallel Machines Ltd. Utilizing a cache mechanism by copying a data set from a cache-disabled memory location to a cache-enabled memory location
US9753873B1 (en) 2014-12-09 2017-09-05 Parallel Machines Ltd. Systems and methods for key-value transactions
US9690705B1 (en) 2014-12-09 2017-06-27 Parallel Machines Ltd. Systems and methods for processing data sets according to an instructed order
US9904574B2 (en) * 2014-12-23 2018-02-27 Successfactors, Inc Parallel computing without requiring antecedent code deployment
US10198294B2 (en) 2015-04-17 2019-02-05 Microsoft Licensing Technology, LLC Handling tenant requests in a system that uses hardware acceleration components
US10511478B2 (en) 2015-04-17 2019-12-17 Microsoft Technology Licensing, Llc Changing between different roles at acceleration components
US9792154B2 (en) 2015-04-17 2017-10-17 Microsoft Technology Licensing, Llc Data processing system having a hardware acceleration plane and a software plane
US10296392B2 (en) 2015-04-17 2019-05-21 Microsoft Technology Licensing, Llc Implementing a multi-component service using plural hardware acceleration components
US20160308649A1 (en) * 2015-04-17 2016-10-20 Microsoft Technology Licensing, Llc Providing Services in a System having a Hardware Acceleration Plane and a Software Plane
US9542244B2 (en) 2015-04-22 2017-01-10 Ryft Systems, Inc. Systems and methods for performing primitive tasks using specialized processors
WO2016172569A1 (en) * 2015-04-22 2016-10-27 Ryft Systems, Inc. Systems and methods for performing primitive tasks using specialized processors
US20160335064A1 (en) * 2015-05-12 2016-11-17 Advanced Micro Devices, Inc. Infrastructure to support accelerator computation models for active storage
JP6345627B2 (en) * 2015-05-20 2018-06-20 株式会社ソニー・インタラクティブエンタテインメント Information processing apparatus and information processing method
US10216555B2 (en) 2015-06-26 2019-02-26 Microsoft Technology Licensing, Llc Partially reconfiguring acceleration components
US9778961B2 (en) * 2015-09-14 2017-10-03 Qualcomm Incorporated Efficient scheduling of multi-versioned tasks
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
CN107193539B (en) * 2016-03-14 2020-11-24 北京京东尚科信息技术有限公司 Multithreading concurrent processing method and multithreading concurrent processing system
US20170358132A1 (en) * 2016-06-12 2017-12-14 Apple Inc. System And Method For Tessellation In An Improved Graphics Pipeline
US10459760B2 (en) * 2016-07-08 2019-10-29 Sap Se Optimizing job execution in parallel processing with improved job scheduling using job currency hints
EP3273349A1 (en) * 2016-07-22 2018-01-24 Tata Consultancy Services Limited Approximate computing for application performance in heterogeneous systems
US10552212B2 (en) * 2016-11-28 2020-02-04 Arm Limited Data processing
US10109030B1 (en) * 2016-12-27 2018-10-23 EMC IP Holding Company LLC Queue-based GPU virtualization and management system
CN106648705A (en) * 2017-01-06 2017-05-10 吴晓栋 Application program development and running system based on visual element and method thereof
US10262390B1 (en) 2017-04-14 2019-04-16 EMC IP Holding Company LLC Managing access to a resource pool of graphics processing units under fine grain control
US10275851B1 (en) 2017-04-25 2019-04-30 EMC IP Holding Company LLC Checkpointing for GPU-as-a-service in cloud computing environment
US10325343B1 (en) 2017-08-04 2019-06-18 EMC IP Holding Company LLC Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform
US10540194B2 (en) 2017-12-21 2020-01-21 International Business Machines Corporation Runtime GPU/CPU selection
CN110058894B (en) * 2018-01-18 2022-05-24 伊姆西Ip控股有限责任公司 Method, apparatus and computer program product for executing applications in a hybrid cloud
US10698766B2 (en) 2018-04-18 2020-06-30 EMC IP Holding Company LLC Optimization of checkpoint operations for deep learning computing
CN108681491B (en) * 2018-05-04 2021-03-02 武汉极意网络科技有限公司 File decoupling method and system
CN110795228B (en) 2018-08-03 2023-08-25 伊姆西Ip控股有限责任公司 Method and article of manufacture for training deep learning model, and computing system
US10776164B2 (en) 2018-11-30 2020-09-15 EMC IP Holding Company LLC Dynamic composition of data pipeline in accelerator-as-a-service computing environment
CN111143042A (en) * 2019-11-14 2020-05-12 武汉纺织大学 Parallelization method and system for accelerating GPU through dependency analysis
CN111176654B (en) * 2019-11-18 2021-04-27 浙江大学 Internet of things application online compiling method based on multi-user cache
CN111292223B (en) * 2020-01-22 2023-07-25 北京百度网讯科技有限公司 Graph calculation processing method and device, electronic equipment and storage medium
KR102449016B1 (en) * 2020-12-29 2022-09-29 주식회사 코난테크놀로지 Method of reducing resources through asynchronous parallel processing without supporting events and its parallel processing apparatus

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998019238A1 (en) * 1996-10-28 1998-05-07 Unisys Corporation Heterogeneous symmetric multi-processing system
EP0884678A2 (en) * 1997-06-11 1998-12-16 Digital Equipment Corporation Loader conditionally replacing a code sequence with a functionally-alike code sequence in an executable program intended for execution in different run-time environments
US6179489B1 (en) * 1997-04-04 2001-01-30 Texas Instruments Incorporated Devices, methods, systems and software products for coordination of computer main microprocessor and second microprocessor coupled thereto
US20020066086A1 (en) * 2000-01-07 2002-05-30 Linden Randal N. Dynamic recompiler
US6588008B1 (en) * 2000-04-11 2003-07-01 International Business Machines Corporation Assembler tool for processor-coprocessor computer systems
US20040068716A1 (en) * 2002-10-04 2004-04-08 Quicksilver Technology, Inc. Retargetable compiler for multiple and different hardware platforms
EP1498824A2 (en) * 2003-06-30 2005-01-19 Microsoft Corporation System and method for parallel execution of data generation tasks
US20060132489A1 (en) * 2004-12-21 2006-06-22 Hewlett-Packard Development Company, L.P. Remote computing
US20060143615A1 (en) * 2004-12-28 2006-06-29 Seiko Epson Corporation Multimedia processing system and multimedia processing method
US20070033572A1 (en) * 2005-08-04 2007-02-08 International Business Machines Corporation Method, apparatus, and computer program product for adaptively generating code for a computer program

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4129614C2 (en) 1990-09-07 2002-03-21 Hitachi Ltd System and method for data processing
US5301324A (en) * 1992-11-19 1994-04-05 International Business Machines Corp. Method and apparatus for dynamic work reassignment among asymmetric, coupled processors
CA2137488C (en) * 1994-02-18 1998-09-29 Richard I. Baum Coexecuting method and means for performing parallel processing in conventional types of data processing systems
US5442789A (en) * 1994-03-31 1995-08-15 International Business Machines Corporation System and method for efficiently loading and removing selected functions on digital signal processors without interrupting execution of other functions on the digital signal processors
US5946487A (en) 1996-06-10 1999-08-31 Lsi Logic Corporation Object-oriented multi-media architecture
CA2319004A1 (en) 1998-01-26 1999-08-12 Unif/X Inc. A transaction execution system interface and enterprise system architecture thereof
WO2000033238A2 (en) * 1998-11-30 2000-06-08 Siebel Systems, Inc. Assignment manager
US8234650B1 (en) 1999-08-23 2012-07-31 Oracle America, Inc. Approach for allocating resources to an apparatus
JP2001147819A (en) 1999-11-19 2001-05-29 Fujitsu Ltd Optimizing device and recording medium
US7159041B2 (en) 2000-03-07 2007-01-02 Microsoft Corporation Method and system for defining and controlling algorithmic elements in a graphics display system
US6970206B1 (en) * 2000-04-20 2005-11-29 Ati International Srl Method for deinterlacing interlaced video by a graphics processor
US20030154284A1 (en) 2000-05-31 2003-08-14 James Bernardin Distributed data propagator
US6768901B1 (en) * 2000-06-02 2004-07-27 General Dynamics Decision Systems, Inc. Dynamic hardware resource manager for software-defined communications system
JP3928360B2 (en) 2001-02-07 2007-06-13 ソニー株式会社 Memory device
US7234144B2 (en) 2002-01-04 2007-06-19 Microsoft Corporation Methods and system for managing computational resources of a coprocessor in a computing system
US6919896B2 (en) * 2002-03-11 2005-07-19 Sony Computer Entertainment Inc. System and method of optimizing graphics processing
US7219352B2 (en) * 2002-04-15 2007-05-15 Microsoft Corporation Methods and apparatuses for facilitating processing of interlaced video images for progressive video displays
CN100557550C (en) 2002-10-16 2009-11-04 鲍志超 Computer general-purpose associated application processor
US7181382B2 (en) 2003-05-08 2007-02-20 Microsoft Corporation System and method for testing, simulating, and controlling computer software and hardware
US7015913B1 (en) * 2003-06-27 2006-03-21 Nvidia Corporation Method and apparatus for multithreaded processing of data in a programmable graphics processor
US7546553B2 (en) * 2003-07-28 2009-06-09 Sap Ag Grid landscape component
US7272730B1 (en) 2003-07-31 2007-09-18 Hewlett-Packard Development Company, L.P. Application-driven method and apparatus for limiting power consumption in a processor-controlled hardware platform
US7389508B2 (en) * 2003-09-25 2008-06-17 International Business Machines Corporation System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment
US7444632B2 (en) 2003-09-25 2008-10-28 International Business Machines Corporation Balancing computational load across a plurality of processors
US7882488B2 (en) * 2003-10-20 2011-02-01 Robert Zeidman Software tool for synthesizing a real-time operating system
US7068284B2 (en) * 2003-11-10 2006-06-27 Microsoft Corporation Color management system that supports legacy and advanced color management applications
US8274517B2 (en) * 2003-11-14 2012-09-25 Microsoft Corporation Systems and methods for downloading algorithmic elements to a coprocessor and corresponding techniques
US20050132239A1 (en) * 2003-12-16 2005-06-16 Athas William C. Almost-symmetric multiprocessor that supports high-performance and energy-efficient execution
US7472391B2 (en) 2004-02-20 2008-12-30 Microsoft Corporation Resource loader for applications that utilize relative uniform resource identifiers
US7847800B2 (en) * 2004-04-16 2010-12-07 Apple Inc. System for emulating graphics operations
US7725643B1 (en) * 2004-05-04 2010-05-25 Oracle America, Inc. Methods and systems for detecting and avoiding an address dependency between tasks
US20060048157A1 (en) * 2004-05-18 2006-03-02 International Business Machines Corporation Dynamic grid job distribution from any resource within a grid environment
US7810099B2 (en) * 2004-06-17 2010-10-05 International Business Machines Corporation Optimizing workflow execution against a heterogeneous grid computing topology
US7426724B2 (en) 2004-07-02 2008-09-16 Nvidia Corporation Optimized chaining of vertex and fragment programs
US7868891B2 (en) * 2004-09-16 2011-01-11 Nvidia Corporation Load balancing
US20060069909A1 (en) * 2004-09-23 2006-03-30 Roth Steven T Kernel registry write operations
US7603546B2 (en) * 2004-09-28 2009-10-13 Intel Corporation System, method and apparatus for dependency chain processing
US7800620B2 (en) 2004-11-05 2010-09-21 Microsoft Corporation Optimizing automated shader program construction
US7598953B2 (en) 2004-11-05 2009-10-06 Microsoft Corporation Interpreter for simplified programming of graphics processor units in general purpose programming languages
US7733347B2 (en) 2004-11-05 2010-06-08 Microsoft Corporation Automated construction of shader programs
US20070208956A1 (en) * 2004-11-19 2007-09-06 Motorola, Inc. Energy efficient inter-processor management method and system
JP2006285464A (en) * 2005-03-31 2006-10-19 Hitachi Ltd Computer system, storage, and device control method
US7665143B2 (en) 2005-05-16 2010-02-16 Microsoft Corporation Creating secure process objects
JP2006350686A (en) 2005-06-16 2006-12-28 Seiko Epson Corp Instruction set simulator generation device and simulator generation method
WO2006138706A2 (en) 2005-06-17 2006-12-28 Computer Associates Think, Inc. System and method for identifying application resources
US7353369B1 (en) 2005-07-13 2008-04-01 Nvidia Corporation System and method for managing divergent threads in a SIMD architecture
US20070033592A1 (en) 2005-08-04 2007-02-08 International Business Machines Corporation Method, apparatus, and computer program product for adaptive process dispatch in a computer system having a plurality of processors
US7463268B2 (en) 2005-09-15 2008-12-09 Microsoft Corporation Providing 3D graphics across partitions of computing device
TWI348652B (en) 2005-10-17 2011-09-11 Via Tech Inc Driver assisted asynchronous command processing
KR100713505B1 (en) 2005-10-24 2007-04-30 삼성전자주식회사 Method for sharing preference channel in digital broadcasting reception terminal
US20070169114A1 (en) * 2005-11-09 2007-07-19 Microsoft Corporation Application suite installer with automatic detection of content and configurable options
US7330962B2 (en) 2005-11-14 2008-02-12 Nvidia Corporation Dynamic instruction sequence selection during scheduling
US7788468B1 (en) 2005-12-15 2010-08-31 Nvidia Corporation Synchronization of threads in a cooperative thread array
US7861060B1 (en) 2005-12-15 2010-12-28 Nvidia Corporation Parallel data processing systems and methods using cooperative thread arrays and thread identifier values to determine processing behavior
US7958509B2 (en) * 2005-12-21 2011-06-07 International Business Machines Corporation Method and system for scheduling of jobs
US9038040B2 (en) 2006-01-25 2015-05-19 International Business Machines Corporation Method for partitioning programs between a general purpose core and one or more accelerators
WO2007098424A2 (en) * 2006-02-17 2007-08-30 Qualcomm Incorporated System and method for multi-processor application support
US7441224B2 (en) 2006-03-09 2008-10-21 Motorola, Inc. Streaming kernel selection for reconfigurable processor
US20070294693A1 (en) * 2006-06-16 2007-12-20 Microsoft Corporation Scheduling thread execution among a plurality of processors based on evaluation of memory access data
US8549499B1 (en) 2006-06-16 2013-10-01 University Of Rochester Parallel programming using possible parallel regions and its language profiling compiler, run-time system and debugging support
US8756264B2 (en) 2006-06-20 2014-06-17 Google Inc. Parallel pseudorandom number generation
US8146066B2 (en) * 2006-06-20 2012-03-27 Google Inc. Systems and methods for caching compute kernels for an application running on a parallel-processing computer system
US8381202B2 (en) * 2006-06-20 2013-02-19 Google Inc. Runtime system for executing an application in a parallel-processing computer system
US8443348B2 (en) 2006-06-20 2013-05-14 Google Inc. Application program interface of a parallel-processing computer system that supports multiple programming languages
US8136104B2 (en) * 2006-06-20 2012-03-13 Google Inc. Systems and methods for determining compute kernels for an application in a parallel-processing computer system
WO2007149884A2 (en) 2006-06-20 2007-12-27 Google, Inc. A multi-thread high performance computing system
US8136102B2 (en) 2006-06-20 2012-03-13 Google Inc. Systems and methods for compiling an application for a parallel-processing computer system
US8375368B2 (en) 2006-06-20 2013-02-12 Google Inc. Systems and methods for profiling an application running on a parallel-processing computer system
US7814486B2 (en) * 2006-06-20 2010-10-12 Google Inc. Multi-thread runtime system
US8108844B2 (en) * 2006-06-20 2012-01-31 Google Inc. Systems and methods for dynamically choosing a processing element for a compute kernel
CN102113032B (en) 2006-06-23 2014-09-17 弗兰斯瓦斯·P·豪维列 Ductless fumehood system
CN100377042C (en) * 2006-07-04 2008-03-26 浙江大学 Method for saving energy by optimizing running frequency through combination of static compiler and dynamic frequency modulation techniques
US7750913B1 (en) 2006-10-24 2010-07-06 Adobe Systems Incorporated System and method for implementing graphics processing unit shader programs using snippets
US20080109795A1 (en) * 2006-11-02 2008-05-08 Nvidia Corporation C/c++ language extensions for general-purpose graphics processing unit
US8370818B2 (en) 2006-12-02 2013-02-05 Time Warner Cable Inc. Methods and apparatus for analyzing software interface usage
US7969444B1 (en) * 2006-12-12 2011-06-28 Nvidia Corporation Distributed rendering of texture data
US8719807B2 (en) 2006-12-28 2014-05-06 Intel Corporation Handling precompiled binaries in a hardware accelerated software transactional memory system
US8321849B2 (en) 2007-01-26 2012-11-27 Nvidia Corporation Virtual architecture and instruction set for parallel thread computing
US7925900B2 (en) * 2007-01-26 2011-04-12 Microsoft Corporation I/O co-processor coupled hybrid computing device
US8010954B2 (en) 2007-02-14 2011-08-30 The Mathworks, Inc. Parallel programming interface to dynamically allocate program portions
US7975001B1 (en) * 2007-02-14 2011-07-05 The Mathworks, Inc. Bi-directional communication in a parallel processing environment
US8549500B2 (en) 2007-02-14 2013-10-01 The Mathworks, Inc. Saving and loading graphical processing unit (GPU) arrays providing high computational capabilities in a computing environment
US7685409B2 (en) * 2007-02-21 2010-03-23 Qualcomm Incorporated On-demand multi-thread multimedia processor
JP2008226181A (en) 2007-03-15 2008-09-25 Fujitsu Ltd Parallel execution program, recording medium storing it, parallel execution device, and parallel execution method
US8286196B2 (en) 2007-05-03 2012-10-09 Apple Inc. Parallel runtime execution on multiple processors
EP3413198A1 (en) 2007-04-11 2018-12-12 Apple Inc. Data parallel computing on multiple processors
US8108633B2 (en) * 2007-04-11 2012-01-31 Apple Inc. Shared stream memory on multiple processors
US8276164B2 (en) * 2007-05-03 2012-09-25 Apple Inc. Data parallel computing on multiple processors
US8341611B2 (en) * 2007-04-11 2012-12-25 Apple Inc. Application interface on multiple processors
US7941791B2 (en) 2007-04-13 2011-05-10 Perry Wang Programming environment for heterogeneous processor resource integration
US8996846B2 (en) 2007-09-27 2015-03-31 Nvidia Corporation System, method and computer program product for performing a scan operation
US20090158299A1 (en) 2007-10-31 2009-06-18 Carter Ernst B System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed
US8286172B2 (en) 2008-10-02 2012-10-09 Nec Laboratories America, Inc. Systems and methods for implementing best-effort parallel computing frameworks
US9268613B2 (en) * 2010-12-20 2016-02-23 Microsoft Technology Licensing, Llc Scheduling and management in a personal datacenter

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998019238A1 (en) * 1996-10-28 1998-05-07 Unisys Corporation Heterogeneous symmetric multi-processing system
US6179489B1 (en) * 1997-04-04 2001-01-30 Texas Instruments Incorporated Devices, methods, systems and software products for coordination of computer main microprocessor and second microprocessor coupled thereto
EP0884678A2 (en) * 1997-06-11 1998-12-16 Digital Equipment Corporation Loader conditionally replacing a code sequence with a functionally-alike code sequence in an executable program intended for execution in different run-time environments
US20020066086A1 (en) * 2000-01-07 2002-05-30 Linden Randal N. Dynamic recompiler
US6588008B1 (en) * 2000-04-11 2003-07-01 International Business Machines Corporation Assembler tool for processor-coprocessor computer systems
US20040068716A1 (en) * 2002-10-04 2004-04-08 Quicksilver Technology, Inc. Retargetable compiler for multiple and different hardware platforms
EP1498824A2 (en) * 2003-06-30 2005-01-19 Microsoft Corporation System and method for parallel execution of data generation tasks
US20060132489A1 (en) * 2004-12-21 2006-06-22 Hewlett-Packard Development Company, L.P. Remote computing
US20060143615A1 (en) * 2004-12-28 2006-06-29 Seiko Epson Corporation Multimedia processing system and multimedia processing method
US20070033572A1 (en) * 2005-08-04 2007-02-08 International Business Machines Corporation Method, apparatus, and computer program product for adaptively generating code for a computer program

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
"THE PEAKSTREAM PLATFORM: High Productivity Software development for Multi-Core Processors", PEAKSTREAM, 5 March 2007 (2007-03-05), pages 1 - 12, XP002502799 *
A. SHILOV: "providing an application for different architectures in a single application program file by providing an architecture-independent file header which selects the appropriate architecture-dependent code.", X-BIT LABORATORIES, 20 June 2005 (2005-06-20), pages 1 - 2, XP002554367, Retrieved from the Internet <URL:http://www.xbitlabs.com/news/video/display/20050620133439.html> [retrieved on 20091105] *
GUNSALUS G L: "Task/CPU Affinity Design", IBM TECHNICAL DISCLOSURE BULLETIN, IBM CORP. NEW YORK, US, vol. 16, no. 2, 1 July 1973 (1973-07-01), pages 654 - 657, XP002406010, ISSN: 0018-8689 *
INTERNET ARCHIVE WAYBACK MACHINE, 6 November 2008 (2008-11-06), pages 1 - 2, XP007906241 *
J. STOKES: "Peakstream unveils multicore and CPU/GPU", 18 September 2006 (2006-09-18), pages 1 - 3, XP002502800, Retrieved from the Internet <URL:http://arstechnica.com/news.ars/post/20060918-7763.html> [retrieved on 20081105] *
M. MCCOOL: "Data-Parallel Programming on the Cell BE and the GPU using the RapidMind Development Platform", GSPX MULTICORE APPLICATIONS CONFERENCE, 31 October 2006 (2006-10-31) - 2 November 2006 (2006-11-02), Santa Clara, XP002502801, Retrieved from the Internet <URL:http://www.rapidmind.net/pdfs/WPdprm.pdf> [retrieved on 20081029] *
NIGEL JACOB ET AL: "Offloading IDS Computation to the GPU", COMPUTER SECURITY APPLICATIONS CONFERENCE, 2006. ACSAC '06. 22ND ANNUAL, IEEE, PI, 1 December 2006 (2006-12-01), pages 371 - 380, XP031033576, ISBN: 978-0-7695-2716-1 *
TARDITI D ET AL: "Accelerator: using data parallelism to program GPUs for general-purpose uses", ASPLOS'06, SAN JOSE, CALIFORNIA, 21 October 2006 (2006-10-21), pages 325 - 335, XP002500986 *

Also Published As

Publication number Publication date
AU2008239697A1 (en) 2008-10-23
EP2146283A3 (en) 2016-05-25
US20080276262A1 (en) 2008-11-06
US20130055272A1 (en) 2013-02-28
CN101802789B (en) 2014-05-07
US9436526B2 (en) 2016-09-06
EP2140352A2 (en) 2010-01-06
US20170031691A1 (en) 2017-02-02
AU2008239697B2 (en) 2011-10-13
US11544075B2 (en) 2023-01-03
CN101802789A (en) 2010-08-11
US9304834B2 (en) 2016-04-05
US20130063451A1 (en) 2013-03-14
US20150317192A1 (en) 2015-11-05
US8286196B2 (en) 2012-10-09
WO2008127623A2 (en) 2008-10-23
EP2146283B1 (en) 2019-11-06
US9052948B2 (en) 2015-06-09
EP2140352B1 (en) 2019-09-25
EP2146283A2 (en) 2010-01-20
US9471401B2 (en) 2016-10-18
US20140201746A1 (en) 2014-07-17

Similar Documents

Publication Publication Date Title
WO2008127623A3 (en) Parallel runtime execution on multiple processors
WO2008127610A3 (en) Application interface on multiple processors
IN2012DN00929A (en)
WO2006083543A3 (en) Multithreading processor including thread scheduler based on instruction stall likelihood prediction
US9891949B2 (en) System and method for runtime scheduling of GPU tasks
WO2008127622A3 (en) Data parallel computing on multiple processors
TW200802098A (en) Scheduling in a multicore architecture
US20110219221A1 (en) Dynamic warp subdivision for integrated branch and memory latency divergence tolerance
WO2010004474A3 (en) Efficient parallel computation of dependency problems
WO2010114776A3 (en) Parallel programming and execution systems and techniques
IN2014CN04203A (en)
WO2012112302A3 (en) Parallel processing in human-machine interface applications
SG144869A1 (en) Virtual architecture and instruction set for parallel thread computing
WO2013184380A3 (en) Scheduling concurrent applications in multithreaded processors
WO2013006566A3 (en) Method and apparatus for scheduling of instructions in a multistrand out-of-order processor
WO2016028519A3 (en) Shader program execution techniques for use in graphics processing
TW200604940A (en) Multithreaded processor with multiple concurrent pipelines per thread
GB2505818A (en) Graphics processor with non-blocking concurrent architecture
TW201714103A (en) Application scheduling in heterogeneous multiprocessor computing platforms for maximal predicted performance gains
WO2007098424A3 (en) System and method for multi-processor application support
JP2016532180A5 (en)
WO2009118731A3 (en) Design simulation using parallel processors
GB2494331A (en) Hardware assist thread
WO2008092883A3 (en) Speculative throughput computing
GB2468461A (en) Unified processor architecture for processing general and graphics workload

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880011684.8

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2008239697

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 2008239697

Country of ref document: AU

Date of ref document: 20080409

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2008754080

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08754080

Country of ref document: EP

Kind code of ref document: A2