From: Paweł Kędzierski (pawel.kedzierski_at_pwr.wroc.pl)
Date: Thu Sep 01 2011 - 08:07:26 CDT

Dear John and Axel,
Thank you for the prompt replies. It's rather relaxing that (at least)
VMD does work as expected :-).
I felt a bit uncomfortable when I had read that NVidia is deliberatery
stripping down the number active CUDA cores in their "gaming" GPU's, and
then I saw only 2 CUDA processors reported by VMD.

I ran a little GPU activity monitor and apparently it reports 2 programs
using nvidia card when only VMD is active, which is consistent with
using it for OpenGL and CUDA in parallel.

OTOH, there is something broken with the Optimus technology and
switching between active cards. I tried to request running programs with
nvidia GPU from the Start menu of Win7, to set permanent associations of
programs with nvidia GPU, and even to set the entire system to use
nvidia card globally. In any case, vmd is the only program able to
utilize the nvidia card, as reported by the GPU activity monitor.
I have seen lots of reports of problems with Optimus on nvidia forums
but related to games, namely some games see the GPU and some do not.

Thanks,
Paweł

On 31.08.2011 17:19, John Stone wrote:
> Hi,
> The "SM" count reported by VMD is the number of
> "streaming multiprocessors" on the device. Each SM contains multiple
> smaller processing units, which on the graphics side are called "shaders".
> This is why you see 2 listed rather than 96. VMD will automatically use
> the GPU for calculation of electrostatics, display of molecular orbitals,
> calculation of radial distribution functions, and a few other things.
> The next version of VMD will use the GPU to accelerate much more.
> If you're curious how fast your GPU runs, you can run this command:
> vmdbench cudamadd 0
>
> Regarding VMD's use of the GPUs:
> VMD will always use CUDA whenever it can, irrespective of the
> display settings on the Intel IGP.
>
> On the graphics side, it does sound to me like you're using the
> NVIDIA GPU and not the Intel GPU based on the performance numbers
> you gave. Also, you can see that VMD identifies the attached OpenGL
> context as being connected to the NVIDIA GPU, and not the Intel IGP:
> Info) OpenGL renderer: GeForce GT 540M/PCI/SSE2
>
> Let us know if you have more questions.
>
> Cheers,
> John Stone
> vmd_at_ks.uiuc.edu

W dniu 31.08.2011 17:17, Axel Kohlmeyer pisze:
> dear pawel,
>
> 2011/8/31 Paweł Kędzierski<pawel.kedzierski_at_pwr.wroc.pl>:
>> Dear VMD users,
>>
>> I have recently bought a laptop with Nvidia card GT540M in order to make use
>> of CUDA software. This is a DELL XPS 502 with i7 SandyBridge, which means
>> "Optimus technology". The system is Windows 7 64bit Home Premium.
>> VMD 1.9 reports this:
>>
>> Info) Multithreading available, 8 CPUs detected.
>> Info) Free system memory: 4095MB (100%)
>> Info) Creating CUDA device pool and initializing hardware...
>> Info) Detected 1 available CUDA accelerator:
>> Info) [0] GeForce GT 540M 2 SM_2.1 @ 1.34 GHz, 2014MB RAM, KTO, OIO,
>> ZCP
>> Info) OpenGL renderer: GeForce GT 540M/PCI/SSE2
>> Info) Features: STENCIL MDE CVA MTX NPOT PP PS GLSL(OVF)
>> Info) Full GLSL rendering mode is available.
>> Info) Textures: 2-D (16384x16384), 3-D (2048x2048x2048), Multitexture (4)
>>
>> The driver is the original one which came with the system. As reported by
>> GPU-Z (dxdiag never shows nvidia info, only intel IGP, whatever I try) it
>> is:
>> nvlddmkm 8.17.12.6594 (ForceWare 265.94)
>>
>> Now the questions:
>>
>> the line with [0] reports "2 SM_2.1 @ 1.34 GHz" - does it mean, that it uses
>> only 2 out of 96 shaders (!!)?
> no. it means 2 multiprocessors, i don't know this GPU,
> but each multi processor probably has 48 cores.
>
>> if yes, what can I do to make use of more "cores" of this card for CUDA?
>> is it possible - with two graphic cards at hand - to make VMD use the Intel
>> IGP for display and NVidia for CUDA calculations?
> fi you configure your display to only use the intel chip
> for (OpenGL) graphics, then that is what VMD will use.
>
>> Actually right now VMD seem to be the only program which is able to run this
>> Nvidia chip on this system. Settings in both Win7 and NVIDIA Control Panel
>> does not seem to affect other programs. Even if I max out the performance
>> settings and set the system to use the GPU for everything, it does not seem
>> to work.
>> Therefore I am not even sure if VMD does use the GPU or only pretends to.
>> For example, I am getting about 30-34FPS in fullscreen (FullHD) when
>> rotating a 1RBX pdb structure in Licorice with Sphere and Bond resolutions
>> bumped up to 25. Does this kind of performance sound about correct or does
>> it rather indicate I am running on the integrated graphics?
> you have to separate CUDA and OpenGL.
> both are two separate APIs and VMD will use both.
> CUDA for certain computing tasks and OpenGL
> for graphics. the nvidia driver will do the "multiplexing".
>
> the OpenGL renderer line says that VMD uses
> the nvidia GPU for graphics. unless your driver
> does something crazy and "lies" about who and
> what it is, that is what i would assume is being used.
>
> axel.
>
>> Thanks in advance,
>> Pawel Kedzierski
>>