多线程优化工具箱
mot的Python项目详细描述
多线程优化工具箱(mot)是一个使用opencl计算平台进行并行优化和采样的库。 使用opencl允许使用所有cpu核或使用gpu(显卡)进行并行处理。 mot实现了powell、nelder-mead-simplex和levenberg-marquardt非线性优化算法的opencl并行化版本。 以及各种形式的马尔可夫链蒙特卡罗(mcmc)抽样。
有关完整文档,请参见:https://mot.readthedocs.org
莫特能帮我吗?
如果你有多个小的独立优化问题,mot可以帮助你。 例如,如果有很多(>;10.000)个小优化问题,每个问题的参数不超过30个,则mot可能会有帮助。 另一方面,如果你有一个有10000个变量的大优化问题,不幸的是mot帮不了你。
示例用例
mot最初是作为Microstructure Diffusion Toolbox的计算包编写的,用于dmri大脑研究。 在扩散磁共振成像(dmri)中,大脑被扫描在一个3d网格中,每个网格元素a{em1}$voxel代表其自身的优化问题。 每个体素的数据点数量通常很小,从30到500个数据点不等,并且适合该数据的模型通常 介于6到20个参数之间。 由于每个体素都可以独立于其他体素进行分析,因此计算可以大规模并行化,从而进行编程。 在opencl中可能允许大速度增益。 这个软件工具箱最初是为这个用例而构建的,但是算法和数据结构是通用的,因此 科学领域可以利用这个工具箱。
对于本例中引用的扩散mri包mdt,请参见https://github.com/cbclab/MDT。
摘要
- 免费软件:lgpl v3许可证
- python中的接口,opencl中的计算
- 实现Powell、Nelder-Mead Simplex和Levenberg-Marquardt非线性优化算法
- 实现各种马尔可夫链蒙特卡罗(MCMC)采样例程
- 标签:优化、采样、并行、opencl、python
链接
- 完整文档:https://mot.readthedocs.org
- 项目主页:https://github.com/cbclab/MOT
- PYPI包:PyPi
快速安装指南
MOT的基本要求是:
- python 3.x
- 在GPU驱动程序或CPU运行时支持OpenCl 1.2(或更高版本)
linux
对于ubuntu>;=16,您可以使用:
- sudo add-apt-repositoryppa:robbert-harms/cbclab
- sudo apt update
- sudo apt install python3-pippython3-mot
- sudo pip3 install tatsu
对于debian用户和ubuntu<;16用户,请使用以下命令安装mot:
- sudo apt install python3 python3-pippython3-pyopenclpython3-devel
- sudo pip3 install mot
mac
- 从https://www.continuum.io/downloads>; 安装python anaconda 3.*64位
- 打开终端并键入pip install mot
windows 对于Windows,简短指南是:
- 从https://www.continuum.io/downloads 安装python anaconda 3.*64位
- 安装或升级GPU驱动程序
- 使用以下方法之一安装pyopencl:
- 使用二进制文件,例如http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopencl或;
- 使用pip install pyopencl编译pyopencl,这需要:
-
在Visual Studio 2015(社区版或更高版本)中使用Python和常用的Visual C++选项工具启用了< > >
- opencl开发工具包(NVidia CUDA或Intel OpenCL SDK或AMD APP SDK)
- 打开一个水蟒壳并键入:pip install mot
有关更多信息和更详细的安装说明,请参见:https://mot.readthedocs.org
注意事项
有一些警告和已知问题,主要与opencl有关:
- 由于安装pyopencl的困难,windows支持是实验性的,希望在windows上安装pyopencl会很快变得更容易。
- 由于缺少GPU或PCI-E传递,GPU加速在大多数虚拟机中是不可能的,每当虚拟机供应商编程此功能时,这种情况都会发生变化。 我们的建议是直接在您的机器上安装linux。