Changeset 59994557 in sasmodels
- Timestamp:
- Oct 8, 2016 10:36:46 AM (8 years ago)
- Branches:
- master, core_shell_microgels, costrafo411, magnetic_model, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
- Children:
- 3f5a566, 630cdd4
- Parents:
- bba9361 (diff), ec8b9a3 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/ref/gpu/gpu_computations.rst
r066f296 r711f17e 8 8 9 9 To run on the GPU, your computer must have OpenCL drivers installed. 10 For information about OpenCL installation see th e11 :ref:`opencl-installation` documentation10 For information about OpenCL installation see this 11 :ref:`opencl-installation` guidance. 12 12 13 13 Where the model is evaluated is a little bit complicated. … … 16 16 on the CPU. If the OpenCL driver is not available for the CPU then 17 17 it will run as a normal program on the CPU. 18 18 19 For models with a large number of parameters or with a lot of code, 19 20 the GPU may be too small to run the program effectively. 20 21 In this case, you should try simplifying the model, maybe breaking it 21 into several different mod els so that you don't need ifstatements in your code.22 into several different modules so that you don't need *IF* statements in your code. 22 23 If it is still too big, you can set *opencl=False* in the model file and 23 24 the model will only run as a normal program on the CPU. 24 25 This will not usually be necessary. 25 26 27 Device Selection 28 ................ 26 29 If you have multiple GPU devices you can tell SasView which device to use. 27 30 By default, SasView looks for one GPU and one CPU device 28 31 from available OpenCL platforms. 29 32 30 It prefers AMD or NVIDIA drivers for GPU, and prefers Intel or 31 Apple drivers for CPU. 32 Both GPU and CPU are included on the assumption that CPU is always available 33 and supports double precision. 33 SasView prefers AMD or NVIDIA drivers for GPU, and prefers Intel or 34 Apple drivers for CPU. Both GPU and CPU are included on the assumption that CPU 35 is always available and supports double precision. 34 36 35 37 The device order is important: GPU is checked before CPU on the assumption that 36 38 it will be faster. By examining ~/sasview.log you can see which device SasView 37 39 chose to run the model. 40 38 41 If you don't want to use OpenCL, you can set *SAS_OPENCL=None* 39 42 in the environment, and it will only use normal programs. 43 40 44 If you want to use one of the other devices, you can run the following 41 45 from the python console in SasView:: … … 48 52 Use that value as the value of *SAS_OPENCL*. 49 53 54 Compiler Selection 55 .................. 50 56 For models run as normal programs, you may need to specify a compiler. 51 57 This is done using the SAS_COMPILER environment variable. … … 54 60 TinyCC is provided with SasView so that is the default. 55 61 If you want one of the other compilers, be sure to have it available 56 on the path so SasView can find it. 62 in your *PATH* so SasView can find it! 63 64 65 .. note:: 66 This help document was last changed by Steve King, 08Oct2016 -
doc/ref/gpu/opencl_installation.rst
r6ae7957 rec8b9a3 4 4 OpenCL Installation 5 5 ******************* 6 *Warning! GPU devices do not in general offer the same level of memory protection as CPU devices. If your code attempts to write outside allocated memory buffers unpredicatable behaviour may result (eg, your video display may freeze, or your system may crash, etc). Do not install OpenCL drivers without first checking for known issues (eg, some computer manufacturers install modified graphics drivers so replacing these may not be a good idea!). If in doubt, seek advice from an IT professional before proceeding further.* 6 7 7 8 1. Check if you have OpenCL already installed … … 9 10 10 11 Windows 11 ========= 12 ....... 12 13 The following instructions are based on 13 14 http://web.engr.oregonstate.edu/~mjb/cs475/DoIHaveOpenCL.pdf 14 15 15 * Go to: Start -> Control Panel -> Administrative Tools16 * Go to: Start -> Control Panel -> System & Security -> Administrative Tools 16 17 * Double Click on Computer Managment 17 18 * Click on Device Manager … … 23 24 24 25 Mac OSX 25 ========= 26 For OSXs higher than 10.6 OpenCL is shipped along with the system. 26 ....... 27 For OS X operating systems higher than 10.6 OpenCL is shipped along with the system. 28 29 However, OpenCL has had a rocky history on Macs. Apple provide a useful compatibility table at https://support.apple.com/en-us/HT202823 27 30 28 31 … … 31 34 32 35 Windows 33 ========= 34 Depen eding on the graphic card on your system, drivers36 ....... 37 Depending on the graphic card in your system, drivers 35 38 can be obtained from different sources: 36 39 37 * N vidia: https://developer.nvidia.com/opencl40 * NVIDIA: https://developer.nvidia.com/opencl 38 41 * AMD: http://developer.amd.com/tools-and-sdks/opencl-zone/ 39 42 40 43 Mac OSX 41 ========= 44 ....... 42 45 N/A 46 47 You cannot download OpenCL driver updates for your Mac. They are packaged with the normal quarterly OS X updates from Apple. 43 48 44 49 45 50 .. note:: 46 Note that Intel provides an OpenCL drivers for Intel processors: 47 https://software.intel.com/en-us/articles/opencl-drivers 48 This can sometimes make use of special vector instructions across multiple 51 Intel provides OpenCL drivers for Intel processors at https://software.intel.com/en-us/articles/opencl-drivers 52 These can sometimes make use of special vector instructions across multiple 49 53 processors, so it is worth installing if the GPU does not support double 50 54 precision. You can install this driver alongside the GPU driver for NVIDIA 51 55 or AMD. 56 57 58 .. note:: 59 This help document was last changed by Steve King, 08Oct2016 -
sasmodels/models/polymer_micelle.py
ra807206 rbba9361 11 11 12 12 The 1D scattering intensity for this model is calculated according to 13 the equations given by Pedersen (Pedersen, 2000). 13 the equations given by Pedersen (Pedersen, 2000), summarised briefly here. 14 15 The micelle core is imagined as $N\_aggreg$ polymer heads, each of volume $v\_core$, 16 which then defines a micelle core of $radius\_core$, which is a separate parameter 17 even though it could be directly determined. 18 The Gaussian random coil tails, of gyration radius $rg$, are imagined uniformly 19 distributed around the spherical core, centred at a distance $radius\_core + d\_penetration.rg$ 20 from the micelle centre, where $d\_penetration$ is of order unity. 21 A volume $v\_corona$ is defined for each coil. 22 The model in detail seems to separately parametrise the terms for the shape of I(Q) and the 23 relative intensity of each term, so use with caution and check parameters for consistency. 24 The spherical core is monodisperse, so it's intensity and the cross terms may have sharp 25 oscillations (use q resolution smearing if needs be to help remove them). 26 27 .. math:: 28 P(q) = N^2\beta^2_s\Phi(qR)^2+N\beta^2_cP_c(q)+2N^2\beta_s\beta_cS_{sc}s_c(q)+N(N-1)\beta_c^2S_{cc}(q) 29 30 \beta_s = v\_core(sld\_core - sld\_solvent) 31 32 \beta_c = v\_corona(sld\_corona - sld\_solvent) 33 34 where $N = n\_aggreg$, and for the spherical core of radius $R$ 35 36 .. math:: 37 \Phi(qR)= \frac{\sin(qr) - qr\cos(qr)}{(qr)^3} 38 39 whilst for the Gaussian coils 40 41 .. math:: 42 43 P_c(q) &= 2 [\exp(-Z) + Z - 1] / Z^2 44 45 Z &= (q R_g)^2 46 47 The sphere to coil ( core to corona) and coil to coil (corona to corona) cross terms are 48 approximated by: 49 50 .. math:: 51 52 S_{sc}(q)=\Phi(qR)\psi(Z)\frac{sin(q(R+d.R_g))}{q(R+d.R_g)} 53 54 S_{cc}(q)=\psi(Z)^2\left[\frac{sin(q(R+d.R_g))}{q(R+d.R_g)} \right ]^2 55 56 \psi(Z)=\frac{[1-exp^{-Z}]}{Z} 14 57 15 58 Validation 16 59 ---------- 17 60 18 This model has not yet been validated. Feb2015 61 $P(q)$ above is multiplied by $ndensity$, and a units conversion of 10^{-13}, so $scale$ 62 is likely 1.0 if the scattering data is in absolute units. This model has not yet been 63 independently validated. 19 64 20 65 … … 31 76 title = "Polymer micelle model" 32 77 description = """ 33 This model provides an approximate form factor, P(q), for a micelle with 34 a spherical core with Gaussian polymer chains attached to the surface. 78 This model provides the form factor, $P(q)$, for a micelle with a spherical 79 core and Gaussian polymer chains attached to the surface, thus may be applied 80 to block copolymer micelles. To work well the Gaussian chains must be much 81 smaller than the core, which is often not the case. Please study the 82 reference to Pedersen and full documentation carefully. 35 83 """ 84 85 36 86 category = "shape:sphere" 37 87 -
sasmodels/models/spinodal.py
r43fe34b rbba9361 5 5 This model calculates the SAS signal of a phase separating solution under spinodal decomposition. 6 6 The scattering intensity $I(q)$ is calculated as 7 .. math:: I(q) = I_{max}\frac{(1+\gamma/2)x^2}{\gamma/2+x^{2+\gamma}}+B 8 where $x=q/q_0$ and $B$ is a flat background. The characteristic structure length 9 scales with the correlation peak at $q_0$. The exponent $\gamma$ is equal to 7 8 .. math:: 9 I(q) = I_{max}\frac{(1+\gamma/2)x^2}{\gamma/2+x^{2+\gamma}}+B 10 11 where $x=q/q_0$ and $B$ is a flat background. The characteristic structure length 12 scales with the correlation peak at $q_0$. The exponent $\gamma$ is equal to 10 13 $d+1$ with d the dimensionality of the off-critical concentration mixtures. 11 A transition to $\gamma=2 d$is seen near the percolation treshold into the14 A transition to $\gamma=2d$ is seen near the percolation threshold into the 12 15 critical concentration regime. 13 16 … … 43 46 # pylint: disable=bad-whitespace, line-too-long 44 47 # ["name", "units", default, [lower, upper], "type", "description"], 45 parameters = [["scale", "", 1.0, [-inf, inf], "", "Scale factor"],46 ["gamma", "", 48 parameters = [["scale", "", 1.0, [-inf, inf], "", "Scale factor"], 49 ["gamma", "", 3.0, [-inf, inf], "", "Exponent"], 47 50 ["q_0", "1/Ang", 0.1, [-inf, inf], "", "Correlation peak position"] 48 51 ]
Note: See TracChangeset
for help on using the changeset viewer.