Re: nVidia Optumus prevents using CUDA?
- To: mathgroup at smc.vnet.net
- Subject: [mg122582] Re: nVidia Optumus prevents using CUDA?
- From: DmitryG <einschlag at gmail.com>
- Date: Wed, 2 Nov 2011 06:21:33 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j8nuj1$ee5$1@smc.vnet.net>
On Oct 31, 10:03 pm, DmitryG <einsch... at gmail.com> wrote: > Hi All, > > Being interested in GPU computations, I have bought a new powerful > laptop Lenovo Y570 ($1080) that has, according to my test today, a > 1.05 Mathematica 8.0.4 benchmark, under Windows 7 64 bit. > > The main reason to buy this laptop was that it has nVidia Geforce 555M > graphic card that is one of the best in the consumer range and has 96 > CUDA cores. > > I have got the new Mathematica 8.0.4 activated today and the first > thing was to try out CUDA. To my disappointment, it appears that > Mathematica does not see the nVidia GPU at all, and all that it sees > is the integrated Intel HD graphics. Thus CUDAInformation[] command > outputs "CUDAInformation::invdevnm: "CUDA is not supported on device \! > \(\"Intel(R) HD Graphics Family\"\)." > > I know that there is nVidia Optimus manager that tries to redistribute > the load between the integrated HD graphics and the nVidia GPU. Also > there is a hardware switch in my laptop to activate or deactivate the > GPU. Thus I have GPU activated per this switch and also in the "Manage > 3D settings -> Global settings" of the nVidia control panel I have > checked nVidia as the preferred graphic processor (other options are > Automatic and integrated HD graphics). However, this did not bring > anything to the way Mathematica works with CUDA. > > I do not know if the above is related to another disappointment. I > have installed Microsoft Visual C++ 2010 express, as on my previous > Win 7 64 bit laptop (that has a too old nVidia card, though) and it > turned out that it does not work with Mathematica. Even the command > CCompilers[Full] does not say that Microsoft Visual can be installed > on my system, there are only Intel Compiler and a generic C compiler > in the list. I don't know why there is such a difference with my > previous laptop. I have checked Windows SDK and it is installed. What > else? > > It seems that there is some relation between CUDa and C compiler, > maybe a C compiler is a prerequisite for CUDA? > > It appears I have serious problems with Mathematica on my new laptop, > and any advice will be appreciated. > > Dmitry I have sorted out the problems and I report on this subject because it may be interesting for many. First, although my laptop is brand-new, the driver version if the graphic card was below the minimal 270 required by Mathematica 8.0.4. So I installed the latest version 285 of the nVidia driver. Second, I have sorted out how to set in nVidia's control panel nVidia as the preferred device for Mathematica. For other programs, I've left the general setting Intel HD graphics as the preferred device. Thus the problem with nVidia Optimus has been solved. After that my new Mathematica 8.0.4 recognizes the nVidia graphic card. A great disappointment, however, is that the results of CUDADot are not better than those of my old laptop with an old nVidia card. So why have I then bought this new laptop? On real matrices CUDADot is slower than the regular Dot and, in addition, CUDADot crashes for the square-matrix size above 2000. Is my 1 GB video memory not enough for this? Boll Rowe suggested in this forum that the reason is that old nVidia cards cannot operate on double-precision floats. He suggested to try matrices of integers and, indeed, CUDADot was faster than Dot. Now I have a modern nVidia card that has it explicitly indicated that it works with double-precision floats and it is useless for my numerical calculations, too. What else am I doing wrong? Are there any ideas to make numerical GPU rewarding? Best regards, Dmitry