From: John Stone (johns_at_ks.uiuc.edu)
Date: Sat Aug 06 2022 - 01:34:08 CDT

Hi,
  If you're just watching the CPU load during interactive OpenGL rendering,
you're only going to see a single CPU core get used, because OpenGL is an
inherently single-threaded API. OpenGL doesn't do well with multithreading
in a single context, and this is one of the reasons for the new Vulkan API.
Most of the things that invoke multithreading in VMD are very
compute-intensive calculations. The more recent VMD 1.9.4 builds make
greater use of multithreading also.
If you have more specific questions about the use of multicore CPUs in
VMD, let me know. Just be ware that OpenGL isn't the thing to try
and measure for this sort of thing.

Best,
  John Stone
  vmd_at_ks.uiuc.edu

On Wed, Aug 03, 2022 at 11:10:01AM +0000, toshiaki.tomimori_at_uniadex.co.jp wrote:
> Subject: Multi-core CPU does not work with VMD.
>
>
>
> Hi, can anyone advise me to solve these? Just wondering this is not the
> VMD work usually.
>
>
>
> This is what I'm considering using VMD with VMware and NVIDIA vGPU.
>
> The GPU used is NVIDIA A40 and the vGPU profile is nvidia_a40-8q.
>
> There are doubtful points when I try how the VMD work on VDI. If these
> are not the usual behaviors, I would like to know how to solve these.
>
>
>
> The combinations evaluated are as follows:
>
> VMD version 1.9.3 + RHEL 8.4
>
> VMD version 1.9.3 + RHEL 7.9
>
> VMD version 1.9.4 + RHEL 7.9
>
> There are the same results to me, in all conditions.
>
>
>
> Looks like CPU is single core processed.
>
> I used MD sample data of just one million atoms. I set to "VDW" as
> "Drawing Method of Graphics", the drawing performance was significantly
> slower. In the "top" command confirmed on the RHEL side, the load is
> leaned only to "Cpu6".
>
>
>
> ================================================================================
>
> %Cpu0 : 0.0 us, 0.4 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> %Cpu1 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> %Cpu2 : 0.0 us, 0.4 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> %Cpu3 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> %Cpu4 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> %Cpu5 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> %Cpu6 : 99.6 us, 0.4 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> %Cpu7 : 0.4 us, 0.4 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> %Cpu8 : 0.0 us, 0.4 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> %Cpu9 : 0.4 us, 0.0 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> %Cpu10 : 0.0 us, 0.4 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> %Cpu11 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> %Cpu12 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> %Cpu13 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> %Cpu14 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> %Cpu15 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si,
> 0.0 st
>
> KiB Mem : 12135108 total, 8341144 free, 2587752 used, 1206212
> buff/cache
>
> KiB Swap: 6160380 total, 6160380 free, 0 used. 9199748 avail Mem
>
> =================================================================================
>
>
>
> According to the "VMD version 1.9.3 user guide", VMD also supports GPU
> acceleration using CUDA, and takes advantage of both multi-core CPUs and
> GPUs for acceleration of electrostatics. I thought the load should
> balanced to multi CPUs, but it seems like not. Can anyone advise me the
> setting for making be balanced the load to multi CPUs?
>
>
>
> Multi-core CPU and GPU acceleration:
>
> https://www.ks.uiuc.edu/Research/vmd/current/ug/node13.html

-- 
Research Affiliate, NIH Center for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
http://www.ks.uiuc.edu/~johns/           
http://www.ks.uiuc.edu/Research/vmd/