- 23 Sep, 2024 1 commit
-
-
Anton Gorenko authored
* PME_ORDER threads process one atom; * PME_ORDER threads access consecutive addresses; * No need to permute z indices with zindexTable; * finishSpreadCharge is needed only with fixed point charge spreading;
-
- 05 Sep, 2024 2 commits
-
-
Anton Gorenko authored
* Compile with -munsafe-fp-atomics to enable fast hardware f32 atomic add on global memory on pre-MI100 GPUs; * Use fixed point charge spreading on other GPUs, otherwise float atomic add will be compiled as a slow CAS loop; * Tune block sizes, use executeKernelFlat; * Tune launch bounds of PME grid-related kernels: force the compiler to use all registers by limiting max waves per EU to 1.
-
Anton Gorenko authored
* All AMD GPUs support shuffle, double precision and 64-bit int atomics; * Remove unused code: !ENABLE_SHUFFLE code paths in nonbonded.hip; * Use intrinsics in single-precision; * Use realToFixedPoint (faster float32-to-int64); * Remove shared atomIndices, use shuffles; * Check early if atoms are in the cutoff range, sometimes all lanes in a warp can skip computations, single pairs can also skip useless atomics with zero values; * Remove volatile skipTiles access, use shuffles; * Distribute work for warps in a strided order; * Skip warps that may be still busy in the first loop; * Unify conditions for excluded atoms with `includeInteraction`; * Move multiprocessors to HipContext; * Increase number of warps for computeNonbonded; * Disable packed math for >=MI200 (it affects performance of some kernels like computeGKForces of amoebagk); * Remove defaultOptimizationOptions and createModule's optimizationFlags as they are never used; * Support -save-temps.
-
- 01 Sep, 2024 1 commit
-
-
Anton Gorenko authored
Port changes in CUDA backend to HIP Fix a warning about arithmetic operations on void* in HipArray::uploadSubArray Fix "Error Initializing context ROCm 5.3.0" https://github.com/StreamHPC/openmm-hip/issues/3 hipDeviceSetCacheConfig returns hipErrorNotSupported on 5.3 Co-authored-by:Nick Curtis <nicholas.curtis@amd.com>
-
- 07 Mar, 2022 1 commit
-
-
Anton Gorenko authored
It allows to use a faster float-to-int64 in the HIP platform.
-
- 08 Jan, 2020 1 commit
-
-
peastman authored
* Began creating common compute framework to unify code between CUDA and OpenCL * Began OpenCL implementation of common compute framework * Common implementation of CMMotionRemover * CUDA implementation of common compute interface * Converted HarmonicBondForce to common compute API * Converted standard bonded forces to common compute API * Converted ExpressionUtilities to common compute API * Created ComputeParameterSet * Converted custom bonded forces to common compute API * Converted CustomCentroidBondForce to common compute API * Converted CustomManyParticleForce to common compute API * Moved lots of duplicate code from CudaContext and OpenCLContext to ComputeContext * Converted GayBerneForce to common compute API * Removed obsolete kernels * Converted verlet integrators to common compute API * Converted Langevin and Brownian integrators to common compute API * Converted CustomIntegrator to common compute API * Converted CustomNonbondedForce to common compute API * Removed uses of a deprecated API * Fixed failing test cases * Converted GBSAOBCForce to common compute API * Began converting CustomGBForce to common compute API * Finished converting CustomGBForce to common compute API * Merged duplicated code in CudaIntegrationUtilities and OpenCLIntegrationUtilities * Converted RMSDForce and AndersenThermostat to common compute API * Converted CustomHbondForce to common compute API * Merged scripts for encoding kernel sources * Converted Drude plugin to common compute API * Fixed errors in CMake scripts * Attempt at fixing errors on Windows * Added discussion of common compute API to developer guide * Added Windows export macro for common classes * Fixed error in CMMotionRemover * Ubdated travis to newer Ubuntu version * Fixed errors on CPU OpenCL * Fixed Windows linking errors * Added missing pragma for 32 bit atomics * Replaced long long with mm_long * More fixes to Windows linking * Bug fix
-