US 11,740,941 B2
Method of accelerating execution of machine learning based application tasks in a computing device
Arun Abraham, Bangalore (IN); Suhas Parlathaya Kudral, Bangalore (IN); Balaji Srinivas Holur, Bangalore (IN); Sarbojit Ganguly, Bangalore (IN); Venkappa Mala, Bangalore (IN); Suneel Kumar Surimani, Bangalore (IN); and Sharan Kumar Allur, Bangalore (IN)
Assigned to Samsung Electronics Co., Ltd
Appl. No. 16/480,545
Filed by Samsung Electronics Co., Ltd., Gyeonggi-do (KR)
PCT Filed Feb. 23, 2018, PCT No. PCT/KR2018/002285
§ 371(c)(1), (2) Date Jul. 24, 2019,
PCT Pub. No. WO2018/155963, PCT Pub. Date Aug. 30, 2018.
Claims priority of application No. 201741006649 (IN), filed on Feb. 24, 2017; and application No. 201741006649 (IN), filed on Feb. 21, 2018.
Prior Publication US 2020/0019854 A1, Jan. 16, 2020
Int. Cl. G06F 9/445 (2018.01); G06F 9/50 (2006.01)
CPC G06F 9/505 (2013.01) [G06F 9/44505 (2013.01); G06F 9/5044 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A method of accelerating execution of one or more application tasks in a computing device using machine learning (ML) based model, the method comprising:
receiving an ML input task for execution on the computing device from a user;
retrieving a trained ML model and a corresponding optimal configuration file based on the received ML input task, wherein the optimal configuration file corresponding to each ML model includes a plurality of pre-defined configuration files obtained for one or more computing device functioning conditions;
obtaining a current performance status of the computing device for executing the ML input task; and
dynamically scheduling and dispatching parts of the ML input task to one or more processing units in the computing device for execution based on the obtained current performance status of the computing device,
wherein the dynamically scheduling and dispatching comprises:
determining whether the ML input task is executed for low power or high performance,
if it is determined that the ML input task is to be executed for low power execution, checking availability of the low power processing unit,
if the low power processing unit is available to perform the ML input task, checking whether the low power processing unit is loaded,
if the low power processing unit is loaded with other input tasks, checking whether the ML input task can be blocked until the other input tasks are performed by the low power processing unit, and if the ML input task can be blocked, moving the parts of the ML input task to the low power processing unit for execution after the other input tasks are performed by the low power processing unit,
if the ML input task cannot be blocked or if the low power processing unit is not available to perform the ML input task, moving the parts of the ML input task to a first processing unit for execution,
if it is determined that the ML input task is to be executed for high performance execution, obtaining a second processing unit for the ML input task from the retrieved optimal configuration file, and checking the thermal condition of the computing device and load condition of the second processing unit,
if the thermal condition of the computing device is high or the load of the second processing unit is high, moving the parts of the ML input task to the first processing unit for execution, wherein the first processing unit has lower performance than the second processing unit, and
if the thermal condition of the computing device is low and the load of the second processing unit is low, moving the parts of the ML input task to the second processing unit for execution.