Abstract:
Embodiments of the invention provide a programming model for CPU-GPU platforms. In particular, embodiments of the invention provide a uniform programming model for both integrated and discrete devices. The model also works uniformly for multiple GPU cards and hybrid GPU systems (discrete and integrated). This allows software vendors to write a single application stack and target it to all the different platforms. Additionally, embodiments of the invention provide a shared memory model between the CPU and GPU. Instead of sharing the entire virtual address space, only a part of the virtual address space needs to be shared. This allows efficient implementation in both discrete and integrated settings.
Abstract:
Autonome Roboter und Verfahren zum Betreiben derselben sind offenbart. Ein autonomer Roboter umfasst einen Sensor und einen Speicher, umfassend maschinenlesbare Anweisungen. Der autonome Roboter umfasst ferner zumindest einen Prozessor, um die Anweisungen auszuführen, um eine Geschwindigkeits-Kostenlandkarte zu erzeugen, die einer Umgebung zugeordnet ist, in der sich der Roboter befindet. Der Prozessor erzeugt die Geschwindigkeits-Kostenlandkarte basierend auf einem durch den Sensor erfassten Quellbild. Die Geschwindigkeits-Kostenlandkarte umfasst eine Geschwindigkeitsinformation, die eine Bewegung eines Hindernisses anzeigt, das in der Umgebung detektiert wird.
Abstract:
A computer system 100 has several processors. A first processor, such as a central processing unit 110, produces data to be used by a second processor, such as a graphics processor (GPU) 180. When the first processor creates a new version of the data, it determines the difference between the previous version and the new version. It writes a list of the differences to a memory 130 shared by the first and second processors. When the second processor needs to use the new version of the data, it reads the difference lists that have been written by the first processor and applies them to the data to produce the current version. The shared memory may be part of the memory in the second processor, to which the first processor has access. A backup copy of the old version of the data may be kept.
Abstract:
Ein Computersystem kann eine Computerplattform und Eingabe-/Ausgabegeräte umfassen. Die Computerplattform kann eine Vielzahl von heterogenen Prozessoren umfassen, die einen Hauptprozessor (CPU) und einen Grafikprozessor (GPU) umfasst, und einen gemeinsam benutzten virtuellen Speicher unterstützt durch einen physischen privaten Speicherplatz von mindestens einem heterogenen Prozessor oder einem physischen gemeinsam genutzten Speicher, der durch den heterogenen Prozessor gemeinsam benutzt wird. Die CPU (Erzeuger) kann gemeinsam benutzte Mehrversionsdaten erzeugen und diese gemeinsam benutzten Mehrversionsdaten in dem physischen privaten Speicherplatz oder dem physischen gemeinsam genutzten Speicher speichern. Die GPU (Verbraucher) kann die gemeinsam benutzten Mehrversionsdaten erlangen oder darauf zugreifen.
Abstract:
Disclosed is a method that may include hosting, by a virtual machine manager of a local machine, a virtual machine having a device driver. The method may include obtaining, by the virtual machine manager, from a stub driver on the remote machine, information about the I/O device on the remote machine. The I/O device on the remote machine may be bound to the stub driver on the remote machine. The method may include instantiating, by the virtual machine manager, a virtual I/O device on the local machine corresponding to the I/O device on the remote machine. The method may include collaborating, by the virtual machine manager, with the stub driver on the remote machine to effectuate a real access to the I/O device on the remote machine for an access to the virtual I/O device by the device driver on behalf of a program on the local machine. Other embodiments may be described and claimed.
Abstract:
A computer system may comprise a computer platform and input-output devices. The computer platform may include a plurality of heterogeneous processors comprising a central processing unit (CPU) and a graphics processing unit (GPU), for example. The GPU may be coupled to a GPU compiler and a GPU linker/loader and the CPU may be coupled to a CPU compiler and a CPU linker/loader. The user may create a shared object in an object oriented language and the shared object may include virtual functions. The shared object may be fine grain partitioned between the heterogeneous processors. The GPU compiler may allocate the shared object to the CPU and may create a first and a second enabling path to allow the GPU to invoke virtual functions of the shared object. Thus, the shared object that may include virtual functions may be shared seamlessly between the CPU and the GPU.
Abstract:
Various embodiments are generally directed an apparatus and method for configuring an execution environment in a user space for device driver operations and redirecting a device driver operation for execution in the execution environment in the user space including copying instructions of the device driver operation from the kernel space to a user process in the user space. In addition, the redirected device driver operation may be executed in the execution environment in the user space.
Abstract:
A page table entry dirty bit system may be utilized to record dirty information for a software distributed shared memory system. In some embodiments, this may improve performance without substantially increasing overhead because the dirty bit recording system is already available in certain processors. By providing extra bits, coherence can be obtained with respect to all the other uses of the existing page table entry dirty bits.