Systems and methods for generating code for parallel processing units

    公开(公告)号:US10949182B2

    公开(公告)日:2021-03-16

    申请号:US15816377

    申请日:2017-11-17

    Abstract: Systems and methods generate code from a source program where the generated code may be compiled and executed on a Graphics Processing Unit (GPU). A parallel loop analysis check may be performed on regions of the source program identified for parallelization. One or more optimizations also may be applied to the source program that convert mathematical operations into a parallel form. The source program may be partitioned into segments for execution on a host and a device. Kernels may be created for the segments to be executed on the device. The size of the kernels may be determined, and memory transfers between the host and device may be optimized.

    OBSERVER FOR SIMULATION TEST AND VERIFICATION

    公开(公告)号:US20200050533A1

    公开(公告)日:2020-02-13

    申请号:US16128099

    申请日:2018-09-11

    Abstract: Systems and methods validate the operation of a component of an executable model without inadvertently altering the behavior of the component. The model may be partitioned into a design space and a verification space. The component may be placed in the design space, while an observer for validating the component may be placed in the verification space, and linked to the component. During execution of the model, input or output values for the component may be computed and buffered. Execution of the observer may follow execution of the component. The input or output values may be read out of the buffer, and utilized during execution of validation functionality defined for the observer. Model compilation operations that may inadvertently alter the behavior of the component, such as back propagation of attributes, are blocked between the observer and the component.

    MESSAGE-BASED MODELING
    5.
    发明申请
    MESSAGE-BASED MODELING 有权
    基于消息的建模

    公开(公告)号:US20150020080A1

    公开(公告)日:2015-01-15

    申请号:US14335159

    申请日:2014-07-18

    CPC classification number: G06F9/546 G06F2209/548

    Abstract: A system and method may generate executable models having message sending objects and message receiving objects. A message may include a fixed data payload, and the message may persist for only a determined time interval of a total execution or simulation time of model. Message queues may be established for the messages, and the queues may have attributes. The model may include a state-based portion having states and transitions. States may be configured to generate and send messages, and to receive and process messages. In addition, transitions may be guarded by particular messages. The system and method also may generate standalone code, such as source code, for the model. The standalone code may include code that establishes a message passing service to support the sending and receiving of messages.

    Abstract translation: 系统和方法可以生成具有消息发送对象和消息接收对象的可执行模型。 消息可以包括固定数据有效载荷,并且消息可以仅持续在模型的总执行或模拟时间的确定的时间间隔。 可以为消息建立消息队列,并且队列可以具有属性。 模型可以包括具有状态和转换的基于状态的部分。 可以将状态配置为生成和发送消息,以及接收和处理消息。 此外,转换可以被特定消息保护。 系统和方法还可以为模型生成独立代码,如源代码。 独立代码可以包括建立消息传递服务以支持消息的发送和接收的代码。

    Templatized component
    6.
    发明授权
    Templatized component 有权
    模板化组件

    公开(公告)号:US09424005B1

    公开(公告)日:2016-08-23

    申请号:US13837910

    申请日:2013-03-15

    CPC classification number: G06F8/34 G06F8/10 G06F8/35 G06F8/36

    Abstract: A system and method provides top-down programming in a graphical programming environment. A developer may utilize a component constructor to create a graphical skeleton component that represents a template for a procedure. The graphical skeleton component may include one or more hole elements that mark locations in the component at which functions may be specified. An instance of the component may be included in a graphical model, and one or more functions specified for the hole elements, thereby completing the component. The one or more functions may refer to model parameters, and bindings may be captured among the parameters. Upon execution or simulation of the model, the one or more functions specified for the component are executed, and the parameters evaluated. The functionality of the completed may depend on the one or more functions specified for the hole elements.

    Abstract translation: 系统和方法在图形编程环境中提供自上而下的编程。 开发人员可以使用组件构造函数来创建一个图形框架组件,该组件代表一个过程的模板。 图形骨架组件可以包括标记组件中可以指定功能的位置的一个或多个孔元件。 组件的实例可以包括在图形模型中,以及为孔元素指定的一个或多个功能,从而完成组件。 一个或多个功能可以指模型参数,并且可以在参数之间捕获绑定。 在模型执行或模拟时,执行为该组件指定的一个或多个功能,并对参数进行评估。 完成的功能可能取决于为孔元素指定的一个或多个功能。

    Message-based modeling
    7.
    发明授权
    Message-based modeling 有权
    基于消息的建模

    公开(公告)号:US09304840B2

    公开(公告)日:2016-04-05

    申请号:US14163147

    申请日:2014-01-24

    CPC classification number: G06F9/546 G06F8/34

    Abstract: A system and method may generate executable block diagrams in which at least some of the blocks run in accordance with message-based execution semantics. A message may include an input data payload that does not change over time, and the message may persist for only a determined time interval during execution of block diagram. A message-based execution engine may control execution of message-based blocks in which a source block may generate a message at a particular point in time, the message may be sent to one or more destination blocks triggering execution of those blocks, and the message may be destroyed on or after a determined time interval. Other execution domains, such as a time-based or state-based execution domain, may be provided, and the system may implement a hybrid execution model.

    Abstract translation: 系统和方法可以生成可执行框图,其中至少一些块根据基于消息的执行语义运行。 消息可以包括不随时间改变的输入数据有效载荷,并且消息可以在执行框图期间仅持续确定的时间间隔。 基于消息的执行引擎可以控制基于消息的块的执行,其中源块可以在特定时间点生成消息,该消息可以被发送到触发这些块的执行的一个或多个目的地块,并且消息 可能在确定的时间间隔之后或之后销毁。 可以提供其他执行域,例如基于时间或状态的执行域,并且系统可以实现混合执行模型。

    MESSAGE-BASED MODELING
    8.
    发明申请
    MESSAGE-BASED MODELING 有权
    基于消息的建模

    公开(公告)号:US20160011920A1

    公开(公告)日:2016-01-14

    申请号:US14163147

    申请日:2014-01-24

    CPC classification number: G06F9/546 G06F8/34

    Abstract: A system and method may generate executable block diagrams in which at least some of the blocks run in accordance with message-based execution semantics. A message may include an input data payload that does not change over time, and the message may persist for only a determined time interval during execution of block diagram. A message-based execution engine may control execution of message-based blocks in which a source block may generate a message at a particular point in time, the message may be sent to one or more destination blocks triggering execution of those blocks, and the message may be destroyed on or after a determined time interval. Other execution domains, such as a time-based or state-based execution domain, may be provided, and the system may implement a hybrid execution model.

    Abstract translation: 系统和方法可以生成可执行框图,其中至少一些块根据基于消息的执行语义运行。 消息可以包括不随时间改变的输入数据有效载荷,并且消息可以在执行框图期间仅持续确定的时间间隔。 基于消息的执行引擎可以控制基于消息的块的执行,其中源块可以在特定时间点生成消息,该消息可以被发送到触发这些块的执行的一个或多个目的地块,并且消息 可能在确定的时间间隔之后或之后销毁。 可以提供其他执行域,例如基于时间或状态的执行域,并且系统可以实现混合执行模型。

    UNIFIED STATE TRANSITION TABLE DESCRIBING A STATE MACHINE MODEL
    9.
    发明申请
    UNIFIED STATE TRANSITION TABLE DESCRIBING A STATE MACHINE MODEL 有权
    统一状态转换表描述状态机模型

    公开(公告)号:US20130290925A1

    公开(公告)日:2013-10-31

    申请号:US13768565

    申请日:2013-02-15

    Abstract: A computer-readable memory device may include instructions to store data describing a state machine model including source states and destination states. The device may also include instructions to store, for each of the source states, a condition field identifying a condition upon which, when satisfied, the state machine model transitions from the source state to one of the destination states. The device may also include instructions to store, for each of source states, a destination field identifying the one of the destination states. Each of at least two of the source states may identify an identical destination state in the corresponding destination field. Each of at least two of the source states may identify an identical condition in the corresponding condition field.

    Abstract translation: 计算机可读存储器设备可以包括存储描述包括源状态和目的地状态的状态机模型的数据的指令。 该设备还可以包括用于为每个源状态存储一个条件字段的指令,该条件字段标识状态,当满足状态机模型从源状态转换到目的地状态之一时。 该设备还可以包括用于为每个源状态存储标识目的地状态之一的目的地字段的指令。 至少两个源状态中的每一个可以在相应的目的地字段中标识相同的目的地状态。 至少两个源状态中的每一个可以在相应的条件字段中标识相同的条件。

    Observer for simulation test and verification

    公开(公告)号:US10922208B2

    公开(公告)日:2021-02-16

    申请号:US16426624

    申请日:2019-05-30

    Abstract: Systems and methods validate the operation of a component of an executable model without inadvertently altering the behavior of the component. The model may be partitioned into a design space and a verification space. The component may be placed in the design space, while an observer for validating the component may be placed in the verification space, and linked to the component. During execution of the model, input or output values for the component may be computed and buffered. Execution of the observer may follow execution of the component. The input or output values may be read out of the buffer, and utilized during execution of validation functionality defined for the observer. Model compilation operations that may inadvertently alter the behavior of the component, such as back propagation of attributes, are blocked between the observer and the component.

Patent Agency Ranking