= !SasView Code Camp-IV = ''(Last edited: 05-Jan-2016)'' == Introduction == The fourth [http://www.sasview.org/ SasView] Code Camp was held from March 15th to 22nd 2016, hosted by the [http://www.tnw.tudelft.nl/en/cooperation/facilities/reactor-instituut-delft/ Reactor Institute Delft] at [http://tudelft.nl TU Delft] in The Netherlands. Local arrangements were made by Wim Bouwman with details on the [wiki:CodeCampIVPlanning planning page]. == Initial Goals == The primary goals of this code camp were those from the [https://github.com/SasView/documents/blob/master/SasView%20Roadmap.md roadmap], namely: * Move models to new independent sasmodels package * Review all model documentation for accuracy * Begin refactoring tutorial documentation to "getting started" tutorial * Redesign model framework to use the new sasmodels package * Enable !OpenCl GPU utilization for models and work on simplifying access for all users * Begin work on integrating SESANS into the !SasView GUI * Usual bug fixes and other minor improvements as time and interest permit These 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. 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. Additionally, 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. == Participants == || Paul Butler (NIST) || Steve King (ISIS) || Andrew Jackson (ESS) || || Jeff Krzywon (NIST) || Richard Heenan (ISIS) || Torben Nielsen (ESS) || || Paul Kienzle (NIST) || Wim Bouwman (DUT) || Piotr Rozyczko (ESS) || || Adam Washington (Sheffield) ||Jurrian Bakker (DUT) || Wojciech Potrzebowski (ESS) || || Miguel Gonzales (ILL) || Steven Parnell (DUT) || || == Photos == [https://www.flickr.com/gp/andrewjjackson/ZL874e All photos from the code camp on Flickr] [[Image(https://farm2.staticflickr.com/1570/25886176391_4fdc8fc3d6_n.jpg)]] [[Image(https://farm2.staticflickr.com/1683/25348441694_9f093a9ecc_n.jpg)]] [[Image(https://farm2.staticflickr.com/1694/25680359950_9e12bfe165_n.jpg)]] == Progress and Outcomes == This code camp brought together 14 developers working for 6 days on the [http://github.com/sasview/sasview SasView] and [http://github.com/sasview/sasmodels sasmodels] code. Amongst the group were two new developers from ESS, Piotr Rozyczko and Wojciech Potrzebowski, and two new SESANS developers, Steven Parnell and Adam Washington. The camp began with updates from all the partner labs. ESS presented the planned work that will be done under the [http://sine2020.eu SINE2020] EU funded project. The goals for SINE2020 are aligned with the !SasView roadmap and focus on the separation of UI code from computational code, development of new UIs (CLI and GUI), and on optimisation of algorithms to enable real-time analysis during experiments. This funded effort will allow some tasks that had been foreseen for further along in the roadmap (new GUI work) to be brought forward. The focus of this code camp was getting the code base ready for a v4.0 release where the primary focus is on delivering a simpler way for users to add their own scattering models and accelerating the calculations so that 2D fitting becomes more readily usable. Development of the SESANS code to a point where it is available for users of the instruments in Delft and ISIS was another key goal. To achieve this, the development team was broken into [wiki:CodeCampIVWorkingGroups working groups] focussing on: * Implementation of SESANS fitting * Development of the sasmodels package * Integration of sasmodels and build/release systems * Documentation As the week progressed, individual developers lent their time to other groups as needs arose. == Next Steps == == Ticket Summary == === Milestone 4.0 Tickets Closed === [[TicketQuery(changetime=2016-03-12..2016-03-25&status=closed,group=milestone,desc=1,format=table,col=resolution|summary|owner|reporter)]]