Project

General

Profile

Task #2304

Document and propose tracking mdrun heuristics

Added by Szilárd Páll almost 2 years ago. Updated about 1 year ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
mdrun
Target version:
Difficulty:
uncategorized
Close

Description

mdrun employs a number of heuristics for picking defaults at runtime in order to optimize out-of-the-box performance behavior or to advise users about their choice of options/parameters. These heuristics need regular revision and maintenance so we should facilitate finding/tracking these in order to plan for revising and updating them to the changing code and external conditions.

The aim is two-fold:
  • gather the heuristics (will keep adding them below with pointers to the source roughly around v2018-b1)
  • come up with a way to track them (e.g. mark them with GMX_HEURISTIC)

  • switch to MPMD / separate PME rank mode
  • Tabulated VS analytical nonbonded Ewald kernels per arch (both CPU and GPU)
TODO:
  • add SIMD heuristics (kernel flavor choice / CPU arch)?
  • DD heuristics?

History

#1 Updated by Erik Lindahl almost 2 years ago

  • Tracker changed from Bug to Task
  • Affected version deleted (git master)

#2 Updated by Szilárd Páll almost 2 years ago

  • Description updated (diff)

#3 Updated by Szilárd Páll almost 2 years ago

It seems like custom commands may be useful an example (though one that targets a different use-case) is shown here.

#4 Updated by Szilárd Páll almost 2 years ago

+ GMX_BONDED_NTHREAD_UNIFORM / init_bonded_threading()

#5 Updated by Szilárd Páll over 1 year ago

+ c_pullMaxNumLocalAtomsSingleThreaded in pull_internal.h (currently tuned with/for Haswell / gcc 5).

#6 Updated by Mark Abraham about 1 year ago

  • Target version changed from 2019 to future

Also available in: Atom PDF