PARALLEL RUNTIME EXECUTION ON MULTIPLE PROCESSORS
    21.
    发明申请
    PARALLEL RUNTIME EXECUTION ON MULTIPLE PROCESSORS 审中-公开
    并行执行多个处理器

    公开(公告)号:US20140201746A1

    公开(公告)日:2014-07-17

    申请号:US14163726

    申请日:2014-01-24

    Applicant: Apple Inc.

    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 arc 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.

    Abstract translation: 描述了在一个或多个物理计算设备(例如CPU或GPU)中同时调度用于在一个或多个物理计算设备中执行的调度队列中的多个可执行程序的方法和装置。 一个或多个可执行文件在来自具有用于不同于一个或多个物理计算设备的物理计算设备的类型的现有可执行程序的源的在线编译。 确定与调度的可执行程序相对应的元件之间的依赖性关系,以在多个物理计算设备中同时选择要被多个线程执行的可执行文件。 如果GPU忙于图形处理线程,则被初始化用于在物理计算设备的GPU中执行可执行程序的线程被初始化以在物理计算设备的另一个CPU中执行。 用于API函数的源和现有可执行文件存储在API库中以在多个物理计算设备中执行多个可执行程序,包括来自源的现有可执行文件和在线编译的可执行文件。

    DATA PARALLEL COMPUTING ON MULTIPLE PROCESSORS

    公开(公告)号:US20200250005A1

    公开(公告)日:2020-08-06

    申请号:US16780479

    申请日:2020-02-03

    Applicant: Apple Inc.

    Abstract: A method and an apparatus that allocate one or more physical compute devices such as CPUs or GPUs attached to a host processing unit running an application for executing one or more threads of the application are described. The allocation may be based on data representing a processing capability requirement from the application for executing an executable in the one or more threads. A compute device identifier may be associated with the allocated physical compute devices to schedule and execute the executable in the one or more threads concurrently in one or more of the allocated physical compute devices concurrently.

    Mirroring graphics content to an external display

    公开(公告)号:US09864560B2

    公开(公告)日:2018-01-09

    申请号:US15214217

    申请日:2016-07-19

    Applicant: Apple Inc.

    Abstract: A data processing system composites graphics content, generated by an application program running on the data processing system, to generate image data. The data processing system stores the image data in a first framebuffer and displays an image generated from the image data in the first framebuffer on an internal display device of the data processing system. A scaler in the data processing system performs scaling operations on the image data in the first framebuffer, stores the scaled image data in a second framebuffer and displays an image generated from the scaled image data in the second framebuffer on an external display device coupled to the data processing system. The scaler performs the scaling operations asynchronously with respect to the compositing of the graphics content. The data processing system automatically mirrors the image on the external display device unless the application program is publishing additional graphics content for display on the external display device.

    Application interface on multiple processors

    公开(公告)号:US09766938B2

    公开(公告)日:2017-09-19

    申请号:US15008337

    申请日:2016-01-27

    Applicant: Apple Inc.

    Abstract: A method and an apparatus that execute a parallel computing program in a programming language for a parallel computing architecture are described. The parallel computing program is stored in memory in a system with parallel processors. The system includes a host processor, a graphics processing unit (GPU) coupled to the host processor and a memory coupled to at least one of the host processor and the GPU. The parallel computing program is stored in the memory to allocate threads between the host processor and the GPU. The programming language includes an API to allow an application to make calls using the API to allocate execution of the threads between the host processor and the GPU. The programming language includes host function data tokens for host functions performed in the host processor and kernel function data tokens for compute kernel functions performed in one or more compute processors, e.g. GPUs or CPUs, separate from the host processor. Standard data tokens in the programming language schedule a plurality of threads for execution on a plurality of processors, such as CPUs or GPUs in parallel. Extended data tokens in the programming language implement executables for the plurality of threads according to the schedules from the standard data tokens.

    MIRRORING GRAPHICS CONTENT TO AN EXTERNAL DISPLAY
    25.
    发明申请
    MIRRORING GRAPHICS CONTENT TO AN EXTERNAL DISPLAY 审中-公开
    外部显示的图形内容

    公开(公告)号:US20170017452A1

    公开(公告)日:2017-01-19

    申请号:US15214217

    申请日:2016-07-19

    Applicant: Apple Inc.

    Abstract: A data processing system composites graphics content, generated by an application program running on the data processing system, to generate image data. The data processing system stores the image data in a first framebuffer and displays an image generated from the image data in the first framebuffer on an internal display device of the data processing system. A scaler in the data processing system performs scaling operations on the image data in the first framebuffer, stores the scaled image data in a second framebuffer and displays an image generated from the scaled image data in the second framebuffer on an external display device coupled to the data processing system. The scaler performs the scaling operations asynchronously with respect to the compositing of the graphics content. The data processing system automatically mirrors the image on the external display device unless the application program is publishing additional graphics content for display on the external display device.

    Abstract translation: 数据处理系统复合由在数据处理系统上运行的应用程序生成的图形内容,以生成图像数据。 数据处理系统将图像数据存储在第一帧缓冲器中,并且在数据处理系统的内部显示装置上将从第一帧缓冲器中的图像数据生成的图像显示。 数据处理系统中的缩放器对第一帧缓冲器中的图像数据执行缩放操作,将缩放的图像数据存储在第二帧缓冲器中,并将第二帧缓冲器中的缩放图像数据生成的图像显示在耦合到第二帧缓冲器的外部显示设备上 数据处理系统。 缩放器相对于图形内容的合成而异步执行缩放操作。 数据处理系统自动反映外部显示设备上的图像,除非应用程序发布用于在外部显示设备上显示的附加图形内容。

    Parallel runtime execution on multiple processors
    26.
    发明授权
    Parallel runtime execution on multiple processors 有权
    多个处理器上的并行运行时执行

    公开(公告)号:US09436526B2

    公开(公告)日:2016-09-06

    申请号:US14163726

    申请日:2014-01-24

    Applicant: Apple Inc.

    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.

    Abstract translation: 描述了在一个或多个物理计算设备(例如CPU或GPU)中同时调度用于在一个或多个物理计算设备中执行的调度队列中的多个可执行程序的方法和装置。 一个或多个可执行文件在来自具有用于不同于一个或多个物理计算设备的物理计算设备的类型的现有可执行程序的源的在线编译。 确定与调度的可执行程序相对应的元件之间的依赖性关系,以在多个物理计算设备中同时选择要被多个线程执行的可执行文件。 如果GPU忙于图形处理线程,则初始化用于在物理计算设备的GPU中执行可执行程序的线程被初始化以在物理计算设备的另一个CPU中执行。 用于API函数的源和现有可执行文件存储在API库中以在多个物理计算设备中执行多个可执行程序,包括来自源的现有可执行文件和在线编译的可执行文件。

    Application interface on multiple processors
    27.
    发明授权
    Application interface on multiple processors 有权
    多处理器上的应用接口

    公开(公告)号:US09250956B2

    公开(公告)日:2016-02-02

    申请号:US14163717

    申请日:2014-01-24

    Applicant: Apple Inc.

    Abstract: A method and an apparatus that execute a parallel computing program in a programming language for a parallel computing architecture are described. The parallel computing program is stored in memory in a system with parallel processors. The system includes a host processor, a graphics processing unit (GPU) coupled to the host processor and a memory coupled to at least one of the host processor and the GPU. The parallel computing program is stored in the memory to allocate threads between the host processor and the GPU. The programming language includes an API to allow an application to make calls using the API to allocate execution of the threads between the host processor and the GPU. The programming language includes host function data tokens for host functions performed in the host processor and kernel function data tokens for compute kernel functions performed in one or more compute processors, e.g GPUs or CPUs, separate from the host processor. Standard data tokens in the programming language schedule a plurality of threads for execution on a plurality of processors, such as CPUs or GPUs in parallel. Extended data tokens in the programming language implement executables for the plurality of threads according to the schedules from the standard data tokens.

    Abstract translation: 描述了以并行计算架构的编程语言执行并行计算程序的方法和装置。 并行计算程序存储在具有并行处理器的系统中的存储器中。 该系统包括主机处理器,耦合到主处理器的图形处理单元(GPU)和耦合到主机处理器和GPU中的至少一个的存储器。 并行计算程序存储在存储器中以在主处理器和GPU之间分配线程。 编程语言包括允许应用程序使用API​​调用主机处理器和GPU之间的线程执行的API。 编程语言包括用于在主处理器中执行的主机功能的主机功能数据令牌和用于在与主机处理器分离的一个或多个计算处理器(例如,GPU或CPU)中执行的计算内核功能的核心功能数据令牌。 编程语言中的标准数据令牌安排用于在多个处理器(例如CPU或GPU)上并行执行的多个线程。 编程语言中的扩展数据令牌根据来自标准数据令牌的时间表来实现多个线程的可执行程序。

    APPLICATION INTERFACE ON MULTIPLE PROCESSORS
    28.
    发明申请
    APPLICATION INTERFACE ON MULTIPLE PROCESSORS 有权
    多处理器的应用接口

    公开(公告)号:US20140201765A1

    公开(公告)日:2014-07-17

    申请号:US14163717

    申请日:2014-01-24

    Applicant: Apple Inc.

    Abstract: A method and an apparatus that execute a parallel computing program in a programming language for a parallel computing architecture are described. The parallel computing program is stored in memory in a system with parallel processors. The system includes a host processor, a graphics processing unit (GPU) coupled to the host processor and a memory coupled to at least one of the host processor and the GPU. The parallel computing program is stored in the memory to allocate threads between the host processor and the GPU. The programming language includes an API to allow an application to make calls using the API to allocate execution of the threads between the host processor and the GPU. The programming language includes host function data tokens for host functions performed in the host processor and kernel function data tokens for compute kernel functions performed in one or more compute processors, e.g GPUs or CPUs, separate from the host processor. Standard data tokens in the programming language schedule a plurality of threads for execution on a plurality of processors, such as CPUs or GPUs in parallel. Extended data tokens in the programming language implement executables for the plurality of threads according to the schedules from the standard data tokens.

    Abstract translation: 描述了以并行计算架构的编程语言执行并行计算程序的方法和装置。 并行计算程序存储在具有并行处理器的系统中的存储器中。 该系统包括主机处理器,耦合到主处理器的图形处理单元(GPU)和耦合到主机处理器和GPU中的至少一个的存储器。 并行计算程序存储在存储器中以在主处理器和GPU之间分配线程。 编程语言包括允许应用程序使用API​​调用主机处理器和GPU之间的线程执行的API。 编程语言包括用于在主处理器中执行的主机功能的主机功能数据令牌和用于在与主机处理器分离的一个或多个计算处理器(例如,GPU或CPU)中执行的计算内核功能的核心功能数据令牌。 编程语言中的标准数据令牌安排用于在多个处理器(例如CPU或GPU)上并行执行的多个线程。 编程语言中的扩展数据令牌根据来自标准数据令牌的时间表来实现多个线程的可执行程序。

    APPLICATON INTERFACE ON MULTIPLE PROCESSORS
    29.
    发明申请
    APPLICATON INTERFACE ON MULTIPLE PROCESSORS 有权
    多处理器上的应用接口

    公开(公告)号:US20130132934A1

    公开(公告)日:2013-05-23

    申请号:US13723014

    申请日:2012-12-20

    Applicant: Apple Inc.

    Abstract: A method and an apparatus that execute a parallel computing program in a programming language for a parallel computing architecture are described. The parallel computing program is stored in memory in a system with parallel processors. The parallel computing program is stored in a memory to allocate threads between a host processor and a GPU. The programming language includes an API to allow an application to make calls using the API to allocate execution of the threads between the host processor and the GPU. The programming language includes host function data tokens for host functions performed in the host processor and kernel function data tokens for compute kernel functions performed in one or more compute processors, e.g. GPUs or CPUs, separate from the host processor.

    Abstract translation: 描述了以并行计算架构的编程语言执行并行计算程序的方法和装置。 并行计算程序存储在具有并行处理器的系统中的存储器中。 并行计算程序存储在存储器中以在主处理器和GPU之间分配线程。 编程语言包括允许应用程序使用API​​调用主机处理器和GPU之间的线程执行的API。 编程语言包括用于在主处理器中执行的主机功能的主机功能数据令牌和用于在一个或多个计算处理器中执行的用于计算内核功能的内核功能数据令牌,例如, GPU或CPU,与主机处理器分开。

Patent Agency Ranking