Changeset 907186d in sasview for src/sas/sasgui/perspectives/fitting/media
- Timestamp:
- Oct 26, 2016 9:12:33 AM (8 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 20cfa23
- Parents:
- af6de50
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sasgui/perspectives/fitting/media/plugin.rst
raf6de50 r907186d 27 27 28 28 the next time SasView is started it will compile the plugin and add 29 it to the list of * PluginModels* in a FitPage.29 it to the list of *Customized Models* in a FitPage. 30 30 31 31 SasView models can be of three types: … … 61 61 - If necessary use underscore to separate words (i.e. barbell not BarBell or 62 62 broad_peak not BroadPeak) 63 - Do not include ââ¬Åmodelââ¬ï¿œin the name (i.e. barbell not BarBellModel)63 - Do not include "model" in the name (i.e. barbell not BarBellModel) 64 64 65 65 … … 486 486 and it includes orientation parameters. 487 487 488 *form_volume* defines the volume of the shape. As in python models, 488 *form_volume* defines the volume of the shape. As in python models, it 489 489 includes only the volume parameters. 490 490 … … 673 673 particular problems: 674 674 675 (1) Code is too complex, or uses too much memory.GPU devices only have a675 **(1) Code is too complex, or uses too much memory.** GPU devices only have a 676 676 limited amount of memory available for each processor. If you run programs 677 677 which take too much memory, then rather than running multiple values in parallel … … 680 680 some platforms, or worse, cause the screen to go blank or the system to reboot. 681 681 682 (2) Code takes too long.Because GPU devices are used for the computer682 **(2) Code takes too long.** Because GPU devices are used for the computer 683 683 display, the OpenCL drivers are very careful about the amount of time they 684 684 will allow any code to run. For example, on OS X, the model will stop running 685 after 5 seconds regardless ifthe computation is complete. You may end up686 with only some of your 2 -D array defined, with the rest containing random685 after 5 seconds regardless of whether the computation is complete. You may end up 686 with only some of your 2D array defined, with the rest containing random 687 687 data. Or it may cause the screen to go blank or the system to reboot. 688 688 689 (3) Memory is not *aligned*. The GPU hardware is specialized to operate on690 multiple values simultaneously. To keep the GPU simple rthe values in memory689 **(3) Memory is not aligned**. The GPU hardware is specialized to operate on 690 multiple values simultaneously. To keep the GPU simple the values in memory 691 691 must be aligned with the different GPU compute engines. Not following these 692 692 rules can lead to unexpected values being loaded into memory, and wrong answers 693 693 computed. The conclusion from a very long and strange debugging session was 694 694 that any arrays that you declare in your model should be a multiple of four. 695 For example 695 For example:: 696 696 697 697 double Iq(q, p1, p2, ...) … … 702 702 703 703 The first step when your model is behaving strangely is to set **single=False**. 704 This automatically restricts the model to only run on the CPU, or on high 705 GPU cards. There can still be problems even on high 704 This automatically restricts the model to only run on the CPU, or on high-end 705 GPU cards. There can still be problems even on high-end cards, so you can force 706 706 the model off the GPU by setting **opencl=False**. This runs the model 707 707 as a normal C program without any GPU restrictions so you know that … … 945 945 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 946 946 947 .. note:: This help document was last changed by Steve King, 10Oct2016947 .. note:: This help document was last changed by Steve King, 25Oct2016
Note: See TracChangeset
for help on using the changeset viewer.