Running with both USER-OMP and USER-CUDA

I was trying to run Lammps (LJ) with both USER-OMP and USER-CUDA packages following this ( post.

I added the following lines at the top of the input script (in.lj.cuda) replacing the “-sf cuda” in the command line.

package cuda gpu/node 1
package omp * force/neigh

Other variables are unchanged and as follows -

units lj
atom_style atomic (this gives an error)
lattice fcc 0.8442
region box block 0 $x 0 $y 0 $z
create_box 1 box
create_atoms 1 box
mass 1 1.0
velocity all create 1.44 87287 loop geom
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
neighbor 0.3 bin
neigh_modify delay 0 every 20 check no
fix 1 all nve
run $t

But I get the following error -
ERROR: USER-CUDA package requires a cuda enabled atom_style (…/atom_vec.cpp:81)

However, atom_style is specified and unchanged.

When using “-sf cuda”, everything works fine.
Any idea what I am missing?


If you are saying that you run without the -sf cuda
switch and atom_style atomic gives you an error
that you are not using a CUDA-enabled atom style,
then that is correct behavior.

You either have to use -sf cuda, or specify
atom_style atomic/cuda, in order to use anything
in USER-CUDA. I.e. all the pair styles, fix styles, etc

require a CUDA atom style.


Great, it works !
My mistake was to remove “-sf cuda” and think that “package cuda gpu/node 1” will have the same effect.

Thanks for the help.