WO2004042929A3 - Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms - Google Patents

Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms Download PDF

Info

Publication number
WO2004042929A3
WO2004042929A3 PCT/US2003/030988 US0330988W WO2004042929A3 WO 2004042929 A3 WO2004042929 A3 WO 2004042929A3 US 0330988 W US0330988 W US 0330988W WO 2004042929 A3 WO2004042929 A3 WO 2004042929A3
Authority
WO
WIPO (PCT)
Prior art keywords
processor
hardware
produce
compilation
level
Prior art date
Application number
PCT/US2003/030988
Other languages
French (fr)
Other versions
WO2004042929A2 (en
Inventor
Daniel Poznanovic
Jeffrey Hammes
Lisa Krause
Jon Steidel
David Barker
Jeffrey Paul Brooks
Original Assignee
Src Computers 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 Src Computers Inc filed Critical Src Computers Inc
Priority to EP03759616A priority Critical patent/EP1556758A4/en
Priority to AU2003275340A priority patent/AU2003275340A1/en
Priority to CA002502892A priority patent/CA2502892A1/en
Priority to JP2004549981A priority patent/JP4482454B2/en
Publication of WO2004042929A2 publication Critical patent/WO2004042929A2/en
Publication of WO2004042929A3 publication Critical patent/WO2004042929A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • 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

Abstract

A system and method for compiling computer code written to conform to a high-level language standard to generate a unified executable containing the hardware logic for a reconfigurable processor, the instructions for a traditional processor (instruction processor), and the associated support code for managing execution on a hybrid hardware platform. Explicit knowledge of writing hardware-level design code is not required since the problem can be represented in a high-level language syntax. A top-level driver invokes a standard-conforming compiler that provides syntactic and a semantic analysis. The driver invokes a compilation phase that translates the CFG representation being generated into a hybrid controlflow-dataflow graph representation representing optimized pipelines logic which may be processed into a hardware description representation. The driver invokes a hardware description language (HDL) compiler to produce a netlist file that can be used to start the place-and-route compilation needed to produce a bitstream for the reconfigurable computer. The programming environment then provides support for taking the output from the compilation driver and combining all the necessary components together to produce a unified executable capable of running on both the instruction processor and reconfigurable processor.
PCT/US2003/030988 2002-10-31 2003-09-30 Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms WO2004042929A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP03759616A EP1556758A4 (en) 2002-10-31 2003-09-30 Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms
AU2003275340A AU2003275340A1 (en) 2002-10-31 2003-09-30 Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms
CA002502892A CA2502892A1 (en) 2002-10-31 2003-09-30 Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms
JP2004549981A JP4482454B2 (en) 2002-10-31 2003-09-30 Process for converting programs in high-level programming languages into unified executable elements of hybrid computing platforms

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/285,299 2002-10-31
US10/285,299 US6983456B2 (en) 2002-10-31 2002-10-31 Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms

Publications (2)

Publication Number Publication Date
WO2004042929A2 WO2004042929A2 (en) 2004-05-21
WO2004042929A3 true WO2004042929A3 (en) 2004-11-25

Family

ID=32175150

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/030988 WO2004042929A2 (en) 2002-10-31 2003-09-30 Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms

Country Status (6)

Country Link
US (3) US6983456B2 (en)
EP (1) EP1556758A4 (en)
JP (2) JP4482454B2 (en)
AU (1) AU2003275340A1 (en)
CA (1) CA2502892A1 (en)
WO (1) WO2004042929A2 (en)

Families Citing this family (220)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6662354B1 (en) * 1999-01-29 2003-12-09 Unisys Corporation Determining destinations of a dynamic branch
US7337437B2 (en) * 1999-12-01 2008-02-26 International Business Machines Corporation Compiler optimisation of source code by determination and utilization of the equivalence of algebraic expressions in the source code
US8176108B2 (en) * 2000-06-20 2012-05-08 International Business Machines Corporation Method, apparatus and computer program product for network design and analysis
US7640582B2 (en) 2003-04-16 2009-12-29 Silicon Graphics International Clustered filesystem for mix of trusted and untrusted nodes
US8010558B2 (en) 2001-06-05 2011-08-30 Silicon Graphics International Relocation of metadata server with outstanding DMAPI requests
US7765329B2 (en) * 2002-06-05 2010-07-27 Silicon Graphics International Messaging between heterogeneous clients of a storage area network
US20040139125A1 (en) 2001-06-05 2004-07-15 Roger Strassburg Snapshot copy of data volume during data access
US7617292B2 (en) 2001-06-05 2009-11-10 Silicon Graphics International Multi-class heterogeneous clients in a clustered filesystem
US7024663B2 (en) * 2002-07-10 2006-04-04 Micron Technology, Inc. Method and system for generating object code to facilitate predictive memory retrieval
US6983456B2 (en) * 2002-10-31 2006-01-03 Src Computers, Inc. Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms
US7051322B2 (en) * 2002-12-06 2006-05-23 @Stake, Inc. Software analysis framework
JP3956131B2 (en) * 2002-12-26 2007-08-08 インターナショナル・ビジネス・マシーンズ・コーポレーション Program conversion apparatus, program conversion method, and program
US7143376B1 (en) * 2003-03-04 2006-11-28 Xilinx, Inc. Method and apparatus for design verification with equivalency check
SE0300742D0 (en) * 2003-03-17 2003-03-17 Flow Computing Ab Data Flow Machine
US7302677B2 (en) * 2003-05-08 2007-11-27 Microsoft Corporation Event driven graph explorer for model-based testing of software
JP2005018626A (en) * 2003-06-27 2005-01-20 Ip Flex Kk Method for generating parallel processing system
US7263692B2 (en) * 2003-06-30 2007-08-28 Intel Corporation System and method for software-pipelining of loops with sparse matrix routines
US7316009B2 (en) * 2003-08-06 2008-01-01 National Instruments Corporation Emulation of a programmable hardware element
US7171544B2 (en) * 2003-12-15 2007-01-30 International Business Machines Corporation Run-time parallelization of loops in computer programs by access patterns
JP4275013B2 (en) * 2004-06-21 2009-06-10 三洋電機株式会社 Data flow graph processing device, processing device, reconfigurable circuit.
US7464375B2 (en) * 2004-06-24 2008-12-09 International Business Machines Corporation Method for flattening hierarchically structured flows
US8044951B1 (en) 2004-07-02 2011-10-25 Nvidia Corporation Integer-based functionality in a graphics shading language
US7958498B1 (en) 2004-07-02 2011-06-07 Nvidia Corporation Methods and systems for processing a geometry shader program developed in a high-level shading language
US7426724B2 (en) * 2004-07-02 2008-09-16 Nvidia Corporation Optimized chaining of vertex and fragment programs
US7746347B1 (en) * 2004-07-02 2010-06-29 Nvidia Corporation Methods and systems for processing a geometry shader program developed in a high-level shading language
US7386825B2 (en) 2004-07-29 2008-06-10 International Business Machines Corporation Method, system and program product supporting presentation of a simulated or hardware system including configuration entities
US7389490B2 (en) * 2004-07-29 2008-06-17 International Business Machines Corporation Method, system and program product for providing a configuration specification language supporting selective presentation of configuration entities
US7493627B2 (en) * 2004-08-19 2009-02-17 Lenovo (Singapore) Pte. Ltd. System and method for configuring computer for operation
US7506331B2 (en) * 2004-08-30 2009-03-17 International Business Machines Corporation Method and apparatus for determining the profitability of expanding unpipelined instructions
US7941794B2 (en) * 2004-08-30 2011-05-10 Sanyo Electric Co., Ltd. Data flow graph processing method and processing apparatus provided with reconfigurable circuit
US7584465B1 (en) * 2004-09-20 2009-09-01 The Mathworks, Inc. Memory mapping for single and multi-processing implementations of code generated from a block diagram model
US8984496B2 (en) * 2004-09-20 2015-03-17 The Mathworks, Inc. Extensible internal representation of systems with parallel and sequential implementations
US7725887B2 (en) * 2004-12-22 2010-05-25 Intel Corporation Method and system for reducing program code size
US8132148B2 (en) 2005-04-29 2012-03-06 Microsoft Corporation XML application framework
US20060245096A1 (en) * 2005-04-29 2006-11-02 Microsoft Corporation Application framework phasing model
US8275793B2 (en) * 2005-04-29 2012-09-25 Microsoft Corporation Transaction transforms
US8046737B2 (en) * 2005-04-29 2011-10-25 Microsoft Corporation XML application framework
US8418132B2 (en) * 2005-04-29 2013-04-09 Microsoft Corporation Application description language
US7840914B1 (en) 2005-05-13 2010-11-23 Massachusetts Institute Of Technology Distributing computations in a parallel processing environment
US8521752B2 (en) 2005-06-03 2013-08-27 Osr Open Systems Resources, Inc. Systems and methods for arbitrary data transformations
US9774699B2 (en) * 2005-09-20 2017-09-26 The Mathworks, Inc. System and method for transforming graphical models
JP4388518B2 (en) * 2005-11-01 2009-12-24 株式会社ソニー・コンピュータエンタテインメント Thread debugging device, thread debugging method and program
US7716100B2 (en) * 2005-12-02 2010-05-11 Kuberre Systems, Inc. Methods and systems for computing platform
TW200725411A (en) * 2005-12-30 2007-07-01 Tatung Co Ltd Method for automatically translating a high level programming language into an extended activity diagram
US7813823B2 (en) * 2006-01-17 2010-10-12 Sigmatel, Inc. Computer audio system and method
US8074166B2 (en) * 2006-04-04 2011-12-06 Microsoft Corporation XSLT/XPATH focus inference for optimized XSLT implementation
US20070245325A1 (en) * 2006-04-04 2007-10-18 Microsoft Corporation Type inference for optimized XSLT implementation
JP2007286671A (en) * 2006-04-12 2007-11-01 Fujitsu Ltd Software/hardware division program and division method
WO2007139840A2 (en) * 2006-05-24 2007-12-06 Syver, Llc Method and tool for automatic verification of software protocols
US7788658B2 (en) * 2006-05-31 2010-08-31 International Business Machines Corporation Computer code partitioning for enhanced performance
WO2007145680A1 (en) * 2006-06-13 2007-12-21 Microsoft Corporation Declarative management framework
US7730068B2 (en) * 2006-06-13 2010-06-01 Microsoft Corporation Extensible data collectors
US7970746B2 (en) * 2006-06-13 2011-06-28 Microsoft Corporation Declarative management framework
US8134566B1 (en) 2006-07-28 2012-03-13 Nvidia Corporation Unified assembly instruction set for graphics processing
US7512748B1 (en) 2006-08-17 2009-03-31 Osr Open Systems Resources, Inc. Managing lock rankings
US8539228B1 (en) 2006-08-24 2013-09-17 Osr Open Systems Resources, Inc. Managing access to a resource
JP2008059279A (en) * 2006-08-31 2008-03-13 Internatl Business Mach Corp <Ibm> Technique for optimizing character string output processing
US7949907B2 (en) * 2006-10-03 2011-05-24 Wipro Limited Method and device for data communication
US8843906B1 (en) * 2006-10-16 2014-09-23 The Mathworks, Inc. Inferring data types from compiler call site
US7992139B2 (en) 2006-11-29 2011-08-02 International Business Machines Corporation Method, system and program product for transforming a single language program into multiple language programs
US8656381B2 (en) * 2006-12-07 2014-02-18 International Business Machines Corporation Presenting machine instructions in a machine-independent tree form suitable for post-link optimizations
US8291400B1 (en) 2007-02-07 2012-10-16 Tilera Corporation Communication scheduling for parallel processing architectures
US20080209405A1 (en) * 2007-02-28 2008-08-28 Microsoft Corporation Distributed debugging for a visual programming language
EP1965300A1 (en) * 2007-03-02 2008-09-03 Siemens Aktiengesellschaft A method for validating a graphical workflow translation
US8024433B2 (en) * 2007-04-24 2011-09-20 Osr Open Systems Resources, Inc. Managing application resources
US9658840B2 (en) 2007-05-22 2017-05-23 Philips Lighting Holding B.V. Compiler and compiling method for a networked control system comprising a plurality of devices
US7996798B2 (en) * 2007-05-24 2011-08-09 Microsoft Corporation Representing binary code as a circuit
US8196123B2 (en) * 2007-06-26 2012-06-05 Microsoft Corporation Object model for transactional memory
US7761690B2 (en) * 2007-07-26 2010-07-20 International Business Machines Corporation Method, apparatus and computer program product for dynamically selecting compiled instructions
JP4989354B2 (en) * 2007-08-09 2012-08-01 三洋電機株式会社 Data flow graph generation device, setting data generation device, processing device, and data flow graph generation method
US8122229B2 (en) 2007-09-12 2012-02-21 Convey Computer Dispatch mechanism for dispatching instructions from a host processor to a co-processor
US8561037B2 (en) * 2007-08-29 2013-10-15 Convey Computer Compiler for generating an executable comprising instructions for a plurality of different instruction sets
US8095735B2 (en) * 2008-08-05 2012-01-10 Convey Computer Memory interleave for heterogeneous computing
US8156307B2 (en) * 2007-08-20 2012-04-10 Convey Computer Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set
US9710384B2 (en) 2008-01-04 2017-07-18 Micron Technology, Inc. Microprocessor architecture having alternative memory access paths
US9015399B2 (en) 2007-08-20 2015-04-21 Convey Computer Multiple data channel memory module architecture
US7949693B1 (en) 2007-08-23 2011-05-24 Osr Open Systems Resources, Inc. Log-structured host data storage
US20090064092A1 (en) * 2007-08-29 2009-03-05 Microsoft Corporation Visual programming language optimization
US8185883B2 (en) * 2007-09-14 2012-05-22 International Business Machines Corporation Instruction exploitation through loader late fix-up
US7954093B2 (en) * 2007-09-14 2011-05-31 International Business Machines Corporation Load time instruction substitution
US20090112932A1 (en) * 2007-10-26 2009-04-30 Microsoft Corporation Visualizing key performance indicators for model-based applications
US7865862B2 (en) * 2007-11-08 2011-01-04 International Business Machines Corporation Design structure for dynamically selecting compiled instructions
US8402449B1 (en) 2008-01-10 2013-03-19 The Mathworks, Inc. Technique for automatically assigning placement for pipeline registers within code generated from a program specification
US20090193400A1 (en) * 2008-01-30 2009-07-30 Ivan Baev Interprocedural register allocation for global variables
EP2257873A4 (en) * 2008-02-12 2013-05-15 Scrutiny Inc Systems and methods for information flow analysis
US8181155B2 (en) * 2008-02-29 2012-05-15 Microsoft Corporation Unified expression and location framework
US8516435B2 (en) * 2008-06-19 2013-08-20 International Business Machines Corporation System and method for generating implementation artifacts for contextually-aware business applications
US20100070951A1 (en) * 2008-09-15 2010-03-18 Horizon Semiconductors Ltd. Generic assembler
US8423980B1 (en) * 2008-09-18 2013-04-16 Google Inc. Methods for handling inlined functions using sample profiles
US8327344B2 (en) * 2008-10-14 2012-12-04 International Business Machines Corporation Array reference safety analysis in the presence of loops with conditional control flow
US9652231B2 (en) * 2008-10-14 2017-05-16 International Business Machines Corporation All-to-all permutation of vector elements based on a permutation pattern encoded in mantissa and exponent bits in a floating-point SIMD architecture
US8423983B2 (en) * 2008-10-14 2013-04-16 International Business Machines Corporation Generating and executing programs for a floating point single instruction multiple data instruction set architecture
US8205066B2 (en) 2008-10-31 2012-06-19 Convey Computer Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor
US20100115233A1 (en) * 2008-10-31 2010-05-06 Convey Computer Dynamically-selectable vector register partitioning
US8370822B2 (en) * 2008-11-20 2013-02-05 Apple Inc. Compiling techniques for providing limited accuracy and enhanced performance granularity
US8863101B2 (en) * 2008-12-10 2014-10-14 International Business Machines Corporation Compiler generator
US8667476B1 (en) * 2009-01-20 2014-03-04 Adaptmicrosys LLC Instruction grouping and ungrouping apparatus and method for an adaptive microprocessor system
KR101553652B1 (en) * 2009-02-18 2015-09-16 삼성전자 주식회사 Apparatus and method for compiling instruction for heterogeneous processor
US8185693B2 (en) * 2009-03-17 2012-05-22 Microsoft Corporation Cache-line aware collection for runtime environments
US8356290B2 (en) * 2009-04-27 2013-01-15 National Instruments Corporation Conversion of a class oriented data flow program with inheritance to a structure oriented data flow program
US8423977B2 (en) * 2009-04-27 2013-04-16 National Instruments Corporation Implementing a class oriented data flow program on a programmable hardware element
US8311683B2 (en) * 2009-04-29 2012-11-13 International Business Machines Corporation Processor cooling management
US8601458B2 (en) * 2009-05-14 2013-12-03 International Business Machines Corporation Profile-driven data stream processing
US8490072B2 (en) 2009-06-23 2013-07-16 International Business Machines Corporation Partitioning operator flow graphs
US8191019B2 (en) * 2009-07-17 2012-05-29 Achronix Semiconductor Corporation Non-predicated to predicated conversion of asynchronous representations
US9367582B2 (en) * 2009-08-07 2016-06-14 International Business Machines Corporation Systems and methods involving information objects
US8423745B1 (en) 2009-11-16 2013-04-16 Convey Computer Systems and methods for mapping a neighborhood of data to general registers of a processing element
EP2504759A4 (en) 2009-11-25 2013-08-07 Freescale Semiconductor Inc Method and system for enabling access to functionality provided by resources outside of an operating system environment
JP4959774B2 (en) * 2009-11-30 2012-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Application generation system, method and program
US8364946B2 (en) * 2010-03-22 2013-01-29 Ishebabi Harold Reconfigurable computing system and method of developing application for deployment on the same
US8683451B1 (en) * 2010-04-30 2014-03-25 The United States Of America As Represented By The Secretary Of The Navy System and method for translating software code
US9424010B2 (en) 2010-08-30 2016-08-23 International Business Machines Corporation Extraction of functional semantics and isolated dataflow from imperative object oriented languages
US8713518B2 (en) * 2010-11-10 2014-04-29 SRC Computers, LLC System and method for computational unification of heterogeneous implicit and explicit processing elements
US9043764B2 (en) * 2011-03-09 2015-05-26 International Business Machines Corporation Cross-platform compiler for data transforms
US10089277B2 (en) 2011-06-24 2018-10-02 Robert Keith Mykland Configurable circuit array
US20130007517A1 (en) * 2011-06-30 2013-01-03 International Business Machines Corporation Checkpoint Recovery Utility for Programs and Compilers
US9335977B2 (en) * 2011-07-28 2016-05-10 National Instruments Corporation Optimization of a data flow program based on access pattern information
US8799864B2 (en) * 2011-09-13 2014-08-05 Synopsys, Inc. Providing SystemVerilog testing harness for a standardized testing language
US8671397B2 (en) * 2011-09-27 2014-03-11 International Business Machines Corporation Selective data flow analysis of bounded regions of computer software applications
US8903874B2 (en) 2011-11-03 2014-12-02 Osr Open Systems Resources, Inc. File system directory attribute correction
US8806452B2 (en) 2011-11-10 2014-08-12 International Business Machines Corporation Transformation of computer programs and eliminating errors
US9633160B2 (en) 2012-06-11 2017-04-25 Robert Keith Mykland Method of placement and routing in a reconfiguration of a dynamically reconfigurable processor
US9304770B2 (en) * 2011-11-21 2016-04-05 Robert Keith Mykland Method and system adapted for converting software constructs into resources for implementation by a dynamically reconfigurable processor
US9032380B1 (en) * 2011-12-05 2015-05-12 The Mathworks, Inc. Identifying function calls and object method calls
US20130157639A1 (en) 2011-12-16 2013-06-20 SRC Computers, LLC Mobile electronic devices utilizing reconfigurable processing techniques to enable higher speed applications with lowered power consumption
WO2013100783A1 (en) 2011-12-29 2013-07-04 Intel Corporation Method and system for control signalling in a data path module
US9361079B2 (en) * 2012-01-30 2016-06-07 Nvidia Corporation Method for compiling a parallel thread execution program for general execution
US20130212366A1 (en) * 2012-02-09 2013-08-15 Altera Corporation Configuring a programmable device using high-level language
US10430190B2 (en) 2012-06-07 2019-10-01 Micron Technology, Inc. Systems and methods for selectively controlling multithreaded execution of executable code segments
US10558437B1 (en) * 2013-01-22 2020-02-11 Altera Corporation Method and apparatus for performing profile guided optimization for high-level synthesis
US20160239461A1 (en) * 2013-03-01 2016-08-18 Synaptic Engines, Llc Reconfigurable graph processor
US9323502B2 (en) 2013-03-15 2016-04-26 Nvidia Corporation System, method, and computer program product for altering a line of code
US9015643B2 (en) 2013-03-15 2015-04-21 Nvidia Corporation System, method, and computer program product for applying a callback function to data values
US20140278328A1 (en) 2013-03-15 2014-09-18 Nvidia Corporation System, method, and computer program product for constructing a data flow and identifying a construct
US9171115B2 (en) 2013-04-10 2015-10-27 Nvidia Corporation System, method, and computer program product for translating a common hardware database into a logic code model
US9015646B2 (en) 2013-04-10 2015-04-21 Nvidia Corporation System, method, and computer program product for translating a hardware language into a source database
US9021408B2 (en) * 2013-04-10 2015-04-28 Nvidia Corporation System, method, and computer program product for translating a source database into a common hardware database
AU2014257132B2 (en) 2013-04-23 2018-03-29 Ab Initio Technology Llc Controlling tasks performed by a computing system
US9177646B2 (en) 2013-05-06 2015-11-03 International Business Machines Corporation Implementing computational memory from content-addressable memory
US10102039B2 (en) 2013-05-17 2018-10-16 Entit Software Llc Converting a hybrid flow
US10741226B2 (en) 2013-05-28 2020-08-11 Fg Src Llc Multi-processor computer architecture incorporating distributed multi-ported common memory modules
US8806403B1 (en) * 2013-06-21 2014-08-12 Altera Corporation Efficient configuration of an integrated circuit device using high-level language
US9075624B2 (en) * 2013-06-24 2015-07-07 Xilinx, Inc. Compilation of system designs
US9104432B2 (en) * 2013-06-24 2015-08-11 International Business Machines Corporation Extracting stream graph structure in a computer language by pre-executing a deterministic subset
US10515118B2 (en) 2013-06-24 2019-12-24 Micro Focus Llc Processing a data flow graph of a hybrid flow
US10331583B2 (en) 2013-09-26 2019-06-25 Intel Corporation Executing distributed memory operations using processing elements connected by distributed channels
JP6255880B2 (en) 2013-10-10 2018-01-10 株式会社ソシオネクスト High level synthesis data generation apparatus, high level synthesis apparatus, high level synthesis data generation method and program
CN103546342B (en) * 2013-10-18 2016-10-05 工业和信息化部电信传输研究所 A kind of terminal consistency test method and the api interface universal adapter for the method
US9110672B2 (en) * 2013-11-07 2015-08-18 International Business Machines Corporation Compiler generation of thunking code
US9830329B2 (en) 2014-01-15 2017-11-28 W. Anthony Mason Methods and systems for data storage
US9530483B2 (en) 2014-05-27 2016-12-27 Src Labs, Llc System and method for retaining dram data when reprogramming reconfigurable devices with DRAM memory controllers incorporating a data maintenance block colocated with a memory module or subsystem
US9153311B1 (en) 2014-05-27 2015-10-06 SRC Computers, LLC System and method for retaining DRAM data when reprogramming reconfigurable devices with DRAM memory controllers
US10318261B2 (en) * 2014-11-24 2019-06-11 Mentor Graphics Corporation Execution of complex recursive algorithms
CN104572072B (en) * 2014-12-01 2017-09-29 北京百度网讯科技有限公司 A kind of language transfer method and equipment to the program based on MVC pattern
US9411613B1 (en) 2015-04-22 2016-08-09 Ryft Systems, Inc. Systems and methods for managing execution of specialized processors
US9411528B1 (en) 2015-04-22 2016-08-09 Ryft Systems, Inc. Storage management systems and methods
US9542244B2 (en) 2015-04-22 2017-01-10 Ryft Systems, Inc. Systems and methods for performing primitive tasks using specialized processors
US9984037B1 (en) 2015-04-27 2018-05-29 Synaptic Engines, Llc Scheduler for a fine grained graph processor
US10303498B2 (en) 2015-10-01 2019-05-28 Microsoft Technology Licensing, Llc Performance optimizations for emulators
US9805152B1 (en) * 2016-02-17 2017-10-31 Xilinx, Inc. Compilation of system designs
US10402168B2 (en) 2016-10-01 2019-09-03 Intel Corporation Low energy consumption mantissa multiplication for floating point multiply-add operations
US10824786B1 (en) * 2016-10-05 2020-11-03 Xilinx, Inc. Extend routing range for partial reconfiguration
US10572376B2 (en) 2016-12-30 2020-02-25 Intel Corporation Memory ordering in acceleration hardware
US10558575B2 (en) 2016-12-30 2020-02-11 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10474375B2 (en) 2016-12-30 2019-11-12 Intel Corporation Runtime address disambiguation in acceleration hardware
US10416999B2 (en) 2016-12-30 2019-09-17 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
JP6801460B2 (en) * 2017-01-11 2020-12-16 富士通株式会社 Information processing equipment, programs, and information processing methods
CN107239276B (en) * 2017-05-22 2021-01-12 广州安圣信息科技有限公司 Asynchronous delay execution method and execution device based on C language
US10346145B2 (en) * 2017-06-23 2019-07-09 Intel Corporation Loop execution with predicate computing for dataflow machines
US10467183B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods for pipelined runtime services in a spatial array
US10445234B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features
US10515049B1 (en) 2017-07-01 2019-12-24 Intel Corporation Memory circuits and methods for distributed memory hazard detection and error recovery
US10515046B2 (en) 2017-07-01 2019-12-24 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10445451B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features
US10469397B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods with configurable network-based dataflow operator circuits
US10387319B2 (en) 2017-07-01 2019-08-20 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features
US10496574B2 (en) 2017-09-28 2019-12-03 Intel Corporation Processors, methods, and systems for a memory fence in a configurable spatial accelerator
US11086816B2 (en) 2017-09-28 2021-08-10 Intel Corporation Processors, methods, and systems for debugging a configurable spatial accelerator
US10445098B2 (en) 2017-09-30 2019-10-15 Intel Corporation Processors and methods for privileged configuration in a spatial array
US10380063B2 (en) 2017-09-30 2019-08-13 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator
US11204747B1 (en) * 2017-10-17 2021-12-21 Xilinx, Inc. Re-targetable interface for data exchange between heterogeneous systems and accelerator abstraction into software instructions
EP3707855A1 (en) * 2017-11-09 2020-09-16 Nchain Holdings Limited System for securing verification key from alteration and verifying validity of a proof of correctness
US10489541B1 (en) * 2017-11-21 2019-11-26 Xilinx, Inc. Hardware description language specification translator
CN111466095A (en) 2017-12-13 2020-07-28 区块链控股有限公司 System and method for secure sharing of encrypted material
US10402176B2 (en) * 2017-12-27 2019-09-03 Intel Corporation Methods and apparatus to compile code to generate data flow code
US10565134B2 (en) 2017-12-30 2020-02-18 Intel Corporation Apparatus, methods, and systems for multicast in a configurable spatial accelerator
US10417175B2 (en) 2017-12-30 2019-09-17 Intel Corporation Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator
US10445250B2 (en) 2017-12-30 2019-10-15 Intel Corporation Apparatus, methods, and systems with a configurable spatial accelerator
US10452367B2 (en) * 2018-02-07 2019-10-22 Microsoft Technology Licensing, Llc Variable analysis using code context
US10564980B2 (en) 2018-04-03 2020-02-18 Intel Corporation Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator
US11307873B2 (en) 2018-04-03 2022-04-19 Intel Corporation Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging
US11200186B2 (en) 2018-06-30 2021-12-14 Intel Corporation Apparatuses, methods, and systems for operations in a configurable spatial accelerator
US10853073B2 (en) 2018-06-30 2020-12-01 Intel Corporation Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator
US10459866B1 (en) 2018-06-30 2019-10-29 Intel Corporation Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator
US10891240B2 (en) 2018-06-30 2021-01-12 Intel Corporation Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator
US10705967B2 (en) * 2018-10-15 2020-07-07 Intel Corporation Programmable interface to in-memory cache processor
US10846449B1 (en) * 2018-12-11 2020-11-24 Xilinx, Inc. Conversion of block model-based circuit designs into circuit implementations
US10678724B1 (en) 2018-12-29 2020-06-09 Intel Corporation Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator
US11455153B2 (en) * 2019-03-18 2022-09-27 Advanced Micro Devices, Inc. Dynamic instances semantics
US11048479B2 (en) * 2019-03-28 2021-06-29 Sap Se Software conversion simulation mode
US11029927B2 (en) 2019-03-30 2021-06-08 Intel Corporation Methods and apparatus to detect and annotate backedges in a dataflow graph
US10817291B2 (en) 2019-03-30 2020-10-27 Intel Corporation Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator
US10965536B2 (en) 2019-03-30 2021-03-30 Intel Corporation Methods and apparatus to insert buffers in a dataflow graph
US10915471B2 (en) 2019-03-30 2021-02-09 Intel Corporation Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator
US10853541B1 (en) * 2019-04-30 2020-12-01 Xilinx, Inc. Data processing engine (DPE) array global mapping
US11037050B2 (en) 2019-06-29 2021-06-15 Intel Corporation Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator
US11573790B2 (en) 2019-12-05 2023-02-07 International Business Machines Corporation Generation of knowledge graphs based on repositories of code
US11907713B2 (en) 2019-12-28 2024-02-20 Intel Corporation Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator
US11194555B2 (en) * 2020-04-13 2021-12-07 International Business Machines Corporation Optimization of execution of smart contracts
WO2021211911A1 (en) * 2020-04-16 2021-10-21 Blackswan Technologies Inc. Artificial intelligence cloud operating system
CN111831285B (en) * 2020-06-23 2023-03-14 西安电子科技大学 Code conversion method, system and application for memory computing platform
US11275580B2 (en) * 2020-08-12 2022-03-15 Servicenow, Inc. Representing source code as implicit configuration items
US11042422B1 (en) * 2020-08-31 2021-06-22 Microsoft Technology Licensing, Llc Hybrid binaries supporting code stream folding
US11231918B1 (en) 2020-08-31 2022-01-25 Microsoft Technologly Licensing, LLC Native emulation compatible application binary interface for supporting emulation of foreign code
US11403100B2 (en) 2020-08-31 2022-08-02 Microsoft Technology Licensing, Llc Dual architecture function pointers having consistent reference addresses
US11138010B1 (en) 2020-10-01 2021-10-05 International Business Machines Corporation Loop management in multi-processor dataflow architecture
US11347490B1 (en) * 2020-12-18 2022-05-31 Red Hat, Inc. Compilation framework for hardware configuration generation
US11520570B1 (en) 2021-06-10 2022-12-06 Xilinx, Inc. Application-specific hardware pipeline implemented in an integrated circuit
US11815935B2 (en) 2022-03-25 2023-11-14 Micron Technology, Inc. Programming a coarse grained reconfigurable array through description of data flow graphs
US11954424B2 (en) 2022-05-02 2024-04-09 International Business Machines Corporation Automatic domain annotation of structured data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675803A (en) * 1994-01-28 1997-10-07 Sun Microsystems, Inc. Method and apparatus for a fast debugger fix and continue operation
US6079032A (en) * 1998-05-19 2000-06-20 Lucent Technologies, Inc. Performance analysis of computer systems

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885684A (en) * 1987-12-07 1989-12-05 International Business Machines Corporation Method for compiling a master task definition data set for defining the logical data flow of a distributed processing network
DE68920388T2 (en) * 1988-09-19 1995-05-11 Fujitsu Ltd Parallel computer system using a SIMD process.
US5175856A (en) * 1990-06-11 1992-12-29 Supercomputer Systems Limited Partnership Computer with integrated hierarchical representation (ihr) of program wherein ihr file is available for debugging and optimizing during target execution
US5293631A (en) * 1991-08-06 1994-03-08 Hewlett-Packard Company Analysis and optimization of array variables in compiler for instruction level parallel processor
US5666296A (en) * 1991-12-31 1997-09-09 Texas Instruments Incorporated Method and means for translating a data-dependent program to a data flow graph with conditional expression
US5802290A (en) * 1992-07-29 1998-09-01 Virtual Computer Corporation Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed
FR2718868B1 (en) * 1994-04-18 1996-05-31 Bull Sa Method for detecting deadlocks in multiprocessor systems with shared memory.
US6052773A (en) * 1995-02-10 2000-04-18 Massachusetts Institute Of Technology DPGA-coupled microprocessors
US5570040A (en) * 1995-03-22 1996-10-29 Altera Corporation Programmable logic array integrated circuit incorporating a first-in first-out memory
US5655122A (en) * 1995-04-05 1997-08-05 Sequent Computer Systems, Inc. Optimizing compiler with static prediction of branch probability, branch frequency and function frequency
US5933642A (en) 1995-04-17 1999-08-03 Ricoh Corporation Compiling system and method for reconfigurable computing
US6077315A (en) * 1995-04-17 2000-06-20 Ricoh Company Ltd. Compiling system and method for partially reconfigurable computing
US5764951A (en) * 1995-05-12 1998-06-09 Synopsys, Inc. Methods for automatically pipelining loops
US5701489A (en) * 1995-06-06 1997-12-23 International Business Machines Corporation System for partial in-line expansion of procedure calls during program compilation
US5903771A (en) * 1996-01-16 1999-05-11 Alacron, Inc. Scalable multi-processor architecture for SIMD and MIMD operations
US6226789B1 (en) * 1996-01-29 2001-05-01 Compaq Computer Corporation Method and apparatus for data flow analysis
US5737766A (en) * 1996-02-14 1998-04-07 Hewlett Packard Company Programmable gate array configuration memory which allows sharing with user memory
US5926636A (en) * 1996-02-21 1999-07-20 Adaptec, Inc. Remote procedural call component management method for a heterogeneous computer network
US5892962A (en) * 1996-11-12 1999-04-06 Lucent Technologies Inc. FPGA-based processor
US5930510A (en) * 1996-11-19 1999-07-27 Sun Microsystems, Inc. Method and apparatus for an improved code optimizer for pipelined computers
US5946492A (en) * 1997-02-19 1999-08-31 International Business Machines Corporation Compiler that reduces call stack size through identification of stackless variables
US6631518B1 (en) * 1997-03-19 2003-10-07 International Business Machines Corporation Generating and utilizing organized profile information
US6286135B1 (en) * 1997-03-26 2001-09-04 Hewlett-Packard Company Cost-sensitive SSA-based strength reduction algorithm for a machine with predication support and segmented addresses
US5966534A (en) * 1997-06-27 1999-10-12 Cooke; Laurence H. Method for compiling high level programming languages into an integrated processor with reconfigurable logic
US5991539A (en) * 1997-09-08 1999-11-23 Lucent Technologies, Inc. Use of re-entrant subparsing to facilitate processing of complicated input data
US6226776B1 (en) * 1997-09-16 2001-05-01 Synetry Corporation System for converting hardware designs in high-level programming language to hardware implementations
US5937196A (en) * 1997-09-19 1999-08-10 International Business Machines Corporation Compiling with partial copy propagation
US6076152A (en) * 1997-12-17 2000-06-13 Src Computers, Inc. Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem
US6175948B1 (en) * 1998-02-05 2001-01-16 Motorola, Inc. Method and apparatus for a waveform compiler
JP3765923B2 (en) 1998-02-26 2006-04-12 シャープ株式会社 HARDWARE SYNTHESIS METHOD, HARDWARE SYNTHESIS DEVICE, AND RECORDING MEDIUM CONTAINING HARDWARE SYNTHESIS PROGRAM
US6192439B1 (en) * 1998-08-11 2001-02-20 Hewlett-Packard Company PCI-compliant interrupt steering architecture
GB9828381D0 (en) * 1998-12-22 1999-02-17 Isis Innovation Hardware/software codesign system
US6594822B1 (en) * 1999-02-19 2003-07-15 Nortel Networks Limited Method and apparatus for creating a software patch by comparing object files
US6505328B1 (en) * 1999-04-27 2003-01-07 Magma Design Automation, Inc. Method for storing multiple levels of design data in a common database
US6782511B1 (en) * 1999-05-26 2004-08-24 Cadence Design Systems, Inc. Behavioral-synthesis electronic design automation tool business-to-business application service provider
US6069032A (en) * 1999-08-17 2000-05-30 United Silicon Incorporated Salicide process
US6507947B1 (en) * 1999-08-20 2003-01-14 Hewlett-Packard Company Programmatic synthesis of processor element arrays
US6374403B1 (en) * 1999-08-20 2002-04-16 Hewlett-Packard Company Programmatic method for reducing cost of control in parallel processes
US6567975B1 (en) * 1999-11-08 2003-05-20 Sun Microsystems, Inc. Method and apparatus for inserting data prefetch operations using data flow analysis
US6526572B1 (en) * 2000-02-09 2003-02-25 Hewlett-Packard Company Mechanism for software register renaming and load speculation in an optimizer
US6922830B1 (en) * 2000-03-10 2005-07-26 International Business Machines Corporation Skip list data storage during compilation
CA2321016A1 (en) * 2000-09-27 2002-03-27 Ibm Canada Limited-Ibm Canada Limitee Interprocedural dead store elimination
US6751792B1 (en) * 2000-10-04 2004-06-15 Sun Microsystems, Inc. Using value-expression graphs for data-flow optimizations
US6839893B2 (en) * 2001-10-18 2005-01-04 International Business Machines Corporation Debugger capable of providing warnings for unreachable breakpoints
US7043721B2 (en) * 2002-03-18 2006-05-09 International Business Machines Corporation Initial object capacity determination
US6983456B2 (en) * 2002-10-31 2006-01-03 Src Computers, Inc. Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms
US7155708B2 (en) * 2002-10-31 2006-12-26 Src Computers, Inc. Debugging and performance profiling using control-dataflow graph representations with reconfigurable hardware emulation
US7299458B2 (en) * 2002-10-31 2007-11-20 Src Computers, Inc. System and method for converting control flow graph representations to control-dataflow graph representations
US7500230B2 (en) * 2005-03-25 2009-03-03 Microsoft Corporation Raising native software code

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675803A (en) * 1994-01-28 1997-10-07 Sun Microsystems, Inc. Method and apparatus for a fast debugger fix and continue operation
US6079032A (en) * 1998-05-19 2000-06-20 Lucent Technologies, Inc. Performance analysis of computer systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1556758A4 *

Also Published As

Publication number Publication date
US20040088673A1 (en) 2004-05-06
EP1556758A2 (en) 2005-07-27
US7703085B2 (en) 2010-04-20
JP4482454B2 (en) 2010-06-16
JP5036801B2 (en) 2012-09-26
JP2010146577A (en) 2010-07-01
CA2502892A1 (en) 2004-05-21
AU2003275340A1 (en) 2004-06-07
US20040088685A1 (en) 2004-05-06
US20060041872A1 (en) 2006-02-23
WO2004042929A2 (en) 2004-05-21
EP1556758A4 (en) 2008-04-16
US7134120B2 (en) 2006-11-07
US6983456B2 (en) 2006-01-03
JP2006505055A (en) 2006-02-09

Similar Documents

Publication Publication Date Title
WO2004042929A3 (en) Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms
KR101354803B1 (en) Type inference and type-directed late binding
KR101150003B1 (en) Software development infrastructure
Grönniger et al. Monticore: a framework for the development of textual domain specific languages
EP2894561A1 (en) Transplanting method and source-to-source compiler
GB2376546B (en) Automated processor generation system for designing a configurable processor and method for the same
Smith Cython: A Guide for Python Programmers
US20120072886A1 (en) Domain specific language creation
Binsbergen et al. Tool support for component-based semantics
Kartsaklis et al. HERCULES: A pattern driven code transformation system
US20050172276A1 (en) XML-based preprocessor
Ravipati et al. Toward the deconstruction of Dyninst
Cho et al. Development of a Prototyping Tool for New Memory Subsystem
Afroozeh et al. Iguana: a practical data-dependent parsing framework
Tian et al. Compression of correlated sources using LDPC codes
US20070050706A1 (en) Method of xml transformation and presentation utilizing an application-specific parser
Borghi et al. C-transformers: A framework to write C program transformations
Souyris et al. Automatic parallelization from Lustre models in avionics
Chandraiah et al. Computer-aided recoding to create structured and analyzable system models
Schulz-Rosengarten Strict sequential constructiveness
Matsuura et al. mimium: a self-extensible programming language for sound and music
David et al. Attribute grammars for modular disambiguation
Tan et al. Design and implementation of an automatic RTPA code generator
Agfjord Grammar-based suggestion engine with keyword search
Kreindl et al. Debugging native extensions of dynamic languages

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2502892

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2004549981

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2003759616

Country of ref document: EP

Ref document number: 2003275340

Country of ref document: AU

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWP Wipo information: published in national office

Ref document number: 2003759616

Country of ref document: EP