quantum-espresso/dev-tools
Pietro 5e33533f81 Fixed CUDA Runtime value conversion in get_device_props.py 2019-08-22 17:43:52 +00:00
..
helpdoc.d Updating helpdoc such that it is aware of the new "multidimension" 2019-03-01 17:55:37 +01:00
Makefile removing the d3 and adding neb target 2017-09-26 11:40:52 +00:00
README.helpdoc smallish ... 2016-08-19 15:39:09 +00:00
README.md [Skip-CI] Improvements to mem_counter, suggested by Samuel Poncé 2019-04-26 23:02:19 +02:00
callhtml.pl Perl scripts calltree.pl and calltre.pl decyphered (sort of), README updated 2018-03-05 09:48:21 +01:00
calltree.pl Perl scripts calltree.pl and calltre.pl decyphered (sort of), README updated 2018-03-05 09:48:21 +01:00
check_gui "pw.x -dist" ow prints also lattice vectors and lattice parameters as well. 2018-02-14 22:34:48 +01:00
device_props.c Refreshed configure, added helper functions for CUDA compilation. 2018-03-15 14:13:49 +01:00
diff_gui_help simplifying ... 2016-08-02 13:25:51 +00:00
gen-emacs-mode cleanup 2017-01-10 13:47:53 +00:00
gen-emacs-mode.tcl Updating helpdoc such that it is aware of the new "multidimension" 2019-03-01 17:55:37 +01:00
get_device_props.py Fixed CUDA Runtime value conversion in get_device_props.py 2019-08-22 17:43:52 +00:00
guihelp.xsl Updating helpdoc such that it is aware of the new "multidimension" 2019-03-01 17:55:37 +01:00
helpdoc typo correction 2016-09-05 10:29:03 +00:00
helpdoc.schema added new multidimension entry in helpdoc.schema 2018-07-24 07:17:14 +00:00
input_xx.xsl added new multidimension entry in helpdoc.schema 2018-07-24 07:17:14 +00:00
mem_analyse.py [Skip-CI] Improvements to mem_counter, suggested by Samuel Poncé 2019-04-26 23:02:19 +02:00
mem_counter Quick-and-dirty memory tracker, courtesy Pietro Bonfà, added. Part of it had 2018-02-17 18:53:49 +01:00
mem_counter.py [Skip-CI] Improvements to mem_counter, suggested by Samuel Poncé 2019-04-26 23:02:19 +02:00
release-checklist.md Variable "ftau" (fractional translations in FFT grid units) is a source 2019-04-08 21:19:02 +02:00
src-normal dev-tools/src-normal: simple python script to normalize Fortran 90 source code (N. Nemec) 2010-05-14 14:56:29 +00:00
src-normal.py Some updates to documentation 2018-07-19 11:59:43 +02:00
update_gui_help slight modification of "usage" mesage 2014-04-22 13:47:01 +00:00

README.md

Dev Tools

This directory contains several tools that may be useful for developers

  • mem_counter. A script that tracks all calls to allocate and deallocate, appending a call to subroutine UtilXlib/mem_counter.f90. Calls python script mem_counter.py, written by Pietro Bonfà (CINECA) and improved by Samuel Poncé. mem_counter -h gives information on how to use it.

  • mem_analyse.py is a python script, by Samuel Poncé, locating memory leaks. See the script header for directions on how to use it.

  • src-normal. A script that "normalizes" the fortran syntax to QE style (see below). Calls python script src-normal.py, written by Norbert Nemec.

    Usage: src-normal file1.f90 [file2.f90 ...] or src-normal

  • Utilities for GPUs (Pietro Bonfà):

    • get_device_props.py
    • device_props.c
  • (Obsolete?) utilities:

    • calltree.pl A perl script, to be run from the root QE directory, producing in the standard output the tree of called routines
    • callhtml.pl As above, producing a html page with the tree of called routines
  • Utilities for PWgui:

    • check_gui (called via Makefile)
    • diff_gui_help
    • guihelp.xsl
    • update_gui_help
  • Utilities for helpdoc (see README.helpdoc):

    • helpdoc
    • helpdoc.d
    • helpdoc.schema
    • input_xx.xsl
  • Utilities for emacs_mode:

    • gen-emacs-mode
    • gen-emacs-mode.tcl

Coding style

These are some basic rules for Fortran codes enforced by src_normal:

  • Use spaces for indentation instead of tabs (tab width 8 characters).
  • Trailing whitespaces at the end the line should be removed.
  • Normalize multiword keywords (e.g. END DO).
  • Use capitalize version of the intrisic keywords (IF, DO, SUBROUTINE, etc.).
  • Use the newest version of the comparison operators (==, >, etc.) instead of the old one (.eq., .gt., etc.)