Author: bugman Date: Tue Apr 3 17:22:04 2012 New Revision: 15666 URL: http://svn.gna.org/viewcvs/relax?rev=15666&view=rev Log: Merged revisions 15494,15504,15523,15537-15541,15549,15563,15571,15578-15579,15582-15583,15585,15587-15626 via svnmerge from svn+ssh://bugman@xxxxxxxxxxx/svn/relax/1.3 ........ r15494 | bugman | 2012-03-15 20:32:16 +0100 (Thu, 15 Mar 2012) | 5 lines Changed all the http://nmr-relax.com links to http://www.nmr-relax.com. This is to possibly help with search engine indexing of the website. ........ r15504 | bugman | 2012-03-16 14:13:52 +0100 (Fri, 16 Mar 2012) | 10 lines The model-free constraint matrix A is now of numpy.int8 type. The values of this matrix should be negative, zero, or positive integers for model-free analyses, so the type has been changed. When using the example at https://mail.gna.org/public/relax-users/2012-03/msg00037.html (Message-id: <CAED9pY_Z1wGEg3gZo3WCkhvYTBdqs-Feex5Og4vJFovgJkUOyw@xxxxxxxxxxxxxx>), the virtual memory usage during Monte Carlo simulations drops from 648 to 641 Mb. This should also increase the scaling efficiency on clusters. ........ r15523 | bugman | 2012-03-16 17:18:46 +0100 (Fri, 16 Mar 2012) | 3 lines Fix for the title of the analysis selection wizard GUI element. ........ r15537 | bugman | 2012-03-19 10:13:21 +0100 (Mon, 19 Mar 2012) | 3 lines Started to create a second script to demonstrate a working implementation of the multi package. ........ r15538 | bugman | 2012-03-19 10:26:10 +0100 (Mon, 19 Mar 2012) | 5 lines The Status singleton text_width variable has been introduced for text wrapping. This is for better support on Windows, and possibly in the future adapting to the terminal width. ........ r15539 | bugman | 2012-03-19 10:28:48 +0100 (Mon, 19 Mar 2012) | 3 lines The program intro print out is now using the status.text_width variable. ........ r15540 | bugman | 2012-03-19 10:29:55 +0100 (Mon, 19 Mar 2012) | 5 lines The prompt UI help system is now using status.text_width to wrap text. This is currently only for the 'help' print out. ........ r15541 | bugman | 2012-03-19 10:32:45 +0100 (Mon, 19 Mar 2012) | 5 lines The MS Windows text wrapping width has been changed from 80 to 79. This now fits the cmd prompt. ........ r15549 | bugman | 2012-03-19 11:51:23 +0100 (Mon, 19 Mar 2012) | 3 lines Updated the copyright notice in the GUI. ........ r15563 | bugman | 2012-03-19 18:44:20 +0100 (Mon, 19 Mar 2012) | 6 lines Merged the CHANGES file for relax version 1.3.14 back into the main 1.3 line. The command used was: svn merge -r15561:15562 svn+ssh://bugman@xxxxxxxxxxx/svn/relax/tags/1.3.14 ........ r15571 | bugman | 2012-03-19 22:14:41 +0100 (Mon, 19 Mar 2012) | 3 lines Fix for the relax info print out on Python 2.5 or below. ........ r15578 | bugman | 2012-03-20 12:39:53 +0100 (Tue, 20 Mar 2012) | 6 lines The HTML user manual now will have Google analytics javascript added to all pages. This is a Latex2html configuration option $LATEX2HTML_META and will in the future affect all HTML files of http://www.nmr-relax.com/manual/relax.html. ........ r15579 | bugman | 2012-03-20 12:47:08 +0100 (Tue, 20 Mar 2012) | 3 lines Updated the release checklist document for the recent restructuring of http://www.nmr-relax.com. ........ r15582 | bugman | 2012-03-20 14:40:00 +0100 (Tue, 20 Mar 2012) | 5 lines Added the Google Analytics javascript code (modified for a <head> tag) to the scripts directory. This will be used for building the API and relax HTML manual webpages of http://www.nmr-relax.com. ........ r15583 | bugman | 2012-03-20 14:41:45 +0100 (Tue, 20 Mar 2012) | 5 lines The SCons api_manual_html target now adds the Google Analytics JS to all API pages. This is for the API manual at http://www.nmr-relax.com/api/. ........ r15585 | bugman | 2012-03-20 16:30:13 +0100 (Tue, 20 Mar 2012) | 3 lines Updated the Freecode (ex Freshmeat) release information. ........ r15587 | bugman | 2012-03-21 11:06:41 +0100 (Wed, 21 Mar 2012) | 3 lines Clean up of the Multi_processor.run_command_queue() method. ........ r15588 | bugman | 2012-03-21 11:08:07 +0100 (Wed, 21 Mar 2012) | 6 lines Created the stub functions data_fetch() and data_upload() for the multi-processor API. For details, see the message at https://mail.gna.org/public/relax-devel/2012-03/msg00011.html (Message-id: <CAED9pY9Hb=0iywMNVBGjS=YcZgNFe+5X-nKhubKhWAWiN4Psgg@xxxxxxxxxxxxxx>). ........ r15589 | bugman | 2012-03-21 11:52:11 +0100 (Wed, 21 Mar 2012) | 5 lines The multi.data_upload() API fn now forwards the call to the Processor classes. This still needs an implementation for each processor fabric. ........ r15590 | bugman | 2012-03-21 12:33:49 +0100 (Wed, 21 Mar 2012) | 3 lines Updated the second multi-processor test implementation to use the new data_upload() API function. ........ r15591 | bugman | 2012-03-21 12:35:50 +0100 (Wed, 21 Mar 2012) | 7 lines Implemented the mpi4py processor fabric data_upload() method. This currently sends the data out into the ether using an MPI.COMM_WORLD.send() call with the tag 10 which will be reserved for sending data into the data store. Somehow this needs to be caught and stored by the slaves. ........ r15592 | bugman | 2012-03-21 12:39:20 +0100 (Wed, 21 Mar 2012) | 5 lines The processor instances now have a data storage container. This will be used by the data_upload() and data_fetch() API methods. ........ r15593 | bugman | 2012-03-21 12:49:50 +0100 (Wed, 21 Mar 2012) | 3 lines Eliminated the completely unused create_slaves() Processor method. ........ r15594 | bugman | 2012-03-21 14:44:43 +0100 (Wed, 21 Mar 2012) | 8 lines Shifted the Multi_processor.run() method up a level to Processor.run(). This completes one of the TODOs, and will be needed to avoid code duplication for handling the new data_upload() and data_fetch() API methods. This run() method now works for the uni-processor, as the Uni_processor.on_master() method which always returns True has been reactived, so the Uni_processor.run() method has been deleted. ........ r15595 | bugman | 2012-03-22 08:56:57 +0100 (Thu, 22 Mar 2012) | 5 lines Clean up of the Exit_command. This no longer has an __init__() method, and has proper descriptions via docstrings and comments. ........ r15596 | bugman | 2012-03-22 08:57:29 +0100 (Thu, 22 Mar 2012) | 3 lines Eliminated the unused Get_name_command class. ........ r15597 | bugman | 2012-03-22 08:57:55 +0100 (Thu, 22 Mar 2012) | 3 lines Eliminated the unused Set_processor_property_command class. ........ r15598 | bugman | 2012-03-22 09:18:39 +0100 (Thu, 22 Mar 2012) | 3 lines Fully documented the Processor.run() method via comments. ........ r15599 | bugman | 2012-03-22 09:20:07 +0100 (Thu, 22 Mar 2012) | 3 lines Spelling fix for a number of the processor method names. ........ r15600 | bugman | 2012-03-22 10:13:53 +0100 (Thu, 22 Mar 2012) | 7 lines Redesigned how the multi-processor package terminates program execution. The Processor.exit() method has been introduced to perform this action. By default (used by the uni-processor fabric), the method does nothing. The mpi4py_processor.py module functions exit() and exit_mpi() have been merged into the Mpi4py_processor.exit() method. ........ r15601 | bugman | 2012-03-22 10:34:35 +0100 (Thu, 22 Mar 2012) | 5 lines Shifted the mpi4py processor module functions broadcast_command() and ditch_all_results() into the class. These have been turned into private methods. ........ r15602 | bugman | 2012-03-22 10:37:49 +0100 (Thu, 22 Mar 2012) | 7 lines Removed a number of sys.exit() calls from different relax modes. The return call is used rather than sys.exit() to exit the main run() method. These were not needed and it allows the 'version', 'info', and 'gui' modes to play better with the multi-processor package when using mpi4py. ........ r15603 | bugman | 2012-03-22 10:57:51 +0100 (Thu, 22 Mar 2012) | 8 lines The multi-processor package now allows sys.exit() calls within the master processor. This affects all processor fabrics, as the Processor.run() method has been modified. The SystemExit exception is now specifically caught on the master. The Processor.exit() method is then called to allow the specific fabric to clean up, if needed, and then the SystemExit is re-raised to allow the system exit to proceed as normal. ........ r15604 | bugman | 2012-03-22 12:40:45 +0100 (Thu, 22 Mar 2012) | 5 lines Shifted all of the processor command objects into the multi.commands module. The other multi.api module objects have been shifted into the multi.misc module. ........ r15605 | bugman | 2012-03-22 15:56:58 +0100 (Thu, 22 Mar 2012) | 3 lines Removed the Mpi_processor.data_upload() method as this will be done at the Processor level. ........ r15606 | bugman | 2012-03-22 16:06:50 +0100 (Thu, 22 Mar 2012) | 5 lines Split the multi.commands module into two - the slave commands and result commands. This rearrangement is only for code clarity. ........ r15607 | bugman | 2012-03-22 16:31:51 +0100 (Thu, 22 Mar 2012) | 7 lines Created the special command object Slave_storage_command for transferring data to slaves. This command currently has two special methods: - add(), used by the master processor to add data to the command for transfer. - clear(), used by the slave (via run()) or the master to clear out all data. ........ r15608 | bugman | 2012-03-23 11:18:11 +0100 (Fri, 23 Mar 2012) | 5 lines Removed the Test_slave_command_presend class as the multi-processor API is now simpler. The single line data_update() API function call is now used instead. ........ r15609 | bugman | 2012-03-23 11:20:07 +0100 (Fri, 23 Mar 2012) | 5 lines Partially implemented the Processor.data_update() method. This now should work when the rank argument is not supplied. ........ r15610 | bugman | 2012-03-23 12:19:33 +0100 (Fri, 23 Mar 2012) | 6 lines The multi/test_implementation2.py script now properly uses pre-send data in the slave calculations. The sending component is complete (though is still non-functional on the uni-processor). However the handling of data post-calculation still needs to be abstracted via the API. ........ r15611 | bugman | 2012-03-23 12:31:39 +0100 (Fri, 23 Mar 2012) | 3 lines Comment fixes. ........ r15612 | bugman | 2012-03-23 12:33:28 +0100 (Fri, 23 Mar 2012) | 6 lines The multi/test_implementation2.py script can now be run in uni-processor mode. Thought it still fails due to deficiencies in the Processor base class (one of Gary's TODOS in the Multi_processor class). ........ r15613 | bugman | 2012-03-23 12:37:27 +0100 (Fri, 23 Mar 2012) | 3 lines Shifted the run_command_queue() and run_queue() methods from the Multi_processor to Processor class. ........ r15614 | bugman | 2012-03-23 12:44:15 +0100 (Fri, 23 Mar 2012) | 7 lines Spun out all of the results queue objects into their own module. This completes another set of TODOs by removing these queue objects from any fabric level. They can now be imported and used by any fabric level (Processor, Multi_processor, Mpi4py_processor, Uni_processor, etc.). ........ r15615 | bugman | 2012-03-23 16:03:24 +0100 (Fri, 23 Mar 2012) | 3 lines Whitespace fix. ........ r15616 | bugman | 2012-03-23 16:12:25 +0100 (Fri, 23 Mar 2012) | 8 lines Clean up and completion of the TODO for the Processor.assert_on_master() method. The Processor.assert_on_master() method has been created and calls raise_unimplemented(). The Multi_processor.assert_on_master() method has been shifted to Mpi4py_processor.assert_on_master(), as that method's error message is MPI specific. The empty Uni_processor.assert_on_master() method has been added to allow that fabric to work. ........ r15617 | bugman | 2012-03-23 16:16:57 +0100 (Fri, 23 Mar 2012) | 3 lines Shifted the self.threaded_result_processing flag into the base Processor class where it belongs. ........ r15618 | bugman | 2012-03-23 16:40:03 +0100 (Fri, 23 Mar 2012) | 8 lines Fixes and clean up of the slave to master transfer mechanism for result commands. The master_queue_command() and master_receive_result() methods are now defined at the Processor level (but call raise_unimplemented()). Full epydoc docstrings and comments have been added everywhere. The 2 methods have now been defined for uni-processor fabric, and simply hold the command in a temporary variable. ........ r15619 | bugman | 2012-03-23 17:18:39 +0100 (Fri, 23 Mar 2012) | 7 lines Fix for the Processor.data_upload() method. The self.run_command_queue() method is no longer being used. Instead the add_to_queue() method is being used to queue up the slave commands, and the run_queue() method is being called at the end to flush the queue. ........ r15620 | bugman | 2012-03-23 17:31:14 +0100 (Fri, 23 Mar 2012) | 3 lines The multi-processor data_fetch() API function is now used to obtain the total_length variable. ........ r15621 | bugman | 2012-03-23 17:43:53 +0100 (Fri, 23 Mar 2012) | 6 lines Renamed data_upload() to send_data_to_slaves() and made it more specific. The rank argument has been dropped, and now the API function and Processor methods are used solely for transferring data from the master to all slave processors. ........ r15622 | bugman | 2012-03-23 17:54:42 +0100 (Fri, 23 Mar 2012) | 3 lines Renamed the multi-processor API data_fetch() function to fetch_data(), and implemented it. ........ r15623 | bugman | 2012-03-23 17:57:31 +0100 (Fri, 23 Mar 2012) | 5 lines The 2nd test implementation's slave command now uses the fetch_data() API function. This is to obtain the invariant data pre-sent by the master to the slaves. ........ r15624 | bugman | 2012-03-23 18:41:04 +0100 (Fri, 23 Mar 2012) | 3 lines Alphabetical ordering of methods. ........ r15625 | bugman | 2012-03-23 18:49:10 +0100 (Fri, 23 Mar 2012) | 6 lines Created the fetch_data_store() multi-processor API function. This simply returns the data store of the same processor as the calling code. The 2nd test implementation now uses this code path. ........ r15626 | bugman | 2012-03-23 18:52:46 +0100 (Fri, 23 Mar 2012) | 3 lines Added some epydoc @attention fields to the multi-processor API. ........ Added: branches/frame_order_testing/multi/result_commands.py - copied unchanged from r15626, 1.3/multi/result_commands.py branches/frame_order_testing/multi/result_queue.py - copied unchanged from r15626, 1.3/multi/result_queue.py branches/frame_order_testing/multi/slave_commands.py - copied unchanged from r15626, 1.3/multi/slave_commands.py branches/frame_order_testing/multi/test_implementation2.py - copied unchanged from r15626, 1.3/multi/test_implementation2.py branches/frame_order_testing/scripts/google_analytics.js - copied unchanged from r15626, 1.3/scripts/google_analytics.js Removed: branches/frame_order_testing/multi/api.py branches/frame_order_testing/multi/commands.py Modified: branches/frame_order_testing/ (props changed) branches/frame_order_testing/data/__init__.py branches/frame_order_testing/docs/CHANGES branches/frame_order_testing/docs/Release_Checklist branches/frame_order_testing/docs/latex/.latex2html-init branches/frame_order_testing/docs/latex/develop.tex branches/frame_order_testing/docs/latex/infrastruct.tex branches/frame_order_testing/docs/latex/relax.tex branches/frame_order_testing/generic_fns/exp_info.py branches/frame_order_testing/gui/analyses/wizard.py branches/frame_order_testing/gui/relax_gui.py branches/frame_order_testing/info.py branches/frame_order_testing/multi/__init__.py branches/frame_order_testing/multi/misc.py branches/frame_order_testing/multi/mpi4py_processor.py branches/frame_order_testing/multi/multi_processor_base.py branches/frame_order_testing/multi/processor.py branches/frame_order_testing/multi/test_implementation.py branches/frame_order_testing/multi/uni_processor.py branches/frame_order_testing/prompt/help.py branches/frame_order_testing/relax.py branches/frame_order_testing/sample_scripts/model_free/dauvergne_protocol.py branches/frame_order_testing/scons/manuals.py branches/frame_order_testing/specific_fns/model_free/mf_minimise.py branches/frame_order_testing/status.py branches/frame_order_testing/test_suite/system_tests/scripts/bmrb_rw.py branches/frame_order_testing/test_suite/system_tests/scripts/model_free/dauvergne_protocol.py branches/frame_order_testing/test_suite/system_tests/scripts/model_free/full_analysis_trunc.py branches/frame_order_testing/test_suite/unit_tests/_multi/test___init__.py [This mail would be too long, it was shortened to contain the URLs only.] Modified: branches/frame_order_testing/data/__init__.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/data/__init__.py?rev=15666&r1=15665&r2=15666&view=diff Modified: branches/frame_order_testing/docs/CHANGES URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/docs/CHANGES?rev=15666&r1=15665&r2=15666&view=diff Modified: branches/frame_order_testing/docs/Release_Checklist URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/docs/Release_Checklist?rev=15666&r1=15665&r2=15666&view=diff Modified: branches/frame_order_testing/docs/latex/.latex2html-init URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/docs/latex/.latex2html-init?rev=15666&r1=15665&r2=15666&view=diff Modified: branches/frame_order_testing/docs/latex/develop.tex URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/docs/latex/develop.tex?rev=15666&r1=15665&r2=15666&view=diff Modified: branches/frame_order_testing/docs/latex/infrastruct.tex URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/docs/latex/infrastruct.tex?rev=15666&r1=15665&r2=15666&view=diff Modified: branches/frame_order_testing/docs/latex/relax.tex URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/docs/latex/relax.tex?rev=15666&r1=15665&r2=15666&view=diff Modified: branches/frame_order_testing/generic_fns/exp_info.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/generic_fns/exp_info.py?rev=15666&r1=15665&r2=15666&view=diff Modified: branches/frame_order_testing/gui/analyses/wizard.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/gui/analyses/wizard.py?rev=15666&r1=15665&r2=15666&view=diff Modified: branches/frame_order_testing/gui/relax_gui.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/gui/relax_gui.py?rev=15666&r1=15665&r2=15666&view=diff Modified: branches/frame_order_testing/info.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/info.py?rev=15666&r1=15665&r2=15666&view=diff Modified: branches/frame_order_testing/multi/__init__.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/multi/__init__.py?rev=15666&r1=15665&r2=15666&view=diff Removed: branches/frame_order_testing/multi/api.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/multi/api.py?rev=15665&view=auto Removed: branches/frame_order_testing/multi/commands.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/multi/commands.py?rev=15665&view=auto Modified: branches/frame_order_testing/multi/misc.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/multi/misc.py?rev=15666&r1=15665&r2=15666&view=diff [... 45 lines stripped ...]