Multi-threaded shared memory functional simulation of dataflow graph

    公开(公告)号:US11036546B1

    公开(公告)日:2021-06-15

    申请号:US16385880

    申请日:2019-04-16

    Applicant: Xilinx, Inc.

    Abstract: Examples herein describe techniques for generating dataflow graphs using source code for defining kernels and communication links between those kernels. In one embodiment, the graph is formed using nodes (e.g., kernels) which are communicatively coupled by edges. A compiler converts the source code into a bit stream and/or object code which configures a heterogeneous processing environment of a SoC to execute the graph. Before implementing the dataflow graph on the SoC, the programmer may wish to simulate the dataflow graph. In one embodiment, each kernel in the dataflow graph is assigned a respective thread. Additionally, the simulator can include a runtime library for simulating the different types of communication links between the kernels. Even those these communication links are different protocols or have different semantics, using the simulation components in the library makes the different types of communication links composable so they can inter-operate in the same simulation environment.

    Splitting vector processing loops with an unknown trip count

    公开(公告)号:US12182552B2

    公开(公告)日:2024-12-31

    申请号:US17664858

    申请日:2022-05-24

    Applicant: Xilinx, Inc.

    Inventor: Ajit K. Agarwal

    Abstract: A computer-based technique for processing an application includes determining that a loop of the application includes a reference to a data item of a vector data type. A trip count of the loop is determined to have an unknown trip count. The loop is split into a first loop and a second loop based on a splitting factor. The second loop is unrolled.

    Dataflow Based Analysis Guidance to Mapper for Buffers Allocation in Multicore Architectures

    公开(公告)号:US20240176942A1

    公开(公告)日:2024-05-30

    申请号:US18057199

    申请日:2022-11-18

    Applicant: Xilinx, Inc.

    Inventor: Ajit K. Agarwal

    CPC classification number: G06F30/398 G06F30/392

    Abstract: Providing dataflow based guidance for buffer allocation in a multicore circuit architecture includes converting, using computer hardware, an application specified in a high-level programming language into an intermediate representation. Buffers of dataflows of the intermediate representation are detected. Determining whether the buffers are independent or dependent based on an analysis of the dataflows of the intermediate representation. Buffer constraints are generated. The buffer constraints specify whether the buffers are independent and dictate a mapping of the buffers in the multicore circuit architecture.

    SPLITTING VECTOR PROCESSING LOOPS WITH AN UNKNOWN TRIP COUNT

    公开(公告)号:US20230385040A1

    公开(公告)日:2023-11-30

    申请号:US17664858

    申请日:2022-05-24

    Applicant: Xilinx, Inc.

    Inventor: Ajit K. Agarwal

    CPC classification number: G06F8/443

    Abstract: A computer-based technique for processing an application includes determining that a loop of the application includes a reference to a data item of a vector data type. A trip count of the loop is determined to have an unknown trip count. The loop is split into a first loop and a second loop based on a splitting factor. The second loop is unrolled.

Patent Agency Ranking