Previous Thread
Next Thread
Print Thread
Building CUDA enabled CHARMM with GNU compilers
#37491 05/09/19 04:13 PM
Joined: May 2019
Posts: 3
S
Forum Member
OP Offline
Forum Member
S
Joined: May 2019
Posts: 3
Dear all,
I succeed in compiling the serial and MPI enabled version of CHARMM c41b2 (nearly) out of the box on behalf of the GNU Compiler collection.
Instead, I am having serious trouble compiling the GPU accelerated version:
Nvcc succeeds building all requested CUDA Kernels. However, the succeeding compilation of the CHARMM code itself fails somehow.
Gfortran complains about missing variable definitions cause of precompiler macro definitions being not set. Finally, gfortran throws strange
"Unclassifiable statement at (1)" error during the compilation of the file enbonda_cff.F90 (which results from preprocessed source of enbonda_cff.src)
as soon as the macro KEY_FLUCQ is set.

Is the GPU enabled version of CHARMM supposed to compile on behalf of gcc/gfortran?

Thanks for your support and attention
Sebastian

Re: Building CUDA enabled CHARMM with GNU compilers
Sebastian Kraus #37492 05/09/19 04:57 PM
Joined: Sep 2003
Posts: 8,499
rmv Online Content
Forum Member
Online Content
Forum Member
Joined: Sep 2003
Posts: 8,499
Which build procedure, install.com or configure/cmake?

What command line options were used for the build procedure?

Which GPU code? OpenMM? DOMDEC_GPU? The GPU machine type?

What OS and version? Which GCC version?

The free version (charmm), or the paid academic license fee version (CHARMM)?


Last edited by rmv; 05/09/19 04:59 PM. Reason: forgot a question

Rick Venable
computational chemist

Re: Building CUDA enabled CHARMM with GNU compilers
Sebastian Kraus #37493 05/10/19 12:36 PM
Joined: May 2019
Posts: 3
S
Forum Member
OP Offline
Forum Member
S
Joined: May 2019
Posts: 3
Hi Rick,

one small correction:
The error was not about file named enbonda_cff.F90/enbonda_cff.src, but rather flucq.F90/flucq.src.

>> Which build procedure, install.com or configure/cmake?
>> What command line options were used for the build procedure?

Both methods:
1) ./install.com gpu (does not work)
2) ./install.com gnu (serial, works)
2) ./configure --without-domdec --without-mkl --without-mpi --without-openmm --with-gn && make (serial, works)

Is there any possibility to build CHARMM with CUDA support (no OpenMM/DomDec) via configure/cmake method?


>> What OS and version? Which GCC version?

Manjaro 18 and gfortran/gcc 8.3.0.


>> The free version (charmm), or the paid academic license fee version (CHARMM)?

Academic license.

Regards
Sebastian

Re: Building CUDA enabled CHARMM with GNU compilers
Sebastian Kraus #37494 05/10/19 02:34 PM
Joined: Sep 2003
Posts: 4,794
Likes: 2
Forum Member
Online Content
Forum Member
Joined: Sep 2003
Posts: 4,794
Likes: 2
I'm not sure that install.com GPU actually works. Version 41 is two years old now, and you can get c43b1 - the free version contains everything (including GPU support via OpenMM) except domdec.

For installation with GPU support using OpenMM you need this (see openmm.doc):
./install.com gnu openmm

For installation with GPU and domdec see domdec.doc.


Lennart Nilsson
Karolinska Institutet
Stockholm, Sweden
Re: Building CUDA enabled CHARMM with GNU compilers
Sebastian Kraus #37495 05/10/19 03:37 PM
Joined: Sep 2003
Posts: 8,499
rmv Online Content
Forum Member
Online Content
Forum Member
Joined: Sep 2003
Posts: 8,499
I believe the GPU machine type is legacy code that probably should have been removed.

Our lab has made good use of domdec_gpu, but it is a hybrid method and requires a good balance of CPU, GPU, and a fast node interconnect such as Infiniband for optimal use.

OpenMM works well on GPUs, although I've come to prefer the Python interface. It can read CHARMM files, notably topology, parameter, psf, and coord files; it produces CHARMM compatible trajectory files, a.k.a. DCD format. I'm not sure the CHARMM implementation supports some newer features available with the OpenMM Python interface, such as Drude force fields, long range VDW via LJ-PME, or the Nose-Hoover thermostat.

OpenMM is good for producing ensembles, but needs further development to support computing time dependent properties such as relaxation phenomena, diffusion, and viscosity.


Rick Venable
computational chemist

Re: Building CUDA enabled CHARMM with GNU compilers
Sebastian Kraus #37496 05/11/19 01:15 PM
Joined: May 2019
Posts: 3
S
Forum Member
OP Offline
Forum Member
S
Joined: May 2019
Posts: 3
Dear Rick, Dear Lennart,
thanks for your suggestions.
Managed to build a charmm binary with OpenMM support from free release c43b2 of CHARMM. Instead, both GPU and OpenMM builds within release c41b2 seem to be horribly borken either for install.com and configure/make installation method.

Best
Sebastian


Moderated by  lennart, rmv 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.4
(Release build 20200307)
Responsive Width:

PHP: 5.6.33-0+deb8u1 Page Time: 0.011s Queries: 26 (0.004s) Memory: 0.9338 MB (Peak: 1.0323 MB) Data Comp: Off Server Time: 2020-10-01 14:10:31 UTC
Valid HTML 5 and Valid CSS