US 11,907,589 B2
Unified host memory for coprocessors
Aidan Cully, St. Augustine, FL (US); and Mazhar Memon, Austin, TX (US)
Assigned to VMware, Inc., Palo Alto, CA (US)
Filed by Bitfusion.io, Inc.
Filed on Jul. 8, 2019, as Appl. No. 16/504,362.
Prior Publication US 2021/0011666 A1, Jan. 14, 2021
Int. Cl. G06F 3/06 (2006.01); G06F 9/38 (2018.01); G06F 9/50 (2006.01); G06F 9/54 (2006.01); G06F 12/02 (2006.01)
CPC G06F 3/0665 (2013.01) [G06F 3/064 (2013.01); G06F 9/3877 (2013.01); G06F 9/5016 (2013.01); G06F 9/5022 (2013.01); G06F 9/544 (2013.01); G06F 12/023 (2013.01); G06F 3/0607 (2013.01); G06F 3/0679 (2013.01)] 10 Claims
OG exemplary drawing
 
1. A data processing method comprising:
executing instructions of at least one application of a client via system software on a hardware computing system that includes at least one CPU and at least one coprocessor, said at least one application including instructions to be executed on the at least one coprocessor; and
using a virtualization layer that is logically between the at least one application and the system software in a non-privileged, user space and runs on the hardware computing system,
establishing a unified memory address space between the client and the hardware computing system for memory associated with the client and memory associated with the at least one coprocessor, and
synchronizing a first memory and a second memory that is different from the first memory, wherein the first memory is associated with the client and the second memory is associated with the at least one coprocessor, and the first memory and the second memory reside in the unified memory address space, wherein
the virtualization layer is installed without modification of the at least one application or of the system software running on the hardware computing system, and
the steps of establishing the unified memory address space and synchronizing the first memory and the second memory are transparent to the at least one application.