EP2140352B1

Parallel runtime execution on multiple processors

Abstract

This record has no abstract on file.

EP2140352B1, drawing sheet 1
Sheet 1 of 11

Term

1.5 yearsleft in the term

Expires 9 April 2028.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

15 claims: 3 independent, 12 dependent

  1. 1
    A computer implemented method comprising:selecting, by a host process executing on a first processing unit (101, 301) during runtime of an application (103, 303) running on the first processing unit, in response to a first API request, Application Programming Interface request, having one or more requirements from the application for a data processing task of the application, a second processing unit according to the requirement;loading (507, 607, 609) by the host process during the runtime, in response to a second API request received from the application, one or more executables for the data processing task that are compatible with the second processing unit, wherein the loading comprises selecting (601) the one or more executables from the one or more existing executables for the data processing task, the one or more existing executables including description data indicating a version of a target processing unit, the selected executable being associated with a latest version among the existing executables for the second processing unit based on the description data, and compiling (605) a source to generate at least one of the one or more executables that is compatible with the second processing unit when comparing information of the second processing unit with description data of the one or more existing executables indicates that none of the one or more existing executables are compatible with the second processing unit;and selecting (517), by the host process in response to a third API request received from the application during the runtime, one of the one or more executables for execution in the second processing unit.
  2. 12
    The computer implemented method of any of claims 1 - 11 further comprising:generating, by the application during the runtime on the first processing unit, the first API request specifying the one or more requirements for the second processing unit;generating, by the application during the runtime, the second API request to request the host process, executing on the first processing unit, to load one or more executables for the data processing task of the application that are compatible with the second processing unit;and generating, by the application during the runtime, the third API request to request the host process to select an executable from the one or more executables for execution in the second processing unit.
  3. 14
    A non-transitory computer readable storage medium having executable instructions which, when executed by a processor, cause said processor to perform operations as claimed in one of claims 1 - 13.
  4. 15
    A parallel computing architecture comprising:a host processor;a graphics processing unit, GPU, coupled to the host processor;a central processing unit, CPU, coupled to the host processor;and a memory coupled to the at least one of the host processor, the CPU, and the GPU, the memory storing executable instructions, which when performed cause a host process to perform operations as claimed in one of claims 1 - 13.