Remove code duplication between OpenCL, CUDA and SYCL in NBNXM - Redmine #2608
Find agreement on how to express code that must compile with CUDA and equivalent OpenCL code. Some of the higher level code is identical if only we wrap the API calls.
-
Create and use wrappers for lookup tables (!6 (merged)) -
Remove NBNXM wrappers for device buffer operations and use the common ones (!11 (merged), !157 (merged), !86 (merged), !197 (merged), #4045). -
Unify non-bonded parameters structure (!301 (merged)). -
Unify set_cutoff_parameters(..)
(!309 (merged)). -
Unify init_timings(..)
(!309 (merged)). -
Unify nbnxn_gpu_pick_ewald_kernel_type(..)
(!309 (merged)). -
Unify init_ewald_coulomb_force_table(..)
(!309 (merged)). -
Unify gpu_is_kernel_ewald_analytical(..)
(!515 (merged)). -
Unify gpu_get_timings(..)
(!515 (merged)). -
Unify gpu_reset_timings(..)
(!515 (merged)). -
Unify gpu_pme_loadbal_update_param(..)
(!515 (merged)). -
Unify gpu_init_pairlist(..)
(!515 (merged)). -
Use GpuEventSynchronizer
(!1035 (merged), !1151 (merged), #4045). -
Use FloatN
aliases (!1164 (merged), !1165 (merged), #4045). -
Unify NB atoms structure (!1177 (merged)). -
Unify staging data structure in (!1177 (merged)). -
Use getAtomRanges(..)
function in (!1181 (merged)). -
Use GpuTimers structure in (!1183 (merged), #4045). -
Unify gpu_copy_xq_to_gpu(..)
(!1188 (merged)). -
Unify insertNonLocalDependency(..)
function (!1250 (merged)). -
Unify gpu_launch_cpyback(..)
function (!1252 (merged)). -
Unify gpu_init_atomdata(..)
function (!1278 (merged)). -
Unify gpu_clear_outputs(..)
function (!1279 (merged)). -
Unify init_gpu(..)
function (!1296 (merged)). -
Unify nbnxn_gpu_init_x_to_nbat_x(..)
function (!1334 (merged)). -
Unify gpu_upload_shiftvec(..)
function (!1336 (merged)). -
Unify gpu_free(..)
function (!1367 (merged)). -
Move function declarations/definitions into header/source files with defined visibility (!1431 (closed), !1461 (closed), #4045). -
Inline haveGpuShortRangeWork(..)
function. -
Move getters for xq
,f
andfshift
into platform-agnostic part of the code. -
Unify gpu_launch_kernel(..)
funstion. -
Unify gpu_launch_kernel_pruneonly(..)
function. -
Unify NbnxmGpu
structure.
(from redmine: issue id 2608, created on 2018-08-13 by rolandschulz)
- Relations:
- relates #2530 (closed)
Edited by Artem Zhmurov