1. A computer implemented method comprising: selecting, during runtime of an application running in a first processing unit, in response to a first API (Application Programming Interface) request having a requirement from the application, a second data processing unit according to the requirement; loading, during the runtime, in response to a second API request from the application one or more executables for the selected second processing unit to perform a data processing task of the application; and causing, during the runtime, in response to a third API request from the application, execution of one of the one or more executables for the second processing unit, wherein the one or more executables include description data for the one of the one or more executables, wherein the selecting is based on the description data, wherein the one of the one or more executables is associated with a latest version among the one or more executables for the second processing unit based on the description data, wherein the one of the one or more executables includes description data indicating the latest version for the second processing unit, and wherein the one of the one or more executables is backward compatible with the second processing unit.