-
Hello! I am trying to implement a user-defined potential in HOOMD while accelerating my HPMC simulations with the GPU. I previously installed the HOOMD GPU-enabled binary for CUDA 12.2, and confirmed that HOOMD is picking up the GPU. I copied the tutorial script in the following webpage (https://hoomd-blue.readthedocs.io/en/v4.5.0/howto/cpppotential.html) to a python script called test.py and obtained the expected output. However, when I changed the line (hoomd2) [dchien@bhg0042 benchmark]$ python test.py Remark: The warnings can be suppressed with "-diag-suppress " ../limits(218): error: identifier "CHAR_BIT" is undefined ../limits(319): error: identifier "FLT_MANT_DIG" is undefined ../limits(320): error: identifier "FLT_DIG" is undefined ../limits(328): error: identifier "FLT_RADIX" is undefined ../limits(332): error: identifier "FLT_MIN_EXP" is undefined ../limits(333): error: identifier "FLT_MIN_10_EXP" is undefined ../limits(334): error: identifier "FLT_MAX_EXP" is undefined ../limits(335): error: identifier "FLT_MAX_10_EXP" is undefined ../limits(322): error: identifier "FLT_MIN" is undefined ../limits(323): error: identifier "FLT_MAX" is undefined ../limits(329): error: identifier "FLT_EPSILON" is undefined ../limits(343): error: identifier "__builtin_huge_valf" is undefined ../limits(344): error: identifier "__builtin_nanf" is undefined ../limits(345): error: identifier "__builtin_nansf" is undefined ../limits(351): error: identifier "FLT_DENORM_MIN" is undefined ../limits(371): error: identifier "DBL_MANT_DIG" is undefined ../limits(372): error: identifier "DBL_DIG" is undefined ../limits(380): error: identifier "FLT_RADIX" is undefined ../limits(384): error: identifier "DBL_MIN_EXP" is undefined ../limits(385): error: identifier "DBL_MIN_10_EXP" is undefined ../limits(386): error: identifier "DBL_MAX_EXP" is undefined ../limits(387): error: identifier "DBL_MAX_10_EXP" is undefined ../limits(374): error: identifier "DBL_MIN" is undefined ../limits(375): error: identifier "DBL_MAX" is undefined ../limits(381): error: identifier "DBL_EPSILON" is undefined ../limits(395): error: identifier "__builtin_huge_val" is undefined ../limits(396): error: identifier "__builtin_nan" is undefined ../limits(397): error: identifier "__builtin_nans" is undefined ../limits(403): error: identifier "DBL_DENORM_MIN" is undefined 29 errors detected in the compilation of "default_program". I am wondering, then, if the CPPPotential function is supported when using the GPU as a device. Is there a way to fix this issue or is there a different function in HOOMD that can run user-defined potentials while still using the GPU? Let me know if so. Thank you! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
In the newly released HOOMD-blue 4.6.0, you can use I have not previously seen the specific error you report, but I have seen many like it. Fixing these usually requires many days of effort to replicate the error (matching compiler and CUDA environments) and then finding the right tweak to make to As you can see in your output, |
Beta Was this translation helpful? Give feedback.
In the newly released HOOMD-blue 4.6.0, you can use
hpmc.pair.Step
andUnion
potentials without needingCPPPotential
. The new potentials do not support the GPU, but that is for the best as the GPU implementation ofCPPPotential
was almost always much less efficient than the CPU. Furthermore,hpmc.pair.Step
is much faster than an equivalent implementation withCPPPotential
on the CPU.I have not previously seen the specific error you report, but I have seen many like it. Fixing these usually requires many days of effort to replicate the error (matching compiler and CUDA environments) and then finding the right tweak to make to
jitify.hpp
.As you can see in your output,
CPPPotential
is depr…