USER-CUDA with minimize

I've been preparing some GPU-accelerated simulations today, and I get
the error that USER-CUDA requires a CUDA variant of min_style cg (or
whichever minimization style I wished to use). This poses several
questions:
  (1) Is it even possible to do a minimization when the USER-CUDA package
      is active?
  (2) Are there any CUDA-compatible minimization styles (it doesn't look
      like it), and if not, will there ever be any?
  (3) Is it possible to turn off the USER-CUDA functionality during the
      minimization step, then turn it back on once that's over?
The last one I'm sure is wishful thinking, but I thought I'd ask.

It might be possible to use fix nve/limit (without using the GPU for that
part of the calculation) to do what the minimization would have been
doing. I would use the GPU package, which seems to be OK with
minimizations, but that is incompatible with pair styles tersoff and
tersoff/zbl (the GPU package requires the newton pair flag to be off,
whereas tersoff requires it to be on).

Suggestions are welcome.

Karl D. Hammond
University of Tennessee, Knoxville
[email protected]

"You can never know everything, and part of what you know is always
   wrong. A portion of wisdom lies in knowing that. A portion of courage
   lies in going on anyway."
"Nothing ever goes as you expect. Expect nothing, and you will not be
   surprised."

I've been preparing some GPU-accelerated simulations today, and I get
the error that USER-CUDA requires a CUDA variant of min_style cg (or
whichever minimization style I wished to use). This poses several
questions:
  (1) Is it even possible to do a minimization when the USER-CUDA package
      is active?

not via the minimize command, but you could do simulated annealing
using fix viscous or a temperature ramp. both of which as supported by
USER-CUDA, if i remember correctly.

  (2) Are there any CUDA-compatible minimization styles (it doesn't look
      like it), and if not, will there ever be any?

no and probably no. USER-CUDA is currently (mostly) unmaintained.
christian is working full time on the KOKKOS package, which promises
to use a more futureproof and portable approach to accelerators.

  (3) Is it possible to turn off the USER-CUDA functionality during the
      minimization step, then turn it back on once that's over?

no. but it would be trivial to run two inputs and avoid compatibility
clashes by using write_data/read_data to start from it.

The last one I'm sure is wishful thinking, but I thought I'd ask.

It might be possible to use fix nve/limit (without using the GPU for that
part of the calculation) to do what the minimization would have been
doing. I would use the GPU package, which seems to be OK with
minimizations, but that is incompatible with pair styles tersoff and
tersoff/zbl (the GPU package requires the newton pair flag to be off,
whereas tersoff requires it to be on).

newton pair is not the issue, but the fact that there is no tersoff/gpu style.

axel.