c-routine for a 16-byte integer array taken verbatim from the
optimized c version reported in
https://en.wikipedia.org/wiki/Fletcher%27s_checksum#Optimizations
except for the fact that the data size is not an argument of the
function but rather the address of its location is passed, as this
is what a fortran call passes as reference.
The type of these variables is also defined as uint32_t
instead of size_t because this is what fortran implicitely does.
Fortran interfaces to a generic subroutine fletcher32_cksum also
defined in UtilXlib/fletcher32_mod.f90
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13824 c92efa57-630b-4861-b058-cf58834340f0
removal of old-style fortran to C binding and of configure hacks. The
fortran timing functions are now f_tcpu and f_wall, with obvious meaning
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13631 c92efa57-630b-4861-b058-cf58834340f0
basic operations: error handling, timing clocks, interfaces to basic mpi
calls, find free units...
These routines are moved from Modules and dependencies to other modules
are removed.
MANY files are updated to comply with the move.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13629 c92efa57-630b-4861-b058-cf58834340f0
US variable qq renamed qq_nt and a new variable qq_na added
because in real space the integral may depend (slightly) on
the atomic position and an atomic value is needed to compute
exactly normalizable wfc.
Whenever realspace tricks are not used qq_nt is used.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13604 c92efa57-630b-4861-b058-cf58834340f0
the three pieces are in three different places: fsocket.f90 in Modules/,
sockets.c in clib/, run_driver in PW/src. Subroutine get_server_address might
actually be moved to module "command_line_options".
Version number updated to 6.beta (6.0.beta too long, 6.0bet? 6.0.b?)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12833 c92efa57-630b-4861-b058-cf58834340f0
Currently intercepted signals are SIGINT (caused by CTRL-C), SIGTERM (by default sent by PBS one minute before wall time expires), SIGUSR1, SIGUSR2
In order to compile this code add -D__TERMINATE_GRACEFULLY to MANUAL_DFLAGS in make.sys
This code partially conflicts with __TRAP_SIGUSR1, although they can both be compiled ony the last signal handler set will work. However they do the same thing, so __TRAP_SIGUSR1 could eventually be removed as it is less general.
You can change the delay between the alert and the end of allocated wall time depending on the queue system. Here are some examples:
* with PBS:
send the signal 120 seconds before the end:
#PBS -l signal=@120
send signal SIGUSR1 10 minutes before the end:
#PBS -l signal=SIGUSR1@600
you cand also send a signal manually with qsig, or send a signal and then stop:
qdel -W 120 jobid
will send SIGTERM, wait 2 minutes than force stop.
* with LodLeveler:
According to documentation, a SIGUSR1 or a SIGTERM is sent, depending if the job will be restarted or not; SIGKILL follows after 2 minutes. There is no mention if this delay can be changed.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11024 c92efa57-630b-4861-b058-cf58834340f0
res = f_copy(source, dest)
returns:
0 : no error
-1 : cannot open source
-2 : cannot open dest
-3 : error while writing
-4 : disk full while writing
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10111 c92efa57-630b-4861-b058-cf58834340f0
f_mkdir replaced with a more explicit f_mkdir_safe, f_mkdir is now a direct wrapper of the POSIX function.
f_mkdir_safe now checks if a directory exists and is writable before creating it, it will only return error if at the end the directory is not writable
Possible causes: file exists but is not a directory; exists and is a directory, but not owned by the user; broken filesystem; perverted umask
check_tempdir does not change directly, but it benefits from the changes in f_mkdir_safe
parallel_mkdir replaced with check_tempdir where it was necessary
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10052 c92efa57-630b-4861-b058-cf58834340f0
restart mechanism (it is already rather broken anyway). Notable changes:
- variable "restart" is set to true if restart_mode='restart' on input,
independently upon the value of other variables
- the way tmp_dir and wfc_dir are created if not existent is simplified
- f_mkdir returns -1 if directory exists, 0 if created, 1 if error
- data-file.xml is no longer removed/renamed if restart_mode='from_scratch'.
I don't remember why it was done (although I remember there was a reason)
and cannot see why it should be done. If restarting is dictated by input
options, it shouldn't matter whether there is already a data-file.xml file
on disk or not
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10031 c92efa57-630b-4861-b058-cf58834340f0