-
公开(公告)号:US20240184623A1
公开(公告)日:2024-06-06
申请号:US18072818
申请日:2022-12-01
Applicant: ATI TECHNOLOGIES ULC
Inventor: Ahmed M. Abdelkhalek , Rutao Zhang , Bokun Zhang , Min Zhang , Yinan Jiang , Jeffrey G. Cheng
CPC classification number: G06F9/4881 , G06F9/54
Abstract: Systems and methods are provided related to a scheduler to receive a job request from a virtual function associated with a tenant for execution by at least one processing unit. The scheduler validates the job request in accordance with one or more defined restrictions associated with the tenant and, responsive to successful validation, provides the job request for execution by the processing unit via one or more physical functions associated with the processing unit. In certain embodiments, multi-level enforcement of the defined restrictions are provided via user-mode and kernel-mode drivers associated with the virtual function that are also enabled to validate job requests based on the defined restrictions.
-
公开(公告)号:US11256530B2
公开(公告)日:2022-02-22
申请号:US16220779
申请日:2018-12-14
Applicant: ATI TECHNOLOGIES ULC
Inventor: Yinan Jiang , Jeffrey G. Cheng
IPC: G06F9/455 , G06F12/1009 , G06T1/20
Abstract: A processing system identifies a subset of pages of memory allocated to a source guest virtual machine (VM) running at a first graphics processing unit (GPU) that were modified by the source guest VM and transferring only the subset to a destination guest VM running at a second GPU when performing a live migration from the source guest VM to the destination guest VM. The first GPU maintains a page table of system memory addresses or frame buffer addresses allocated to and accessed by the source guest VM during a session, including an indication of whether the data was modified. Based on the page table information, the processing system identifies and transfers only the modified pages from the source guest VM to the destination guest VM, thereby reducing the time and bandwidth used for migration.
-
公开(公告)号:US10459751B2
公开(公告)日:2019-10-29
申请号:US15639971
申请日:2017-06-30
Applicant: ATI Technologies ULC
Inventor: Yinan Jiang , Ahmed M. Abdelkhalek , Guopei Qiao , Andy Sung , Haibo Liu , Dezhi Ming , Zhidong Xu
Abstract: A technique for varying firmware for different virtual functions in a virtualized device is provided. The virtualized device includes a hardware accelerator and a microcontroller that executes firmware. The virtualized device is virtualized in that the virtualized device performs work for different virtual functions (with different virtual functions associated with different virtual machines), each function getting a “time-slice” during which work is performed for that function. To vary the firmware, each time the virtualized device switches from performing work for a current virtual function to work for a subsequent virtual function, one or more microcontrollers of the virtualized device examines memory storing addresses for firmware for the subsequent virtual function and begins executing the firmware for that subsequent virtual function. The addresses for the firmware are provided by a corresponding virtual machine at configuration time.
-
公开(公告)号:US09201682B2
公开(公告)日:2015-12-01
申请号:US13923513
申请日:2013-06-21
Applicant: ATI Technologies ULC
Inventor: Gongxian Jeffrey Cheng , Anthony Asaro , Yinan Jiang
CPC classification number: G06F9/45558 , G06F1/24 , G06F9/45533 , G06F11/1441 , G06F2009/4557 , G06F2009/45575 , G06F2009/45591
Abstract: In a hardware-based virtualization system, a hypervisor switches out of a first function into a second function. The first function is one of a physical function and a virtual function and the second function is one of a physical function and a virtual function. During the switching a malfunction of the first function is detected. The first function is reset without resetting the second function. The switching, detecting, and resetting operations are performed by a hypervisor of the hardware-based virtualization system. Embodiments further include a communication mechanism for the hypervisor to notify a driver of the function that was reset to enable the driver to restore the function without delay.
Abstract translation: 在基于硬件的虚拟化系统中,管理程序将第一个功能切换到第二个功能。 第一个功能是物理功能和虚拟功能之一,第二个功能是物理功能和虚拟功能之一。 在切换期间,检测到第一功能的故障。 第一个功能在不重置第二个功能的情况下被复位。 切换,检测和重置操作由基于硬件的虚拟化系统的管理程序执行。 实施例还包括用于管理程序的通信机制,以通知驾驶员已经重置的功能,以使得驾驶员能够无延迟地恢复功能。
-
15.
公开(公告)号:US20250103371A1
公开(公告)日:2025-03-27
申请号:US18472924
申请日:2023-09-22
Applicant: Advanced Micro Devices, Inc. , ATI Technologies ULC
Inventor: JinYun Liu , Yinan Jiang , HaiJun Chang
IPC: G06F9/455
Abstract: The disclosed computing device can include host circuitry configured to provide a physical function and guest circuitry configured to provide a virtual function. The host circuitry is configured to dynamically assign request identifiers for accessing at least the host circuitry in a manner that allows the request identifiers to change on a command-to-command basis instead of a time-to-time basis that uses fixed value request identifiers in time slices. Various other methods, systems, and computer-readable media are also disclosed.
-
公开(公告)号:US20240202015A1
公开(公告)日:2024-06-20
申请号:US18066155
申请日:2022-12-14
Applicant: Advanced Micro Devices, Inc , ATI Technologies ULC
Inventor: Lu Lu , Anthony Asaro , Gia Tung Phan , Gongxian Cheng , Philip Ng , Yinan Jiang , Felix Kuehling
CPC classification number: G06F9/45545 , G06F9/45558 , G06F9/545 , G06F2009/4557 , G06F2009/45579
Abstract: In a computing device, a hardware device (e.g., a parallel accelerated processor or graphics processing unit) is coupled to a bus, such as a peripheral component interconnect express (PCIe) bus. The hardware device supports physical partitioning that allows physical resources of the hardware device to be separated into different partitions. Examples of such physical resources include engine resources (e.g., compute resources, direct memory access resources), memory resources (e.g., random access memory), and so forth. Each physical partition is mapped to a physical function that is exposed to a host on the computing device in a manner that is compliant with the bus protocol, allowing software to access the physical partition in a conventional manner based on the bus protocol.
-
公开(公告)号:US20240100422A1
公开(公告)日:2024-03-28
申请号:US17955266
申请日:2022-09-28
Applicant: Advanced Micro Devices, Inc , ATI Technologies ULC
Inventor: Yinan Jiang , HaiJun Chang , GuoQing Zhang
IPC: A63F13/335 , A63F13/352 , A63F13/358
CPC classification number: A63F13/335 , A63F13/352 , A63F13/358
Abstract: Resource use orchestration for multiple application instances is described. In accordance with the described techniques, a time interval for accessing a resource is divided into multiple time slots. In one or more implementations, the resource is a graphics processing unit. Each of a plurality of containers associated with an application is assigned to one of the multiple time slots according to a disbursement algorithm. A respective signal offset is provided to each container based on an assigned time slot of the container. The provided signal offsets cause the plurality of containers to access the resource for the application in a predetermined order.
-
公开(公告)号:US20220188139A1
公开(公告)日:2022-06-16
申请号:US17121678
申请日:2020-12-14
Applicant: ATI Technologies ULC
Inventor: Yinan Jiang , Kamraan Nasim , Dezhi Ming , Ahmed M. Abdelkhalek , Dmytro Chenchykov , Andy Sung
Abstract: A technique for managing access to a micro engine, the method comprising: determining that a virtual function “VF”) is to be given access to direct communication with a micro engine; in response to the determining, configuring the micro engine to accept direct communication from the VF; monitoring for unpermitted communication; and after a time period has expired, configuring the micro engine to no longer accept direct communication from the VF.
-
公开(公告)号:US11194614B2
公开(公告)日:2021-12-07
申请号:US16591276
申请日:2019-10-02
Applicant: ATI Technologies ULC
Inventor: Yinan Jiang , Ahmed M. Abdelkhalek , Guopei Qiao , Andy Sung , Haibo Liu , Dezhi Ming , Zhidong Xu
Abstract: A technique for varying firmware for different virtual functions in a virtualized device is provided. The virtualized device includes a hardware accelerator and a microcontroller that executes firmware. The virtualized device is virtualized in that the virtualized device performs work for different virtual functions (with different virtual functions associated with different virtual machines), each function getting a “time-slice” during which work is performed for that function. To vary the firmware, each time the virtualized device switches from performing work for a current virtual function to work for a subsequent virtual function, one or more microcontrollers of the virtualized device examines memory storing addresses for firmware for the subsequent virtual function and begins executing the firmware for that subsequent virtual function. The addresses for the firmware are provided by a corresponding virtual machine at configuration time.
-
公开(公告)号:US20190004842A1
公开(公告)日:2019-01-03
申请号:US15639971
申请日:2017-06-30
Applicant: ATI Technologies ULC
Inventor: Yinan Jiang , Ahmed M. Abdelkhalek , Guopei Qiao , Andy Sung , Haibo Liu , Dezhi Ming , Zhidong Xu
Abstract: A technique for varying firmware for different virtual functions in a virtualized device is provided. The virtualized device includes a hardware accelerator and a microcontroller that executes firmware. The virtualized device is virtualized in that the virtualized device performs work for different virtual functions (with different virtual functions associated with different virtual machines), each function getting a “time-slice” during which work is performed for that function. To vary the firmware, each time the virtualized device switches from performing work for a current virtual function to work for a subsequent virtual function, one or more microcontrollers of the virtualized device examines memory storing addresses for firmware for the subsequent virtual function and begins executing the firmware for that subsequent virtual function. The addresses for the firmware are provided by a corresponding virtual machine at configuration time.
-
-
-
-
-
-
-
-
-