dev:todo
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
dev:todo [2016/03/20 14:55] – Radeon OpenCL rivanvx | dev:todo [2017/02/10 09:31] – oschuett | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Nice to Haves ====== | ====== Nice to Haves ====== | ||
- | This is a list of nice to have features or changes in CP2K that nobody got around to do, yet ;-) | + | This is a list of nice to have features or changes in CP2K that nobody got around to do, yet. ;-) They are noted down here so we don't [[http:// |
Some of them may be suitable for one or more [[https:// | Some of them may be suitable for one or more [[https:// | ||
- | ====== | + | ====== |
- | * Add support | + | * Use [[https:// |
+ | * Use the [[https://atztogo.github.io/spglib/|Space Group Library]] for handling crystal symmetries. | ||
+ | * Use BigDFTs wavelet Poisson solvers. | ||
====== Input / Output ====== | ====== Input / Output ====== | ||
Line 12: | Line 14: | ||
* Make it clear in the output at which nesting level the output is happening. For example, print " | * Make it clear in the output at which nesting level the output is happening. For example, print " | ||
* Evolve the printkey into a real logging mechanism. If the '' | * Evolve the printkey into a real logging mechanism. If the '' | ||
+ | * A lone keyword of type logical should always shortcut to YES. This should be hard coded. | ||
====== Missing features ====== | ====== Missing features ====== | ||
* Cut-off auto-calibration (Is it possible to provide good cut-off default values based on basis sets and desired precision?) | * Cut-off auto-calibration (Is it possible to provide good cut-off default values based on basis sets and desired precision?) | ||
- | * Estimation of time remaining until the simulation is done.Upper bound could possibly be provided using parameters from the input file with a good cost model, heuristics will likely be needed for more precise estimation. | + | * Estimation of time remaining until the simulation is done. Probably easy to do for MD using FIST. Order of magnitude estimation |
* Estimation of disk size simulation output files will take. | * Estimation of disk size simulation output files will take. | ||
* Support [[https:// | * Support [[https:// | ||
Line 29: | Line 32: | ||
* Extend the preprocessor to accept @ELSE in the existing '@IF @ENDIF' | * Extend the preprocessor to accept @ELSE in the existing '@IF @ENDIF' | ||
- | ====== | + | ====== |
+ | * Investigate performance delta of MM code in CP2K compared to another state of the art open source software (e.g. GROMACS). See if there are interesting ideas there which can be used. | ||
+ | |||
+ | ====== Testing | ||
* The [[http:// | * The [[http:// | ||
+ | * Setup a regtester with the [[https:// | ||
+ | * Performance regression testing. Requires an empty machine for reproducibility. Enumerate important primitives and their possible performance requiems (compute-, communication-, | ||
+ | |||
+ | ====== Wiki ====== | ||
+ | * Add support for CP2K input-files to [[https:// | ||
====== Dev Tools ====== | ====== Dev Tools ====== | ||
* A Fortran parser library for Python. As a starting point one could take the [[https:// | * A Fortran parser library for Python. As a starting point one could take the [[https:// | ||
- | * prettify of the entire code, not just headers. | ||
* static code analysis | * static code analysis | ||
* generation of nice API docs | * generation of nice API docs | ||
Line 41: | Line 51: | ||
* ALLOCATEs in OMP-regions or tight loops | * ALLOCATEs in OMP-regions or tight loops | ||
* ALLOCATABLEs / POINTERs that could go in the stack. | * ALLOCATABLEs / POINTERs that could go in the stack. | ||
+ | * Fuzzy testing: Generate randomly valid input files, then check that they either run successfully for a few seconds or quit with a proper error message. The fuzzing could be extended to other settings, e.g. mpi, openmp, arch-file, | ||
====== Youthful Folly ====== | ====== Youthful Folly ====== | ||
Line 81: | Line 92: | ||
* MIC port (integrate) | * MIC port (integrate) | ||
* Finish OpenCL port (kernels), make sure it runs on open source OpenCL stack provided by [[http:// | * Finish OpenCL port (kernels), make sure it runs on open source OpenCL stack provided by [[http:// | ||
+ | * Use the CUDA [[http:// |
dev/todo.txt · Last modified: 2020/11/19 17:46 by tmueller