From b1e01bb154a07627c9a04a96ec51ae35ad16dda2 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Mon, 15 May 2023 05:04:26 +0000 Subject: automatic import of python-mot --- .gitignore | 1 + python-mot.spec | 403 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 405 insertions(+) create mode 100644 python-mot.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..21d2ab2 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/mot-0.11.4.tar.gz diff --git a/python-mot.spec b/python-mot.spec new file mode 100644 index 0000000..9006d8b --- /dev/null +++ b/python-mot.spec @@ -0,0 +1,403 @@ +%global _empty_manifest_terminate_build 0 +Name: python-mot +Version: 0.11.4 +Release: 1 +Summary: Multi-threaded Optimization Toolbox +License: LGPL v3 +URL: https://github.com/robbert-harms/MOT +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9b/42/a45e2874f466d6786a7ff82a8d911d3da958efc217b05d3a452cacb6370d/mot-0.11.4.tar.gz +BuildArch: noarch + +Requires: python3-numpy +Requires: python3-pyopencl +Requires: python3-scipy +Requires: python3-tatsu + +%description +################################### +Multi-threaded Optimization Toolbox +################################### +The Multi-threaded Optimization Toolbox (MOT) is a library for parallel optimization and sampling using the OpenCL compute platform. +Using OpenCL allows parallel processing using all CPU cores or using the GPU (Graphics card). +MOT implements OpenCL parallelized versions of the Powell, Nelder-Mead Simplex and Levenberg-Marquardt non-linear optimization algorithms +alongside various flavors of Markov Chain Monte Carlo (MCMC) sampling. + +For the full documentation see: https://mot.readthedocs.org + + +**************** +Can MOT help me? +**************** +MOT can help you if you have multiple small independent optimization problems. +For example, if you have a lot of (>10.000) small optimization problems, with ~30 parameters or less each, MOT may be of help. +If, on the other hand, you have one big optimization problem with 10.000 variables, MOT unfortunately can not help you. + + +**************** +Example use case +**************** +MOT was originally written as a computation package for the `Microstructure Diffusion Toolbox `_, used in dMRI brain research. +In diffusion Magnetic Resonance Imaging (dMRI) the brain is scanned in a 3D grid where each grid element, a *voxel*, represents its own optimization problem. +The number of data points per voxel is generally small, ranging from 30 to 500 datapoints, and the models fitted to that data have generally +somewhere between 6 and 20 parameters. +Since each of these voxels can be analyzed independently of the others, the computations can be massively parallelized and hence programming +in OpenCL potentially allows large speed gains. +This software toolbox was originally built for exactly this use case, yet the algorithms and data structures are generalized such that any +scientific field may take advantage of this toolbox. + +For the diffusion MRI package *MDT* to which is referred in this example, please see https://github.com/robbert-harms/MDT. + + +******* +Summary +******* +* Free software: LGPL v3 license +* Interface in Python, computations in OpenCL +* Implements Powell, Nelder-Mead Simplex and Levenberg-Marquardt non-linear optimization algorithms +* Implements various Markov Chain Monte Carlo (MCMC) sampling routines +* Tags: optimization, sampling, parallel, opencl, python + + +***** +Links +***** +* Full documentation: https://mot.readthedocs.org +* Project home: https://github.com/robbert-harms/MOT +* PyPi package: `PyPi `_ + + +************************ +Quick installation guide +************************ +The basic requirements for MOT are: + +* Python 3.x +* OpenCL 1.2 (or higher) support in GPU driver or CPU runtime + + +**Linux** + +For Ubuntu >= 16 you can use: + +* ``sudo add-apt-repository ppa:robbert-harms/cbclab`` +* ``sudo apt update`` +* ``sudo apt install python3-pip python3-mot`` +* ``sudo pip3 install tatsu`` + + +For Debian users and Ubuntu < 16 users, install MOT with: + +* ``sudo apt install python3 python3-pip python3-pyopencl python3-devel`` +* ``sudo pip3 install mot`` + + +**Mac** + +* Install Python Anaconda 3.* 64bit from https://www.continuum.io/downloads> +* Open a terminal and type ``pip install mot`` + + +**Windows** +For Windows the short guide is: + +* Install Python Anaconda 3.* 64bit from https://www.continuum.io/downloads +* Install or upgrade your GPU drivers +* Install PyOpenCL using one of the following methods: + 1. Use a binary, for example from http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopencl or; + 2. Compile PyOpenCL with ``pip install pyopencl``, this requires: + * Visual Studio 2015 (Community edition or higher) with the Python and Common Tools for Visual C++ options enabled + * OpenCL development kit (`NVidia CUDA `_ or `Intel OpenCL SDK `_ or the `AMD APP SDK `_) +* Open a Anaconda shell and type: ``pip install mot`` + + +For more information and for more elaborate installation instructions, please see: https://mot.readthedocs.org + + +******* +Caveats +******* +There are a few caveats and known issues, primarily related to OpenCL: + +* Windows support is experimental due to the difficulty of installing PyOpenCL, hopefully installing PyOpenCL will get easier on Windows soon. +* GPU acceleration is not possible in most virtual machines due to lack of GPU or PCI-E pass-through, this will change whenever virtual machines vendors program this feature. + Our recommendation is to install Linux on your machine directly. + + + + +%package -n python3-mot +Summary: Multi-threaded Optimization Toolbox +Provides: python-mot +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-mot +################################### +Multi-threaded Optimization Toolbox +################################### +The Multi-threaded Optimization Toolbox (MOT) is a library for parallel optimization and sampling using the OpenCL compute platform. +Using OpenCL allows parallel processing using all CPU cores or using the GPU (Graphics card). +MOT implements OpenCL parallelized versions of the Powell, Nelder-Mead Simplex and Levenberg-Marquardt non-linear optimization algorithms +alongside various flavors of Markov Chain Monte Carlo (MCMC) sampling. + +For the full documentation see: https://mot.readthedocs.org + + +**************** +Can MOT help me? +**************** +MOT can help you if you have multiple small independent optimization problems. +For example, if you have a lot of (>10.000) small optimization problems, with ~30 parameters or less each, MOT may be of help. +If, on the other hand, you have one big optimization problem with 10.000 variables, MOT unfortunately can not help you. + + +**************** +Example use case +**************** +MOT was originally written as a computation package for the `Microstructure Diffusion Toolbox `_, used in dMRI brain research. +In diffusion Magnetic Resonance Imaging (dMRI) the brain is scanned in a 3D grid where each grid element, a *voxel*, represents its own optimization problem. +The number of data points per voxel is generally small, ranging from 30 to 500 datapoints, and the models fitted to that data have generally +somewhere between 6 and 20 parameters. +Since each of these voxels can be analyzed independently of the others, the computations can be massively parallelized and hence programming +in OpenCL potentially allows large speed gains. +This software toolbox was originally built for exactly this use case, yet the algorithms and data structures are generalized such that any +scientific field may take advantage of this toolbox. + +For the diffusion MRI package *MDT* to which is referred in this example, please see https://github.com/robbert-harms/MDT. + + +******* +Summary +******* +* Free software: LGPL v3 license +* Interface in Python, computations in OpenCL +* Implements Powell, Nelder-Mead Simplex and Levenberg-Marquardt non-linear optimization algorithms +* Implements various Markov Chain Monte Carlo (MCMC) sampling routines +* Tags: optimization, sampling, parallel, opencl, python + + +***** +Links +***** +* Full documentation: https://mot.readthedocs.org +* Project home: https://github.com/robbert-harms/MOT +* PyPi package: `PyPi `_ + + +************************ +Quick installation guide +************************ +The basic requirements for MOT are: + +* Python 3.x +* OpenCL 1.2 (or higher) support in GPU driver or CPU runtime + + +**Linux** + +For Ubuntu >= 16 you can use: + +* ``sudo add-apt-repository ppa:robbert-harms/cbclab`` +* ``sudo apt update`` +* ``sudo apt install python3-pip python3-mot`` +* ``sudo pip3 install tatsu`` + + +For Debian users and Ubuntu < 16 users, install MOT with: + +* ``sudo apt install python3 python3-pip python3-pyopencl python3-devel`` +* ``sudo pip3 install mot`` + + +**Mac** + +* Install Python Anaconda 3.* 64bit from https://www.continuum.io/downloads> +* Open a terminal and type ``pip install mot`` + + +**Windows** +For Windows the short guide is: + +* Install Python Anaconda 3.* 64bit from https://www.continuum.io/downloads +* Install or upgrade your GPU drivers +* Install PyOpenCL using one of the following methods: + 1. Use a binary, for example from http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopencl or; + 2. Compile PyOpenCL with ``pip install pyopencl``, this requires: + * Visual Studio 2015 (Community edition or higher) with the Python and Common Tools for Visual C++ options enabled + * OpenCL development kit (`NVidia CUDA `_ or `Intel OpenCL SDK `_ or the `AMD APP SDK `_) +* Open a Anaconda shell and type: ``pip install mot`` + + +For more information and for more elaborate installation instructions, please see: https://mot.readthedocs.org + + +******* +Caveats +******* +There are a few caveats and known issues, primarily related to OpenCL: + +* Windows support is experimental due to the difficulty of installing PyOpenCL, hopefully installing PyOpenCL will get easier on Windows soon. +* GPU acceleration is not possible in most virtual machines due to lack of GPU or PCI-E pass-through, this will change whenever virtual machines vendors program this feature. + Our recommendation is to install Linux on your machine directly. + + + + +%package help +Summary: Development documents and examples for mot +Provides: python3-mot-doc +%description help +################################### +Multi-threaded Optimization Toolbox +################################### +The Multi-threaded Optimization Toolbox (MOT) is a library for parallel optimization and sampling using the OpenCL compute platform. +Using OpenCL allows parallel processing using all CPU cores or using the GPU (Graphics card). +MOT implements OpenCL parallelized versions of the Powell, Nelder-Mead Simplex and Levenberg-Marquardt non-linear optimization algorithms +alongside various flavors of Markov Chain Monte Carlo (MCMC) sampling. + +For the full documentation see: https://mot.readthedocs.org + + +**************** +Can MOT help me? +**************** +MOT can help you if you have multiple small independent optimization problems. +For example, if you have a lot of (>10.000) small optimization problems, with ~30 parameters or less each, MOT may be of help. +If, on the other hand, you have one big optimization problem with 10.000 variables, MOT unfortunately can not help you. + + +**************** +Example use case +**************** +MOT was originally written as a computation package for the `Microstructure Diffusion Toolbox `_, used in dMRI brain research. +In diffusion Magnetic Resonance Imaging (dMRI) the brain is scanned in a 3D grid where each grid element, a *voxel*, represents its own optimization problem. +The number of data points per voxel is generally small, ranging from 30 to 500 datapoints, and the models fitted to that data have generally +somewhere between 6 and 20 parameters. +Since each of these voxels can be analyzed independently of the others, the computations can be massively parallelized and hence programming +in OpenCL potentially allows large speed gains. +This software toolbox was originally built for exactly this use case, yet the algorithms and data structures are generalized such that any +scientific field may take advantage of this toolbox. + +For the diffusion MRI package *MDT* to which is referred in this example, please see https://github.com/robbert-harms/MDT. + + +******* +Summary +******* +* Free software: LGPL v3 license +* Interface in Python, computations in OpenCL +* Implements Powell, Nelder-Mead Simplex and Levenberg-Marquardt non-linear optimization algorithms +* Implements various Markov Chain Monte Carlo (MCMC) sampling routines +* Tags: optimization, sampling, parallel, opencl, python + + +***** +Links +***** +* Full documentation: https://mot.readthedocs.org +* Project home: https://github.com/robbert-harms/MOT +* PyPi package: `PyPi `_ + + +************************ +Quick installation guide +************************ +The basic requirements for MOT are: + +* Python 3.x +* OpenCL 1.2 (or higher) support in GPU driver or CPU runtime + + +**Linux** + +For Ubuntu >= 16 you can use: + +* ``sudo add-apt-repository ppa:robbert-harms/cbclab`` +* ``sudo apt update`` +* ``sudo apt install python3-pip python3-mot`` +* ``sudo pip3 install tatsu`` + + +For Debian users and Ubuntu < 16 users, install MOT with: + +* ``sudo apt install python3 python3-pip python3-pyopencl python3-devel`` +* ``sudo pip3 install mot`` + + +**Mac** + +* Install Python Anaconda 3.* 64bit from https://www.continuum.io/downloads> +* Open a terminal and type ``pip install mot`` + + +**Windows** +For Windows the short guide is: + +* Install Python Anaconda 3.* 64bit from https://www.continuum.io/downloads +* Install or upgrade your GPU drivers +* Install PyOpenCL using one of the following methods: + 1. Use a binary, for example from http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopencl or; + 2. Compile PyOpenCL with ``pip install pyopencl``, this requires: + * Visual Studio 2015 (Community edition or higher) with the Python and Common Tools for Visual C++ options enabled + * OpenCL development kit (`NVidia CUDA `_ or `Intel OpenCL SDK `_ or the `AMD APP SDK `_) +* Open a Anaconda shell and type: ``pip install mot`` + + +For more information and for more elaborate installation instructions, please see: https://mot.readthedocs.org + + +******* +Caveats +******* +There are a few caveats and known issues, primarily related to OpenCL: + +* Windows support is experimental due to the difficulty of installing PyOpenCL, hopefully installing PyOpenCL will get easier on Windows soon. +* GPU acceleration is not possible in most virtual machines due to lack of GPU or PCI-E pass-through, this will change whenever virtual machines vendors program this feature. + Our recommendation is to install Linux on your machine directly. + + + + +%prep +%autosetup -n mot-0.11.4 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-mot -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot - 0.11.4-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..d5784bb --- /dev/null +++ b/sources @@ -0,0 +1 @@ +21f54a83e74d569ea87697ef30dab4c0 mot-0.11.4.tar.gz -- cgit v1.2.3