Changes between Version 21 and Version 22 of CodeCampIV


Ignore:
Timestamp:
Mar 22, 2016 1:47:55 PM (8 years ago)
Author:
butler
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • CodeCampIV

    v21 v22  
    2929These items built on the work done at the previous code camp and are focussed on the goal of delivering v4.0 of !SasView, as per the roadmap.  
    3030 
    31 The major task for this release will be the separation of the model calculation code from the GUI. This work is currently underway with the model package in a separate repository (sasmodels) and models being gradually migrated to the new framework. This project will significantly clean up the code base and start disentangling the computational code from the GUI code which has crept in over the years. Importantly, it will also hugely simplify the process of implementing new models, provide the ability for users to drop in either a C or python !SasView discoverable model and provide access to the built-in polydispersity functions. This has been identified as the biggest stumbling block for further uptake by the community: it is both a frustration to current users and is preventing many power users from embracing SasView more fully. 
     31The major task for this release will be the separation of the model calculation code from the GUI. This work is currently underway with the model package in a separate repository (sasmodels) and models being gradually migrated to the new framework. This project will significantly clean up the code base and start disentangling the computational code from the GUI code which has crept in over the years. Importantly, it will also hugely simplify the process of implementing new models, provide the ability for users to drop in either a C or python !SasView discoverable model and provide access to the built-in polydispersity functions. This has been identified as the biggest stumbling block for further uptake by the community: it is both a frustration to current users and is preventing many power users from embracing !SasView more fully. 
    3232 
    3333Additionally, it will enable transparent access to multiprocessing and GPU support for many users. On most macs this could provide native speedups of 10 to 100 for complex fitting, while windows machines should see a modest speedups but will require the installation of !OpenCl by most users to take full advantage of the GPU speedup. This process will be simplified as much as possible for the user. The sasmodels package will incorporate calculation of SESANS curves from SANS models as well as native SESANS models. This will enable the use of sasmodels with BUMPS in scripts to fit SESANS data and prepare for the integration of SESANS fitting into the !SasView GUI. Finally, subject to the availability of sufficient resources, all the model documentation will be reviewed and the tutorial documentation will begin to be redone. 
     
    5959As the week progressed, individual developers lent their time to other groups as needs arose.  
    6060 
    61 Prior to the code camp, the developers had implemented the majority of models from SasView into the new sasmodels package. During the camp, time was spent checking the documentation and correctness of these models, including making sure they matched the previous output of !SasView. The sasmodels package itself was worked on to enhance the performance of polydispersity and orientation distribution calculations, replace some core mathematical functions with faster routines, and begin to enable the use of the multi-level models (such as multi-shell and RPA models) from !SasView. There had already been work, prior to the camp, to separate GUI from calculation and one of the first changes at the camp was the merging of this new structure - separation of code into sasgui and sascalc sub-modules - into the code base. 
     61Prior to the code camp, the developers had implemented the majority of models from !SasView into the new sasmodels package. During the camp, time was spent checking the documentation and correctness of these models, including making sure they matched the previous output of !SasView. The sasmodels package itself was worked on to enhance the performance of polydispersity and orientation distribution calculations, replace some core mathematical functions with faster routines, and begin to enable the use of the multi-level models (such as multi-shell and RPA models) from !SasView. There had already been work, prior to the camp, to separate GUI from calculation and one of the first changes at the camp was the merging of this new structure - separation of code into sasgui and sascalc sub-modules - into the code base. 
    6262 
    63 At the end of the camp, all of the SasView model code was removed and all model calculations were now called from sasmodels. Some vestiges remain - in particular the easy sum/multi model framework is still from the old code - but this will be weeded out over the coming months. 
     63At the end of the camp, all of the !SasView model code was removed and all model calculations were now called from sasmodels. Some vestiges remain - in particular the easy sum/multi model framework is still from the old code - but this will be weeded out over the coming months. 
    6464 
    6565=== Code Stats === 
     
    7575An alpha release of 4.0 will be produced to allow user testing of the new build using sasmodels. This will contain simple models (no multi-level and no magnetism) but will otherwise have all the features of v3.1.2. It will support users adding models using the new framework, which was the key goal for a v4.0. Once multi-level and magnetic models are implemented there will be a beta release, which can then be tested prior to a full v4.0 release. This will expose the users to the new functionality and enable faster feedback on problems. 
    7676 
    77 The ESS developers will be following the SINE2020 project plan, with the next step being a redesign of the SasView-sascalc API as a first step to full separation of UI and calculation codes. 
     77The ESS developers will be following the SINE2020 project plan, with the next step being a redesign of the !SasView-sascalc API as a first step to full separation of UI and calculation codes. 
    7878 
    7979