337b0fd649
Fix 'sametag' transfer
2019-12-22 20:20:12 +03:00
a3fca53e97
Separate the computation of newsite into another kernel
...
This eliminates the need for thread fence and makes the calculation stable on GTX1070 (CUDA and OpenCL) and TitanV
2019-12-07 15:54:20 +03:00
4a51e1660f
Add thread fence in kernel to fix Volta indeterminacy
2019-12-07 01:16:39 +03:00
a2f9fa8e78
Separate the computation of hneigh into another kernel
...
Simplify the main GPU kernel and add another kernel 'k_pair_reneigh'. It works good on GTX1070 (Pascal), but still there is a problem with non-deterministic results on Volta.
I reimplement BaseCharge::compute methods in the child class LJ_TIP4PLong to correctly embed a new kernel in the code.
Also commit includes some codestyle fixes.
2019-12-06 21:41:02 +03:00
66a076b819
Delete "float.h" from TIP4P GPU kernel for better OpenCL compatibility
...
According to Khronos OpenCL docs, "The C99 standard headers <...>, float.h, <...> are not available and cannot be included by a program"
2019-11-27 19:49:12 +03:00
4febc7f794
Add copyright and fix style
2019-11-18 02:01:32 +03:00
ca8d1ac2ff
Simplify tip4p GPU memory resize using 'resize_ib'
2019-11-18 02:01:32 +03:00
f803ba5655
Add shfl_xor sum to kernel for ARCH>=300
2019-11-12 21:35:36 +03:00
64bdc59623
Implement GPU pair style lj/cut/tip4p/long/gpu
...
Source code, Makefiles and Install for GPU-accelerated TIP4P pair style.
It is implemented as a part of the standard GPU package.
The style is compatible with the standard lj/cut/tip4p/long.
Also, this commit modifies "atom.h" just to
add a getter for variable 'max_same'.
2019-11-10 02:38:58 +03:00
a0d74ca2ae
Bug fix for gay-berne potential when mu != 1.0.
2019-10-27 22:31:00 -07:00
86f644979c
Updated pppm
2019-10-20 00:18:28 -05:00
dfbee32575
Fixing issues with growing memory allocation with multiple init calls
2019-10-19 23:35:52 -05:00
e832b5d50b
make clang++ happy when trying to compile the GPU library
2019-07-12 15:42:16 -04:00
46a9772a6d
Minor clean-up
2019-07-05 12:12:29 -05:00
49f27573a7
Fixed a bug in lj96 involving missing the special_lj factor
2019-07-03 23:44:33 -05:00
8c3d18520d
add missing include needed on ppc64le
2019-06-26 10:45:31 -06:00
2f29bd29f4
Merge pull request #1430 from ndtrung81/gpu-neigh-hybrid
...
Enable neighbor build on the device for pair hybrid substyles
2019-06-17 14:12:40 -04:00
8145c5028d
Fix OpenCL compilation errors due to bad comments in macros
2019-04-30 00:44:12 -04:00
4a4297591e
Did some more cleanups
2019-04-17 12:04:31 -05:00
1f43efc111
Cleaned up the changes in Device and the base class of the pair styles
2019-04-17 00:09:49 -05:00
c55009a0ac
Enabled neighbor list build on the device with pair_style hybrid and hybrid/overlay
2019-04-16 23:30:25 -05:00
cd6b23d104
explicitly request OpenCL version 1.2 compatibility when compiling GPU package kernels for OpenCL
2019-03-22 09:50:31 -04:00
8ee1fefe19
add pointer to README and Manual to help.
2019-01-31 18:46:43 -05:00
763dda64af
update lib/gpu/README to current state
2019-01-31 18:45:17 -05:00
1465352454
some cleanups and small bugfixes to conform better with python conventions
2019-01-28 17:37:05 -05:00
c3a15e221d
use sys.exit() instead of the removed error() function
2019-01-14 14:13:40 -05:00
1e1f754d0c
make gpu library Install.py use argparse module
2019-01-14 12:52:21 -05:00
4168855ba3
reduce distracting nvcc (or rather ptxas) verbosity
2018-12-03 19:27:03 -05:00
e5c555fa7d
consolidate shared code from various Install.py files into install_helpers.py
2018-12-03 17:50:20 -05:00
eda79bd1c2
use shutil.rmtree() instead of calling 'rm -rf' for increased portability
2018-11-28 20:46:50 -05:00
f254b8e3a3
Merge pull request #1226 from akohlmey/cmake-gpu-enhancements
...
Enhancements for using CMake with the GPU package, improved compatibility with cmake 3.x versions, improved handling of shared library building.
2018-11-27 16:05:47 -05:00
5df2f92651
minor cleanup in lib/gpu
2018-11-26 18:22:33 -05:00
e0ff230268
remove comment-in-comment
2018-11-26 17:03:48 -05:00
ccacf0d4bb
Merge pull request #1048 from lammps/doc-reorg-start
...
Documentation Refactoring: Section Start
2018-08-15 15:25:17 -06:00
9c3748e07c
change Python.txt to Python_head.txt, adapt GPU package syntax
2018-08-15 07:31:31 -06:00
7ec52784cb
more changes to doc pages and CMakeLists.txt
2018-08-14 15:44:25 -06:00
65d11171c4
Replace functions which were deprecated since CUDA 5
2018-08-09 03:36:21 -04:00
6d60075d3b
GPU Package: Use __shfl_xor_sync starting with CUDA 9
2018-08-09 02:33:35 -04:00
ac7aeb6862
Add extra check for OpenCL timers
...
Fixes issue #1034 by preventing time() to access non-existent OpenCL events
2018-08-07 21:43:59 -04:00
923ae041dc
(temporary) workaround for memory leaks with OpenCL and MPI for upcoming stable release
2018-07-23 15:52:42 -04:00
644888d03c
Fixed bugs with time_q and time_quat not calling start() and stop() when _charge and/or _rot in Atom are true for OpenCL builds
2018-07-22 15:12:45 -05:00
b612c7ee75
Fixed a copy-paste bug in lal_neighbor.cpp for neigh no
2018-07-22 13:15:01 -05:00
d71e037c23
Renamed dev_acc to dev_ilist for better description and updated the 3-body styles accordingly; also fixed bugs with accessing dev_packed from the three_end kernel of tersoff/mod and tersoff/zbl gpu styles for OpenCL builds
2018-07-22 11:27:14 -05:00
94da4be922
Fixed bugs for tersoff gpu styles for OpenCL builds
2018-07-21 13:50:10 -05:00
01c27194d4
Fixes for lal_neighbor.cpp for get_host() and for time_kernel
2018-07-21 00:18:30 -05:00
223de57401
Added set_platform_accelerator() for nvd_device.h for OpenCL compatibility
2018-07-21 00:14:31 -05:00
884e72a4ba
Merge pull request #1008 from akohlmey/support-platform-select
...
OpenCL related fixes and improvements to the GPU package
2018-07-20 14:32:49 -06:00
de8176b4fc
various minor OpenCL related fixes and improvements to the GPU package
...
- document previously undocumented OpenCL tune settings
- implement OpenCL platform selection through prefixing the device type with the platform id separated by a colon
- allow passing custom tune parameters though postfixing the device type with the 13 tuneable parameters separated by commas
- remove an extra clear() that would delete device properties structs an cause LAMMPS to output garbage strings
2018-07-20 14:41:54 -04:00
2eb8d779e8
Fixes a memory leak when using OpenCL
...
The GPU package uses OpenCL events for measuring time. These have to be
released to free up memory. I removed the clReleaseEvent() calls in the
clear() method because in some cases they don't exist yet and I couldn't
find a way to check for a valid event (clRetainEvent didn't work). This
at least fixes the massive leak during simulations.
See issue #1006
2018-07-18 18:54:57 -04:00
ad4f61a5ce
update fatbin makefile for libgpu.a to latest additions
2018-07-10 09:07:54 -04:00