mailr23251 - /branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/generate_base.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on May 20, 2014 - 11:09:
Author: bugman
Date: Tue May 20 11:09:21 2014
New Revision: 23251

URL: http://svn.gna.org/viewcvs/relax?rev=23251&view=rev
Log:
Complete redesign of the CaM frame order data generation base script for 
speed and memory savings.

Although the rotated XH bond vector and atomic position code was very fast, 
the amount of memory
needed to store these in the spin containers and interatomic data containers 
was huge when N > 1e6.
The subsequent rdc.back_calc and pcs.back_calc user function calls would also 
take far too long.

Therefore the base script has been redesigned.  The _create_distribution() 
method has been split
into four:  _calculate_pcs(), _calculate_rdc(), _create_distribution(), and 
_pipe_setup().
The _pipe_setup() method is called first to set up the data pipe with all 
required data.  Then the
_calculate_rdc() and _calculate_pcs() methods, and finally 
_create_distribution() if the DIST_PDB
flag is set.

The calls to the rdc.back_calc and pcs.back_calc user functions have been 
eliminated.  Instead the
_calculate_rdc() and _calculate_pcs() methods calculate the averaged RDC and 
PCS themselves as numpy
array structures.  Rather than storing the huge rotated vectors and atomic 
positions data
structures, the RDCs and PCSs are summed.  These are then divided by self.N 
at the end to average
the values.

Compared to the old code, when N is set to 20 million the RAM usage drops 
from ~20 GB to ~65 MB.
The total run time is also decreased on one system from a few days to a few 
hours (an order or two
of magnitude).

Modified:
    
branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/generate_base.py

[This mail would be too long, it was shortened to contain the URLs only.]

Modified: 
branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/generate_base.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/test_suite/shared_data/frame_order/cam/generate_base.py?rev=23251&r1=23250&r2=23251&view=diff




Related Messages


Powered by MHonArc, Updated Tue May 20 12:00:03 2014