dev:todo
This is an old revision of the document!
Table of Contents
Nice to Haves
This is a list of nice to have features or changes in CP2K that nobody got around to do, yet
Some of them may be suitable for one or more Google Summer of Code projects.
Wiki
- Add support for CP2K input-files to GeSHi, which is what DokuWiki uses for syntax highlighting.
Input / Output
- Refactor
cp_output_handling.F
such that it does not require the input_section. Instead there should be a routine to parse the input section once and store that information into a novelprintkey_type
. - Evolve the printkey into a real logging mechanism. If the
WRITE
statements were converted into functions calls, one could annotate the output in a standardized way. Such annotations would then allow for parsing the output in a generic fashion. - Remove the
cp_error_type
and the 'pseudo exception handling' code like. These constructs clutter the code without providing any useful functionality. The side-feature of the error_type to carry a reference to aIF (.NOT.failure)
cp_logger_type
is sparsely used. It can be completely replaced by theadd/rm_default_logger
mechanism.
Missing features
- Cut-off auto-calibration (Is it possible to provide good cut-off default values based on basis sets and desired precision?)
Unit-Tests
- The test coverage of the XC-functionals is pretty low. Since we have libxc as reference, one could easily write a unit-test that compares both implementations by applying them to a randomly generated density.
DBCSR
Removals
- Remove
cp_error_type
fromdbcsrwrap
. - Remove
dbcsr_error_type
entirely. - Remove
dbcsr_mutable_type
. - Remove various init-routines, rely on Fortran type initializers instead.
Restructurings
- Eliminate the
work
matrices, the assignment to threads should be static. - Enforce clear separation of library layers. For example
arnoldi
should be independent from data storage format. - Do not pass any internal data-structure to the “outside”.
- Merge
dbcsrwrap
anddbcsr_api
. There should only be one API. - Strengthen the API with unit-tests.
- Remove improper usage of INTERFACEs like this .
Bugs?
dbcsr_add
does not check for symmetry.dbcsr_add
does not check the “transpose-state”.dbcsr_copy
has confusing order of arguments.
Missing features?
dbcsr_trace
does not work with matrices of different symmetries.dbcsr_add
does not work with matrices of different symmetries.- Complex matrices are not fully supported, which is why they are not used in e.g. RTP.
- Expose dbcsr's internal types as Fortran types. This means having separate types for symmetry/non-symmetric and int/float/complex.
- MIC port (integrate)
- finish OpenCL port (kernels)
dev/todo.1439219500.txt.gz · Last modified: 2020/08/21 10:14 (external edit)