
I'll just quote something I have written in another post here: I haven't tinkered with any conf files at all beyond what was detailed in the guide.
#NVIDIA EGPU DRIVERS OPTIMUS CODE#
The next two code samples illustrate the best method of choosing a CUDAĬapable device with the best performance.Well I just very strictly followed this guide which you linked, and it was incredible at simplifying the experience.
#NVIDIA EGPU DRIVERS OPTIMUS DRIVER#
The CUDA API functionsĬudaGetDeviceProperties (CUDA runtime API), andĬuDeviceComputeCapability (CUDA Driver API) are used. In this guide discuss this topic in more detail.įor CUDA applications, finding the best CUDA capable device is done CUDA Support with DirecX InteroperabilityĪnd CUDA Support with OpenGL Interoperability Interop, there are restrictions that developers need to be aware of whenĬreating a Direct3D or OpenGL context that will Then create a CUDA context on this CUDA-capable device even when it isįor applications that require use of Direct3D/CUDA or OpenGL/CUDA The existence of a second device in the system – the NVIDIA GPU – and In this case, it is important for the application to detect Notebook (which is an IGP-connected display), would see that the primaryĭisplay device is the Intel's graphic adapter – a chip not capable of For example, a CUDAĪpplication launched on the LVDS panel of an Optimus Please consult the Optimus white paper for moreĬUDA developers should understand this scheme because it affects howĪpplications should query for GPU capabilities. NVIDIA GPU, the final rendered frames are copied to the IGP’s display If the driver decides to run the application on the When the display is connected to an IGP head, the NVIDIAĭriver decides if an application on that display should be rendered on When aĭisplay is connected to a GPU head, all rendering and compute on thatĭisplay happens on the NVIDIA GPU just like it would on a typicalĭiscrete system. Optimus systems all have an Intel IGP and an NVIDIA GPU.ĭisplay heads may be electrically connected to the IGP or the GPU. It is strongly recommended toįollow these guidelines to ensure CUDA applications are compatible with all notebooks This document provides guidance to CUDA developers and explains how NVIDIA CUDA APIs canīe used to query for GPU capabilities in Optimus systems. No proprietary hoops to jump through NVIDIA. Utilizing the PCI-Express bus to transfer the GPU’s output to the Intel IGP, there are The beauty of Optimus is that it leverages standard industry protocols and APIs to work.įrom relying on standard Microsoft APIs when communicating with the Intel IGP driver, to Powered off and the Intel IGP handles both rendering and display calls to conserve powerĪnd provide the highest possible battery life. When the user closes all applications that benefit from the GPU, the discrete GPU is In effect, the IGP is only being used as a simple displayĬontroller, resulting in a seamless, flicker-free experience with no need to reboot. Using NVIDIA’s Optimus technology, when the discrete GPU is handling all the renderingĭuties, the final image output to the display is still handled by the Intel integrated The GPU, the GPU is powered up from an idle state and is given all rendering calls. If the application can benefit from running on User launches an application, the NVIDIA driver will recognize whether the applicationīeing run can benefit from using the GPU. IGP for an application, the NVIDIA driver will enable the GPU. When the GPU can provide an increase in performance, functionality, or quality over the The result is long lasting battery life without sacrificing great graphics performance,ĭelivering an experience that is fully automatic and behind the scenes. GPU-Compute applications, video, and 3D games and low power integrated graphics forĪpplications like Office, Web surfing, or email. It automaticallyĪnd instantaneously uses the best tool for the job – the high performance NVIDIA GPU for Optimus™ is a revolutionary technology that delivers greatīattery life and great performance, in a way that simply works.
