Dear Lammps users/developers,
is it possible to provide a pre-compiled up-to-date Lammps version for NVIDIA Fermi GPUs on Windows? Or can I use the latest version with Fermi support without any concerns (20170127)? When trying to use an up-to-date version compiled for the Kepler generation, I get the error:
Initializing Device and compiling on process 0…OpenCl error in file ‘geryon/ocl_kernel.h’ in line 103: -9999
Best regards,
Holger
Dear Lammps users/developers,
is it possible to provide a pre-compiled up-to-date Lammps version for NVIDIA Fermi GPUs on Windows? Or can I use the latest version with Fermi support without any concerns (20170127)? When trying to use an up-to-date version compiled for the Kepler generation, I get the error:
the latest version of pre-compiled LAMMPS binaries for windows is version 20Apr2018
the latest stable version of pre-compiled LAMMPS binaries for windows is version 16Mar2018
both should work with any nvidia hardware that has suitable OpenCL drivers installed. there is not much of a hardware specific programming going on when the GPU package is compiled for OpenCL instead of CUDA.
newer versions are currently not available, since there have been issues with our cross-compilation setup. this should be resolved soon, as we are closing in on a new stable release within the next month or so.
Initializing Device and compiling on process 0…OpenCl error in file ‘geryon/ocl_kernel.h’ in line 103: -9999
which version exactly is that, and how was it compiled?
axel.
When I use different versions, I get different results. The version 20170127 works with my setup (NVIDIA GTX 560, latest driver (391.35) and Cuda(9.2.88.1) installed, Win7). Newer version of LAMMPS, like 16Mar2018 and 20Apr2018 give the mentioned error. I used the precompiled version that you provide on http://packages.lammps.org/windows.html. The old version use OpenCL settings for NVIDIA Fermi, the newer version use NVIDIA Kepler settings, so I think the OpenCL setting could be my problem here. I attach also the output for the 3 different versions of LAMMPS.
Can you give me some hints how your cross-compilation environment looks like, e.g. which OS ?
In the “download area” you cannot distinguish between (older)stable and (older)latest releases, perhaps stable releases should be marked somehow.
Best regards,
Holger
fulllog.lammps (4.91 KB)
When I use different versions, I get different results. The version 20170127 works with my setup (NVIDIA GTX 560, latest driver (391.35) and Cuda(9.2.88.1) installed, Win7). Newer version of LAMMPS, like 16Mar2018 and 20Apr2018 give the mentioned error. I used the precompiled version that you provide on http://packages.lammps.org/windows.html. The old version use OpenCL settings for NVIDIA Fermi, the newer version use NVIDIA Kepler settings, so I think the OpenCL setting could be my problem here.
these device specific tweaks can be changed at run time via the “device” keyword of the “package gpu” program. the compilation only sets the default. please see http://lammps.sandia.gov/bug.html
I attach also the output for the 3 different versions of LAMMPS.
Can you give me some hints how your cross-compilation environment looks like, e.g. which OS ?
http://packages.lammps.org/mingw-cross.html
please note, the cross-compilation setup is quite fragile since it is currently not automatically tested in our CI environment and i have little time to update/test and thusfix cross-compilation build or packaging issues in a timely fashion.
In the “download area” you cannot distinguish between (older)stable and (older)latest releases, perhaps stable releases should be marked somehow.
http://lammps.sandia.gov/bug.html
axel.
FYI, the build issues with the cross-compiling to windows setup have been resolved with the 29 June 2018 patch release and new (unstable) installer packages are now available at packages.lammps.org
axel.
holger,
over the last couple of weeks, the LAMMPS developers have chased down
several issues in the GPU package, most of them related to compiling
it in OpenCL mode.
i've just created windows packages of the latest source development
snapshots that contain all those changes and uploaded them here:
http://rpm.lammps.org/windows/snapshots/index.html
if you have the time, please download and test. these should be
working for you. please note, that the "device" keyword for OpenCL is
merely tuning some parameters in how the work is distributed, so it
should only affect performance, not cause crashes. at least not with
GPUs. there has been some (backward compatible) updates to the syntax
of the device keyword argument, that allow setting a preferred OpenCL
platform (by default, the first platform with an accelerator is
selected) and also provide an option to customize the device tunings.
details are in the bundled manual (not yet in the online manual, as
that will be updated only with the next patch release).
thanks in advance,
axel.
Dear Axel,
thank you for your message, my answer is a bit delayed due to holidays.
It is running on a GTX 560 like the last stable version but of course, I haven't tested it extensively.
On a GTX 460 it is not running (the stable version is also not running), which is a bit surprising to me, because the hardware should be very similar.
I get the output :
Holger,
I have uploaded new Windows packages with the latest (release candidate) LAMMPS patch version (16Aug2018) to http://rpm.lammps.org/windows/32bit/index.html and http://rpm.lammps.org/windows/64bit/index.html
these include additional fixes for the GPU package and OpenCL support. please let us know, if there are still remaining issues for you. if yes, please provide a simple input deck, that will allow us to make tests ourselves.
thanks,
axel.
Axel,
there is still the same issue with a GTX 460, I have attached you files for testing. I invoke LAMMPS with the command
“c:\program files\LAMMPS 64-bit 16Aug2018\bin\lmp_serial.exe” -pk gpu 1 device fermi -sf gpu -in in.lammps
then.
Holger
data.lammps (395 KB)
in.lammps (738 Bytes)
Axel,
there is still the same issue with a GTX 460, I have attached you files for testing. I invoke LAMMPS with the command
“c:\program files\LAMMPS 64-bit 16Aug2018\bin\lmp_serial.exe” -pk gpu 1 device fermi -sf gpu -in in.lammps
then.
sorry, i cannot find any issues with this input deck on the hardware that i currently have access to.
i do have an old GTX 470 somewhere, but i am not able to access it, since i am currently away from the office.
have you compared driver levels between the machine that works and the machine that crashes? perhaps a driver update might help here?
since the GTX 4xx series is fairly old GPU hardware (considering that GPUs age much faster than CPUs, i.e. nvidia has just announced the latest generation of hardware, that is now 4 generations and 1 refresh removed from the GTX 4xx hardware), i am inclined to not investigate further. different people have already fixed a bunch of issues with OpenCL recently and we are in a much better shape than before. so there is already quite a bit of progress that has happened. since we don’t have infinite manpower, this looks like the point, where it seems better to focus on other known issues.
thanks for your support and reporting problems and testing snapshots and more…
axel.
Holger, the GTX 460 and the GTX 560 are CC 2.1/Fermi devices, which
are no longer supported for CUDA funcionality in Cuda >= 9.0.
If OpenCL on nVidia is provided through Cuda, there's a high chance
you'd have to go back to Cuda 8.x or "upgrade to GTX 660 or higher.
=> https://en.wikipedia.org/wiki/CUDA#GPUs_supported
=>
https://stackoverflow.com/questions/28932864/cuda-compute-capability-requirements
M.