[Numpy-discussion] Intel random number package
Robert McLeod
robbmcleod at gmail.com
Thu Oct 27 11:42:36 EDT 2016
Releasing NumPy under GPL would make it incompatible with SciPy, which may
be _slightly_ inconvenient to the scientific Python community:
https://scipy.github.io/old-wiki/pages/License_Compatibility.html
https://mail.scipy.org/pipermail/scipy-dev/2013-August/019149.html
Robert
On Thu, Oct 27, 2016 at 5:14 PM, Julian Taylor <
jtaylor.debian at googlemail.com> wrote:
> On 10/27/2016 04:52 PM, Todd wrote:
>
>> On Thu, Oct 27, 2016 at 10:43 AM, Julian Taylor
>> <jtaylor.debian at googlemail.com <mailto:jtaylor.debian at googlemail.com>>
>> wrote:
>>
>> On 10/27/2016 04:30 PM, Todd wrote:
>>
>> On Thu, Oct 27, 2016 at 4:25 AM, Ralf Gommers
>> <ralf.gommers at gmail.com <mailto:ralf.gommers at gmail.com>
>> <mailto:ralf.gommers at gmail.com <mailto:ralf.gommers at gmail.com>>>
>> wrote:
>>
>>
>> On Thu, Oct 27, 2016 at 10:25 AM, Pavlyk, Oleksandr
>> <oleksandr.pavlyk at intel.com
>> <mailto:oleksandr.pavlyk at intel.com>
>> <mailto:oleksandr.pavlyk at intel.com
>> <mailto:oleksandr.pavlyk at intel.com>>> wrote:
>>
>> Please see responses inline.
>>
>>
>>
>> *From:*NumPy-Discussion
>> [mailto:numpy-discussion-bounces at scipy.org
>> <mailto:numpy-discussion-bounces at scipy.org>
>> <mailto:numpy-discussion-bounces at scipy.org
>> <mailto:numpy-discussion-bounces at scipy.org>>] *On Behalf Of *Todd
>> *Sent:* Wednesday, October 26, 2016 4:04 PM
>> *To:* Discussion of Numerical Python
>> <numpy-discussion at scipy.org <mailto:numpy-discussion at scipy.org>
>> <mailto:numpy-discussion at scipy.org
>> <mailto:numpy-discussion at scipy.org>>>
>> *Subject:* Re: [Numpy-discussion] Intel random number
>> package
>>
>>
>>
>>
>> On Wed, Oct 26, 2016 at 4:30 PM, Pavlyk, Oleksandr
>> <oleksandr.pavlyk at intel.com
>> <mailto:oleksandr.pavlyk at intel.com>
>> <mailto:oleksandr.pavlyk at intel.com
>>
>> <mailto:oleksandr.pavlyk at intel.com>>>
>> wrote:
>>
>> Another point already raised by Nathaniel is that for
>> numpy's randomness ideally should provide a way to
>> override
>> default algorithm for sampling from a particular
>> distribution. For example RandomState object that
>> implements PCG may rely on default
>> acceptance-rejection
>> algorithm for sampling from Gamma, while the
>> RandomState
>> object that provides interface to MKL might want to
>> call
>> into MKL directly.
>>
>>
>>
>> The approach that pyfftw uses at least for scipy, which
>> may also
>> work here, is that you can monkey-patch the
>> scipy.fftpack module
>> at runtime, replacing it with pyfftw's drop-in
>> replacement.
>> scipy then proceeds to use pyfftw instead of its built-in
>> fftpack implementation. Might such an approach work here?
>> Users can either use this alternative randomstate
>> replacement
>> directly, or they can replace numpy's with it at runtime
>> and
>> numpy will then proceed to use the alternative.
>>
>>
>> The only reason that pyfftw uses monkeypatching is that the
>> better
>> approach is not possible due to license constraints with
>> FFTW (it's
>> GPL).
>>
>>
>> Yes, that is exactly why I brought it up. Better approaches are
>> also
>> not possible with MKL due to license constraints. It is a very
>> similar
>> situation overall.
>>
>>
>> Its not that similar, the better approach is certainly possible with
>> FFTW, the GPL is compatible with numpys license. It is only a
>> concern users of binary distributions. Nobody provided the code to
>> use fftw yet, but it would certainly be accepted.
>>
>>
>> Although it is technically compatible, it would make numpy effectively
>> GPL. Suggestions for this have been explicitly rejected on these
>> grounds [1]
>>
>> [1] https://github.com/numpy/numpy/issues/3485
>>
>>
> Yes it would make numpy GPL, but that is not a concern for a lot of users.
> Users for who it is a problem can still use the non-GPL version.
> A more interesting debate is whether our binary wheels should then be GPL
> wheels by default or not. Probably not, but that is something that should
> be discussed when its an actual issue.
>
> But to clarify what I said, it would be accepted if the value it provides
> is sufficient compared to the code maintenance it adds. Given that pyfftw
> already exists the value is probably relatively small, but personally I'd
> still be interested in code that allows switching the fft backend as that
> could also allow plugging e.g. gpu based implementations (though again this
> is already covered by other third party modules).
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> https://mail.scipy.org/mailman/listinfo/numpy-discussion
>
--
Robert McLeod, Ph.D.
Center for Cellular Imaging and Nano Analytics (C-CINA)
Biozentrum der Universität Basel
Mattenstrasse 26, 4058 Basel
Work: +41.061.387.3225
robert.mcleod at unibas.ch
robert.mcleod at bsse.ethz.ch <robert.mcleod at ethz.ch>
robbmcleod at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20161027/5df90422/attachment.html>
More information about the NumPy-Discussion
mailing list