ATE453894T1 - Vorrichtung und verfahren für einen automatischen thread-partition compiler - Google Patents

Vorrichtung und verfahren für einen automatischen thread-partition compiler

Info

Publication number
ATE453894T1
ATE453894T1 AT04810519T AT04810519T ATE453894T1 AT E453894 T1 ATE453894 T1 AT E453894T1 AT 04810519 T AT04810519 T AT 04810519T AT 04810519 T AT04810519 T AT 04810519T AT E453894 T1 ATE453894 T1 AT E453894T1
Authority
AT
Austria
Prior art keywords
application program
automatic thread
compiler
threads
memory access
Prior art date
Application number
AT04810519T
Other languages
English (en)
Inventor
Long Li
Cotton Seed
Bo Huang
William Harrison
Jinquan Dai
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of ATE453894T1 publication Critical patent/ATE453894T1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/456Parallelism detection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
AT04810519T 2003-11-14 2004-11-05 Vorrichtung und verfahren für einen automatischen thread-partition compiler ATE453894T1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/714,198 US20050108695A1 (en) 2003-11-14 2003-11-14 Apparatus and method for an automatic thread-partition compiler
PCT/US2004/037161 WO2005050445A2 (en) 2003-11-14 2004-11-05 An apparatus and method for an automatic thread-partition compiler

Publications (1)

Publication Number Publication Date
ATE453894T1 true ATE453894T1 (de) 2010-01-15

Family

ID=34573921

Family Applications (1)

Application Number Title Priority Date Filing Date
AT04810519T ATE453894T1 (de) 2003-11-14 2004-11-05 Vorrichtung und verfahren für einen automatischen thread-partition compiler

Country Status (6)

Country Link
US (1) US20050108695A1 (de)
EP (1) EP1683010B1 (de)
CN (1) CN1906578B (de)
AT (1) ATE453894T1 (de)
DE (1) DE602004024917D1 (de)
WO (1) WO2005050445A2 (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996827B2 (en) * 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
JP4178278B2 (ja) * 2004-05-25 2008-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーション コンパイラ装置、最適化方法、コンパイラプログラム、及び記録媒体
US7392516B2 (en) * 2004-08-05 2008-06-24 International Business Machines Corporation Method and system for configuring a dependency graph for dynamic by-pass instruction scheduling
US20060200811A1 (en) * 2005-03-07 2006-09-07 Cheng Stephen M Method of generating optimised stack code
US8769513B2 (en) * 2005-11-18 2014-07-01 Intel Corporation Latency hiding of traces using block coloring
US7752611B2 (en) * 2005-12-10 2010-07-06 Intel Corporation Speculative code motion for memory latency hiding
US8453131B2 (en) * 2005-12-24 2013-05-28 Intel Corporation Method and apparatus for ordering code based on critical sections
US7926037B2 (en) * 2006-01-19 2011-04-12 Microsoft Corporation Hiding irrelevant facts in verification conditions
WO2007085121A1 (en) * 2006-01-26 2007-08-02 Intel Corporation Scheduling multithreaded programming instructions based on dependency graph
US8527971B2 (en) * 2006-03-30 2013-09-03 Atostek Oy Parallel program generation method
US8201157B2 (en) * 2006-05-24 2012-06-12 Oracle International Corporation Dependency checking and management of source code, generated source code files, and library files
JP2008097249A (ja) * 2006-10-11 2008-04-24 Internatl Business Mach Corp <Ibm> プログラム中の命令列をより高速な命令に置換する技術
GB2443507A (en) * 2006-10-24 2008-05-07 Advanced Risc Mach Ltd Debugging parallel programs
US8037466B2 (en) * 2006-12-29 2011-10-11 Intel Corporation Method and apparatus for merging critical sections
US8275979B2 (en) * 2007-01-30 2012-09-25 International Business Machines Corporation Initialization of a data processing system
US7890943B2 (en) * 2007-03-30 2011-02-15 Intel Corporation Code optimization based on loop structures
US8745606B2 (en) * 2007-09-28 2014-06-03 Intel Corporation Critical section ordering for multiple trace applications
CN101482831B (zh) * 2008-01-08 2013-05-15 国际商业机器公司 对工作线程与辅助线程进行相伴调度的方法和设备
US20090193417A1 (en) * 2008-01-24 2009-07-30 Nec Laboratories America, Inc. Tractable dataflow analysis for concurrent programs via bounded languages
US8356289B2 (en) * 2008-03-26 2013-01-15 Avaya Inc. Efficient encoding of instrumented data in real-time concurrent systems
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
US9026993B2 (en) * 2008-06-27 2015-05-05 Microsoft Technology Licensing, Llc Immutable types in imperitive language
US9569282B2 (en) * 2009-04-24 2017-02-14 Microsoft Technology Licensing, Llc Concurrent mutation of isolated object graphs
JP5463076B2 (ja) * 2009-05-28 2014-04-09 パナソニック株式会社 マルチスレッドプロセッサ
US8533695B2 (en) * 2010-09-28 2013-09-10 Microsoft Corporation Compile-time bounds checking for user-defined types
KR101649925B1 (ko) * 2010-10-13 2016-08-31 삼성전자주식회사 멀티 트레드 프로그램에서 변수의 단독 메모리 접근여부를 분석하는 방법
WO2013091908A1 (de) * 2011-12-20 2013-06-27 Siemens Aktiengesellschaft Verfahren und vorrichtung zum einfügen von synchronisationsbefehlen in programmabschnitte eines programms
US20130297181A1 (en) * 2012-05-04 2013-11-07 Gm Global Technoloby Operations Llc Adaptive engine control in response to a biodiesel fuel blend
CN102968295A (zh) * 2012-11-28 2013-03-13 上海大学 基于加权控制流图的前瞻线程划分方法
CN103699365B (zh) * 2014-01-07 2016-10-05 西南科技大学 一种众核处理器结构上避免无关依赖的线程划分方法
CN111444430B (zh) * 2020-03-30 2022-09-27 腾讯科技(深圳)有限公司 内容推荐方法、装置、设备和存储介质
CN118747107B (zh) * 2024-06-14 2025-09-30 安徽师范大学 存算一体结构下的多线程划分方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026240A (en) * 1996-02-29 2000-02-15 Sun Microsystems, Inc. Method and apparatus for optimizing program loops containing omega-invariant statements
US6044221A (en) * 1997-05-09 2000-03-28 Intel Corporation Optimizing code based on resource sensitive hoisting and sinking
JP2000207223A (ja) * 1999-01-12 2000-07-28 Matsushita Electric Ind Co Ltd 並列処理向けのプログラム処理方法および装置、並びに並列処理向けのプログラム処理を実行するプログラムを記録した記録媒体および並列処理向けの命令列を記録した記録媒体
WO2001098898A1 (en) * 2000-06-21 2001-12-27 Bops, Inc. Methods and apparatus for indirect vliw memory allocation
US20040154009A1 (en) * 2002-04-29 2004-08-05 Hewlett-Packard Development Company, L.P. Structuring program code

Also Published As

Publication number Publication date
EP1683010A2 (de) 2006-07-26
CN1906578B (zh) 2010-11-17
WO2005050445A3 (en) 2005-10-06
DE602004024917D1 (de) 2010-02-11
CN1906578A (zh) 2007-01-31
US20050108695A1 (en) 2005-05-19
WO2005050445A2 (en) 2005-06-02
EP1683010B1 (de) 2009-12-30

Similar Documents

Publication Publication Date Title
DE602004024917D1 (de) Vorrichtung und verfahren für einen automatischen thread-partition compiler
Harris Optimizing parallel reduction in CUDA
US9747107B2 (en) System and method for compiling or runtime executing a fork-join data parallel program with function calls on a single-instruction-multiple-thread processor
Singh et al. Energy-efficient run-time mapping and thread partitioning of concurrent OpenCL applications on CPU-GPU MPSoCs
WO2005103887A3 (en) Methods and apparatus for address map optimization on a multi-scalar extension
TW200613980A (en) Simulating multiported memories using lower port count memories
TW200710723A (en) Dual thread processor
ATE540353T1 (de) Einteilen von threads in einem prozessor
ATE368891T1 (de) Verfahren und vorrichtungen zur stride- profilierung einer softwareanwendung
WO2009075116A1 (ja) プログラムデバッグ方法、プログラム変換方法及びそれを用いるプログラムデバッグ装置、プログラム変換装置並びに記憶媒体
GB2508312A (en) Instruction and logic to provide vector load-op/store-op with stride functionality
GB2520571A (en) A data processing apparatus and method for performing vector processing
DE102014003671A1 (de) Prozessoren, verfahren und systeme zum entspannen der synchronisation von zugriffen auf einen gemeinsam genutzten speicher
WO2007002550A3 (en) Primitives to enhance thread-level speculation
EA201390868A1 (ru) Способ и система для вычислительного ускорения обработки сейсмических данных
WO2008003536A3 (en) Method, system and computer program for determining the processing order of a plurality of events
CN106406820A (zh) 一种网络处理器微引擎的多发射指令并行处理方法及装置
ATE403903T1 (de) Kontext-scheduling
Hudson et al. A configurable Random Instruction Sequence (RIS) Tool for memory coherence in multi-processor systems
Lemeire et al. Microbenchmarks for gpu characteristics: The occupancy roofline and the pipeline model
ATE463011T1 (de) Hierarchische prozessorarchitektur zur videoverarbeitung
Caragea et al. Resource-aware compiler prefetching for many-cores
JP2013527549A (ja) スレッドレベル投機における動的データ同期
MX2008000623A (es) Sistema y metodo para controlar multiples hilos de ejecucion de programa dentro de un procesador de hilos de ejecucion multiples.
Giles et al. Notes on using the NVIDIA 8800 GTX graphics card

Legal Events

Date Code Title Description
RER Ceased as to paragraph 5 lit. 3 law introducing patent treaties