MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: nVidia Optumus prevents using CUDA?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg122716] Re: nVidia Optumus prevents using CUDA?
  • From: Oliver Ruebenkoenig <ruebenko at wolfram.com>
  • Date: Mon, 7 Nov 2011 05:53:28 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201111041102.GAA29243@smc.vnet.net>

On Fri, 4 Nov 2011, Oleksandr Rasputinov wrote:

> On Thu, 03 Nov 2011 08:44:37 -0000, Oliver Ruebenkoenig
> <ruebenko at wolfram.com> wrote:
>
>>> 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.
>>>
>>>
>>
>> I filed this as a suggestion for a future version.
>>
>> Oliver
>>
>
> Many thanks. For reference, this support is not very difficult to
> implement: apart from some (trivial) changes to
> CCompilerDriver/MinGWCompiler.m and
> CCompilerDriver/CCompilerDriverRegistry.m, the only other prerequisite is
> to have the necessary libraries (ml32i3m.lib/ml64i3m.lib etc.) provided in
> GNU COFF format in addition to the ones in MS COFF format. Import
> libraries can be generated automatically from the associated DLLs (using
> MinGW gendef followed by dlltool), and static link libraries can be
> converted automatically as well (using MinGW ranlib). One thing to note is
> that MinGW-w64 is a multilib build--i.e. it can produce both 32- and
> 64-bit binaries--so you need to provide GNU COFF versions of both sets of
> libraries.
>
> The only problem I ran into in implementing the support myself was that
> ml32i3s.lib and ml64i3s.lib are linked against the static version of the
> MS C runtime (libcmt.lib), which means they cannot successfully be
> converted automatically due to certain dependencies. Fixing this is
> possible but would be a lot easier if they were instead linked against the
> dynamic C runtime (msvcrt.dll/msvcr80.dll etc.) instead--however, I didn't
> actually try as I couldn't think of any reason why one would want to build
> a statically-linked MathLink program in the first place, so for me these
> libraries are superfluous anyway.
>

I am anything else but an expert on this, so I asked around a little. 
The following is about MinGW-64w. The problem here is that the DLL C 
run-time lib does not ship with Windows. So it needs to be installed 
additionally, possibly requiring admin privileges. Also, the the DLL c 
run-time lib changes from Visual Studio version to version. It looks 
unlikely this is going to be part of Mathematica.

Oliver



  • Prev by Date: Re: Delayed symbol resolution
  • Next by Date: Re: What gets put in ~/.Mathematica and why?
  • Previous by thread: Re: nVidia Optumus prevents using CUDA?
  • Next by thread: Re: nVidia Optumus prevents using CUDA?