I think having the model-free specific code all in one spot in 'specific_fns/model_free/' is the better approach. Then, with complete and clear documentation using docstrings and comments in the code, someone developing a new type of data analysis not yet supported by relax will be able to write the necessary code in their own spot in 'specific_fns' to take advantage of MPI. However as the directory 'specific_fns/model_free/' doesn't exist in your branch, the classes could possibly be added to the end of the 'specific_fns/model_free.py' file (or maybe the file moved and renamed).
Cheers, Edward On 3/30/07, Gary S. Thompson <[EMAIL PROTECTED]> wrote:
Edward d'Auvergne wrote: > Gary, > > I've noticed that all the model-free specific code in the 'multi' > directory has now been moved into the single module 'multi.commands'. > I had an idea for abstraction of that module from the dependence on > the model-free specific analysis and was wondering what you thought > about it. All the classes except 'MF_minimise_command' could be made > independent of model-free analysis simply by renaming. Hi Ed This is done alread all the relevant base classes in processor (Result_string,Result_command,Null_result_command,Slave_command, and Memo) are independant from model_free. Commands then contains specific implimentations of these classes to carry out remote operation Exit_commands - exits the program created by the hooked sys.exit Get_name_command lists all processor ids and their equivalent rank (rank is what will be prepended to dirtibuted messages. This currently needs a prompt command to call it Mf_minimise_command,MF_result_command,MF_memo -these are a tighly coupled set of commands for use with the specific_fns.model_free class. They are also tightly coupled to the implimentation details of specific_fns.model_free and certanly in there current form can't be reused... > These could > then be used for other data analysis types in the future - exponential > curve fitting for the relaxation rates, SRLS, or what ever else would > like to use the code. The model-free specific code of the > 'MF_minimise_command' class could be shifted into the > 'specific_fns/model_free/' directory later on (the directory exists in > the current 1.3 line), or into the current > 'specific_fns/model_free.py' file. The class could also be split into > a base class in 'multi' and derived class in 'specific_fns' for > further abstraction. This is indeed the case already! I guess Mf_minimise_command,MF_result_command,MF_memo could be moved into the specific.model_free module or into specific_fns.model_free_commands for example but I can't see much more generality I can add. commands was a module added for multi processor independant commands. Do people think these should be kept together or spread round the code base? (either approach is reasobale!) regards gary > > This idea would keep all the model-free specific code in the directory > 'specific_fns/model_free' and keep the code of the 'multi' directory > sufficiently abstracted so that any type of analysis can take > advantage of it. > > Cheers, > > Edward > > _______________________________________________ > relax (http://nmr-relax.com) > > This is the relax-devel mailing list > [email protected] > > To unsubscribe from this list, get a password > reminder, or change your subscription options, > visit the list information page at > https://mail.gna.org/listinfo/relax-devel > > . > -- ------------------------------------------------------------------- Dr Gary Thompson Astbury Centre for Structural Molecular Biology, University of Leeds, Astbury Building, Leeds, LS2 9JT, West-Yorkshire, UK Tel. +44-113-3433024 email: [EMAIL PROTECTED] Fax +44-113-2331407 -------------------------------------------------------------------
_______________________________________________ relax (http://nmr-relax.com) This is the relax-devel mailing list [email protected] To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-devel

