User Tools

Site Tools


dev:todo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
dev:todo [2015/06/13 10:05] – [Input / Output] oschuettdev:todo [2015/07/03 13:59] – [Restructurings] asamuel
Line 7: Line 7:
   * 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 novel ''printkey_type''.   * 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 novel ''printkey_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.   * 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 ''required'' flag from input keywords and sections. The flag states that there is no default value available, but the same effect can be achieved by simply not supplying a default value. To fully remove the flag one also has to adopt the generation of the input reference manual. 
   * Remove the ''cp_error_type'' and the 'pseudo exception handling' code like ''IF (.NOT.failure)''. These constructs clutter the code without providing any useful functionality. The side-feature of the error_type to carry a reference to a ''cp_logger_type'' is sparsely used. It can be completely replaced by the ''add/rm_default_logger'' mechanism.   * Remove the ''cp_error_type'' and the 'pseudo exception handling' code like ''IF (.NOT.failure)''. These constructs clutter the code without providing any useful functionality. The side-feature of the error_type to carry a reference to a ''cp_logger_type'' is sparsely used. It can be completely replaced by the ''add/rm_default_logger'' mechanism.
  
Line 21: Line 20:
  
 ==== Restructurings ==== ==== Restructurings ====
-  * Eliminate the ''work'' matrizes, the assigment to threads should be static. +  * Eliminate the ''work'' matrices, the assignment to threads should be static. 
-  * Enforce clear separation of library layers. For example ''arnoldi'' should be independ from data storage format.+  * 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".   * Do not pass any internal data-structure to the "outside".
   * Merge ''dbcsrwrap'' and ''dbcsr_api''. There should only be **one** API.   * Merge ''dbcsrwrap'' and ''dbcsr_api''. There should only be **one** API.
-  * Strenghten the API with unit-tests. +  * Strengthen the API with unit-tests.
-  * Remove usages of the ''FORALL'' statement+
   * Remove improper usage of INTERFACEs like [[https://github.com/cp2k/cp2k/commit/b81589e530f2132738fd0a3d72f174f4dc9cf17e#diff-b681bef49444155508dab7af1d6990d2L88 | this ]].   * Remove improper usage of INTERFACEs like [[https://github.com/cp2k/cp2k/commit/b81589e530f2132738fd0a3d72f174f4dc9cf17e#diff-b681bef49444155508dab7af1d6990d2L88 | this ]].
    
Line 35: Line 33:
  
 ==== Missing features? ==== ==== Missing features? ====
-  * ''dbcsr_trace'' does not work with matrizes of different symmetries. +  * ''dbcsr_trace'' does not work with matrices of different symmetries. 
-  * ''dbcsr_add'' does not work with matrizes of different symmetries. +  * ''dbcsr_add'' does not work with matrices of different symmetries. 
-  * Complex matrixes are not fully supported, which is why they are not used in e.g. RTP.+  * 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.   * Expose dbcsr's internal types as Fortran types. This means having separate types for symmetry/non-symmetric and int/float/complex.
   * MIC port (integrate)   * MIC port (integrate)
   * finish OpenCL port (kernels)   * finish OpenCL port (kernels)
  
dev/todo.txt · Last modified: 2020/11/19 17:46 by tmueller