Re: nVidia Optumus prevents using CUDA?
- To: mathgroup at smc.vnet.net
- Subject: [mg122789] Re: nVidia Optumus prevents using CUDA?
- From: DmitryG <einschlag at gmail.com>
- Date: Thu, 10 Nov 2011 06:55:26 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j8nuj1$ee5$1@smc.vnet.net> <j8r9hu$3jk$1@smc.vnet.net> <j90gjt$sff$1@smc.vnet.net>
On Nov 4, 6:00 am, "Oleksandr Rasputinov" <oleksandr_rasputi... at hmamail.com> wrote: > On Thu, 03 Nov 2011 08:48:48 -0000, DmitryG <einsch... at gmail.com> wrote: > > On Nov 2, 4:29 am, "Oleksandr Rasputinov" > > <oleksandr_rasputi... at hmamail.com> wrote: > >> On Tue, 01 Nov 2011 05:03:29 -0000, 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 nVidiaOptimusmanager 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 won't comment on the CUDA issue as it's not something that I'm > >> familiar > >> with. However, I have had Visual C++ 2010 working with Mathematica > >> (8.0.1; > >> I haven't got 8.0.4 yet) without difficulty. The installation is > >> slightly > >> convoluted; here are my notes on the matter: > > >> Minimal installation of Microsoft Visual C++ 10.0 (2010) SP1 > > >> Note that this installation does not include the Visual Studio IDE, > >> help, > >> tools, etc. Only the build system, compilers, headers, and libraries > >> will > >> be installed. > > >> 1. Get the Microsoft Windows SDK 7.1 for Windows 7 and .NET Framework 4: > > >> http://www.microsoft.com/download/en/details.aspx?id=8442 > > >> 2. From the SDK, install at least the headers and libraries, but do not > >> install the compilers. The headers and libraries will be installed for > >> the > >> x86, x64, and IA64 platforms. To keep the installation self-contained, > >> and > >> for for consistency with Visual Studio, one may install to > >> %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\SDK rather than the > >> default location. > > >> 3. Get the Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for > >> the Windows SDK 7.1: > > >> http://www.microsoft.com/download/en/details.aspx?id=4422 > > >> 4. Install the Compiler Update. This will install x86, x64, and IA64 > >> compilers. > > >> 5. If support for the IA64 platform is not required, one can remove the > >> IA64 compiler via Add/Remove Programs (if present there) and then simply > >> delete all of the directories installed by either the SDK or the > >> Compiler > >> Update that contain IA64-specific files. (Note that the Compiler Update > >> will install the x86-hosted IA64 cross-compiler along with the x86 > >> compiler even if the IA64 compiler itself is not installed.) The > >> directories to delete can easily be identified since they all have > >> "IA64" > >> as part of the name. This saves about 200MB of space. Note that apart > >> from > >> the main installation directory, some (small) files are also installed > >> into %ProgramFiles(x86)%\MSBuild, including some for IA64 in > >> MSBuild\Microsoft.Cpp\v4.0\Platforms\IA64. > > >> 5. After installing, it is recommended to run Microsoft Update in case > >> any > >> patches are required. > > >> As you see, this does not involve Visual Studio Express, which I > >> deliberately avoided since it does not include the 64-bit compilers > >> necessary for operation with Mathematica. Personally, I use MinGW-w64 > >> GCC > >> 4.6.1 rather than Visual C++; this works perfectly well also but does > >> require modifications to Mathematica which I will not discuss here other > >> than to say that it would be nice if this compiler could be supported > >> without need of modifications in a future release. > > > It is unfortunately Mathematica 8.0.4 that does not accept any > > compilers except of the Intel C Compiler, according to > > CCompilers[Full]. Checked on Windows 7 and Mac Snow Leopard. > > > Dmitry > > Don't be too discouraged by CCompilers[Full]. On 8.0.1 I get: > > In[2]:= CCompilers[Full] > > Out[2]= {{"Name" -> "MinGW", > "Compiler" -> CCompilerDriver`MinGWCompiler`MinGWCompiler, > "CompilerInstallation" -> > "C:\\MinGW-w64\\bin\\x86_64-w64-mingw32-gcc.exe", > "CompilerName" -> Automatic}, {"Name" -> "Intel Compiler", > "Compiler" -> CCompilerDriver`IntelCompiler`IntelCompiler, > "CompilerInstallation" -> None, > "CompilerName" -> Automatic}, {"Name" -> "Generic C Compiler", > "Compiler" -> CCompilerDriver`GenericCCompiler`GenericCCompiler, > "CompilerInstallation" -> None, "CompilerName" -> Automatic}} > > (where MinGW reflects my own modifications to work with MinGW-w64; this is > not standard). As you can see, Visual C++ is missing. But, when I > installed Visual C++ per the directions above, it did show up in > CCompilers[] and it did work correctly. Not sure why CCompilers[Full] > omits it (but you can look at the package source code to find out if > you're curious). > > O. R. Hi Oleksandr, I had a number of Microsoft Visual Redistributable files installed on my computer. Following you above post, I have uninstalled them, including Microsoft Visual C++ Express. And installed the update to SDK 7.1 that I already had. Indeed, there are C compilers in this update and they are now listed among my installed programs. On the HD now I have C:\Program Files (x86)\Microsoft Visual Studio 10.0 (contains cl.exe in "Bin" - this must be the C++ compiler) C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1 (only readme_windows_sdk_v71_update.htm inside) C:\Program Files (x86)\Microsoft.NET C:\Program Files\Microsoft SDKs\Windows\v7.1 Mathematica 8.0.4 still does not list Microsoft Visual in CCompilers[] and CCompilers[Full]. I have filed a support ticket today, let's see what will be the answer. How can I test independently of Mathematica that the installed C compilers work on my computer? I see there is no information about the installed compiler and the SDK in the Windows Path statement. Another thing: Mathematica 8.0.4 on my Mac Pro now recognizes GCC compiler. Thus there is a problem only on my new laptop. Best, Dmitry