Commit Graph

410 Commits

Author SHA1 Message Date
7c9666798e whitespace 2022-10-08 09:34:20 -04:00
7551c0a3ca GPU Package: Documenting some additional preprocessor flags, updating oneapi Makefile. 2022-10-07 22:44:21 -07:00
5a98a38e24 GPU Package: Switching to parallel GPU initialization / JIT compilation. 2022-10-07 13:25:14 -07:00
f715f174bb GPU Package: Print OCL platform name to screen when multiple platforms 2022-10-06 21:40:42 -07:00
a6a39d47e1 Fixing potential issues with automatic splitting of accelerators for NUMA. 2022-10-06 20:48:02 -07:00
e9f39f85d2 Fixing issue where shared main memory property only set for NVIDIA devices. 2022-10-06 20:05:33 -07:00
fb675028b9 whitespace 2022-09-29 02:42:11 -04:00
71464d8314 GPU Package: Fixing logic in OpenCL backend that could result in unnecessary device allocations. 2022-09-28 22:30:09 -07:00
6e34d21b24 GPU Package: Switching back to timer disabling with multiple MPI tasks per GPU. Logic added to prevent mem leak. 2022-09-28 21:02:16 -07:00
167abe9ce0 add preprocessor flags to select between the changed and the old code variant 2022-09-09 12:41:24 -04:00
0d2db984eb Merge branch 'develop' into benmenadue/develop 2022-09-06 19:25:21 -04:00
294a1c2168 Use primary context in CUDA GPU code.
Since LAMMPS uses the low-level driver API of CUDA, it needs to ensure
that it is in the correct context when invoking such functions. At the
moment it creates and switches to its own context inside `UCL_Device::set`
but then assumes that the driver is still in that context for subsequent
calls into CUDA; if another part of the program uses a different context
(such as the CUDA runtime using the "primary" context) this will cause
failures inside LAMMPS.

This patch changes the context creation to instead use the primary
context for the requested device. While it's not perfect, in that it
still doesn't ensure that it's in the correct context before making
driver API calls, it at least allows it to work with libraries that use
the runtime API.
2022-09-06 09:28:51 +10:00
51a4819bfc Fixed an illegal preprocessor issue. 2022-09-02 11:42:30 -04:00
8d77c1daee Merge remote-tracking branch 'origin/develop' into tip4p_cornercase 2022-08-25 17:58:17 +03:00
baf3e614fb Add comments for tip4p GPU kernels 2022-08-07 22:26:11 +03:00
5fee276348 add some GNU Make magic(tm) to Makefile.hip to adapt itself to OpenMPI and MPICH 2022-07-28 07:03:58 -04:00
e7ffa7fae3 Add Makefile support for CHIP-SPV 2022-07-27 08:34:35 +00:00
e973a4b31c workaround for CHIP-SPV different textrure func 2022-07-26 16:19:11 +00:00
b2cdc40919 Enable CHIP-SPV support 2022-07-26 16:00:43 +00:00
fc741e0df6 changed names of files, and added a lj12-5 function type. 2022-07-08 17:28:50 +09:00
59dc63d003 Add typecasting for consts in tip4p GPU kernels 2022-06-01 01:29:18 +03:00
4b2509beed Merge branch 'develop' into tip4p_bug 2022-05-30 18:54:28 +03:00
e9051620a5 Cleanup 2022-05-28 00:39:07 +03:00
d8f8a3a36a Handle inconsistent J molecules in tip4p/gpu 2022-05-28 00:24:24 +03:00
d4ea5ca49e more clang-tidy fixes after re-running it with added settings 2022-05-14 07:18:05 -04:00
f09556018b fix bugs reported by @jibril-b-coulibaly 2022-04-28 14:47:53 -04:00
bd6d7b9136 clarify CUDA versus OpenCL build and runtime restrictions 2022-04-13 14:24:43 -04:00
f3363070e7 remove support for CUDA toolkits before version 8 and GPUs older than Kepler 2022-04-12 15:48:16 -04:00
b36262cd11 cosmetic 2022-04-10 20:47:42 -04:00
d6f7570d57 avoid redundant use of boolean literals 2022-04-10 20:47:31 -04:00
39b316729b use auto type when assigning from cast or using new 2022-04-10 18:16:36 -04:00
77565add6e Add C++14 to Makefile build system
Change-Id: I24f72b4aaca93a49877775c3d181507c83cd7f82
2022-04-07 17:54:20 -04:00
537e3f2539 silence compiler warnings 2022-02-17 23:13:13 -05:00
5f47ff770c Merge pull request #3127 from akohlmey/gpu-opencl-updates
Update compiling OpenCL loader lib
2022-02-14 16:10:53 -05:00
83beffbb9f whitespace 2022-02-13 17:08:18 -05:00
193dea6327 Updated the comment to be precise on the case 2022-02-13 14:51:00 -06:00
159f107abd Corrected the added comment 2022-02-13 11:16:01 -06:00
bae4e45978 Added a comment to the added check while looping over the neighbors of ghost atoms 2022-02-13 09:17:05 -06:00
55a500cf8a Fixed bugs with in the kernel sw_three_end kernel 2022-02-13 00:42:26 -06:00
a17bdf5652 silence compiler warnings and avoid infinite recursion in aspherical pair styles 2022-02-11 21:06:16 -05:00
7e92809288 Merge pull request #3069 from Vsevak/fix-hip-ffast-math
Fix HIP Makefile under lib/gpu
2022-01-03 11:37:55 -05:00
14e5474174 restore obsolete compilation settings similar to parallel makefile 2021-12-27 20:31:42 -05:00
b781410f92 Delete fast-math flag from Makefile.hip for AMD platforms 2021-12-28 03:11:02 +03:00
5594a38bb7 replace explicit Makefile.mpi with symbolic link 2021-12-27 10:47:23 -05:00
6357f19260 Added back Makefile.mpi in lib/gpu/ to be consistent with documentation; updated Makefile.*; and removed the unnecessary Makefile.turing 2021-12-27 00:14:04 -06:00
ede188652b update a few GPU kernels so they can be compiled on GPUs without double precisions support 2021-10-21 07:33:00 -04:00
87b63f768f Only check for GPU double precision support if a GPU is present 2021-10-18 12:15:05 -04:00
e990a1cf61 remove ambiguity between "double_precision" class member variable and function 2021-10-16 21:07:04 -04:00
afad3f42d5 Report only compatible GPU, i.e. no GPU if mixed/double precision is requested by the hardware does not support it 2021-10-13 21:15:16 -04:00
dd6e3c1acc avoid variable length array and signed vs. unsigned warnings 2021-10-08 20:07:20 -04:00