Numpy: рд╡рд┐рдВрдбреЛрдЬ рд╡реНрд╣реАрд▓ рдкреИрдХреЗрдЬ (.whl) Pypi рдкрд░

рдХреЛ рдирд┐рд░реНрдорд┐рдд 22 рдЬрдире░ 2015  ┬╖  267рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: numpy/numpy

рдХреГрдкрдпрд╛ рд╡рд┐рдВрдбреЛрдЬ рд╡реНрд╣реАрд▓ рдкреИрдХреЗрдЬ рдмрдирд╛рдПрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреАрдкреАрдЖрдИ рдкрд░ рд░рдЦреЗрдВред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣рд╛рдВ numpy рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рд╡реНрд╣реАрд▓ рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ: http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдкрд╣рд┐рдП рд╕реАрдзреЗ Pypi рд╕рд░реНрд╡рд░ https://pypi.python.org/pypi/ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВ рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдкрд╛рдЗрдк рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдУрд╣ рд╣рд╛рдБ, рд╣рдореЗрдВ рд╕рдВрднрд╡рддрдГ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдпрд╣рд╛рдБ рдХреИрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдП... IIUC рдХрд╛ рдЕрднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдпрд╣ рд╣реИ рдХрд┐ рдЬреИрд╕реЗ рд╣реА 1.11 рд╕реНрд░реЛрдд рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛, рд╡рд╣рд╛рдБ рдХреА рд╕рднреА рд╡рд┐рдВрдбреЛрдЬрд╝ рдорд╢реАрдиреЗрдВ рдЕрдЪрд╛рдирдХ рдбрд╛рдЙрдирд▓реЛрдбрд┐рдВрдЧ рд╡реНрд╣реАрд▓реНрд╕ рд╕реЗ рд╕реНрд╡рд┐рдЪ рд╣реЛ рдЧрдИрдВ (рдпрд╛рдп) ) рд╕реНрд░реЛрдд (рдмреВ) рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ "рд╕рд╣реА" рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдмрд╛рд░ рдЕрдВрддрд┐рдо рд░рд┐рд▓реАрдЬ рдХреЛ рдЯреИрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо sdist рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ _before_ рд╕рднреА рдмрд╛рдЗрдирд░реА рд╡реНрд╣реАрд▓реНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред рдЙрддрдирд╛ рд╣реА рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛...

рд╕рднреА 267 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЕрдЪреНрдЫрд╛ рдХрд╣рд╛ - рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдпреЛрдВ рдХреЗ рдкреАрдЫреЗ @carlkl рджреНрд╡рд╛рд░рд╛ рдмрд╣реБрдд рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рд╣рдо рдЕрдм рд▓рдЧрднрдЧ рд╡рд╣рд╛рдВ рд╣реИрдВ - @carlkl - рдЖрдк рдХрдм рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реЛрдВрдЧреЗ, рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ?

рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП: рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рддреБрдЪреНрдЫ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝
рдЗрдВрдЯреЗрд▓ рдХреЗ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рд░рдирдЯрд╛рдЗрдо рдФрд░ рдЧрдгрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛ
рдЙрдирдХреЗ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдмрд┐рдирд╕реНрдЯрд╛рд░ рдкрд░ рд╣рд╛рд▓ рд╣реА рдореЗрдВ OpenBLAS рдЖрдзрд╛рд░рд┐рдд рд╕реБрдиреНрди рдФрд░ рдбрд░рд╛рд╡рдиреЗ рдкрд╣рд┐рдпреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рд╣реИред рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯрд╛рд▓ -i https://pypi.binstar.org/carlkl/simple numpy
рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯрд╛рд▓ -i https://pypi.binstar.org/carlkl/simple scipy

рдпрд╣ рдЕрдЬрдЧрд░-2.7 рдФрд░ рдЕрдЬрдЧрд░-3.4 рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдкрд╣рд┐рдпреЛрдВ рдХреЛ 'рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ' рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

рдпрджрд┐ рдЖрдк рд╡реНрдпрд╛рдкрдХ рдкрд░реАрдХреНрд╖рдг рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реВрдЪреА рдореЗрдВ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдП :-)

рдЧреБрд░реБ, 22 рдЬрдирд╡рд░реА, 2015 рдХреЛ рд░рд╛рдд 8:54 рдмрдЬреЗ, carlkl [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

рдореИрдВрдиреЗ рдмрд┐рдирд╕реНрдЯрд╛рд░ рдкрд░ рд╣рд╛рд▓ рд╣реА рдореЗрдВ OpenBLAS рдЖрдзрд╛рд░рд┐рдд рд╕реБрдиреНрди рдФрд░ рдбрд░рд╛рд╡рдиреЗ рдкрд╣рд┐рдпреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рд╣реИред
рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯрд╛рд▓ -i https://pypi.binstar.org/carlkl/simple numpy
рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯрд╛рд▓ -i https://pypi.binstar.org/carlkl/simple scipy

рдпрд╣ рдЕрдЬрдЧрд░-2.7 рдФрд░ рдЕрдЬрдЧрд░-3.4 рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдкрд╣рд┐рдпреЛрдВ рдХреЛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
'рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ'ред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/numpy/numpy/issues/5479#issuecomment -71096693ред

рдирдерд╛рдирд┐рдПрд▓ рдЬреЗ рд╕реНрдорд┐рде
рдкреЛрд╕реНрдЯрдбреЙрдХреНрдЯреЛрд░рд▓ рд╢реЛрдзрдХрд░реНрддрд╛ - рд╕реВрдЪрдирд╛ рд╡рд┐рдЬреНрдЮрд╛рди - рдПрдбрд┐рдирдмрд░реНрдЧ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп
http://vorpus.org

fwiw рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ win64 рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рдкреНрд░рддрд┐рд░реЛрдз рднреА рдерд╛ рдЬрдм рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдерд╛, рд╕рдВрднрд╡рддрдГ рдПрдирд╛рдХреЛрдВрдбрд╛ рдФрд░ рдЕрдиреНрдп рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЗ рд╕рд╛рде рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ: (

рдУрдкрдирдмреНрд▓рд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░рддреЗ рд╣реБрдП, рдХреЛрдИ рдХреБрдЫ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдЗрд╕рд╕реЗ рдердХ рдЧрдпрд╛ рд╣реВрдВ (рд╡рд╣реА рд╡рд┐рдлрд▓рддрд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ рдЬреЛ рдУрдкрдирдмреНрд▓рд╛рд╕ рдХреЗ рд╕рд╛рде scipy рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ):

test_einsum_sums_float64 (test_einsum.TestEinSum) ... ==31931== Invalid read of size 16
==31931==    at 0x7B28EB9: ddot_k_NEHALEM (in /usr/lib/libopenblasp-r0.2.10.so)
==31931==    by 0x6DBDA90: DOUBLE_dot (arraytypes.c.src:3127)
==31931==    by 0x6E93DEC: cblas_matrixproduct (cblasfuncs.c:528)
==31931==    by 0x6E6B7B3: PyArray_MatrixProduct2 (multiarraymodule.c:994)
==31931==    by 0x6E6E29B: array_matrixproduct (multiarraymodule.c:2276)

рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ OpenBLAS рд╕рдВрд╕реНрдХрд░рдг 0.2.12 рд╣реИред рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред

scipy рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЛ https://gist.github.com/carlkl/b05dc6055fd42eba8cc7 рдкрд░ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

http://sourceforge.net/p/mingw-w64/bugs/367 рдХреЗ рдХрд╛рд░рдг рдХреЗрд╡рд▓ 32 рдмрд┐рдЯ рд╡рд┐рдлрд▓ рд╡рд┐рдлрд▓рддрд╛рдПрдВ

======================================================================
FAIL: test_nan_outputs2 (test_umath.TestHypotSpecialValues)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\tools\wp_279\python-2.7.9rc1\lib\site-packages\numpy\core\tests\test_umath.py", line 411, in test_nan_outputs2
    assert_hypot_isinf(np.nan, np.inf)
  File "D:\tools\wp_279\python-2.7.9rc1\lib\site-packages\numpy\core\tests\test_umath.py", line 402, in assert_hypot_isinf
    "hypot(%s, %s) is %s, not inf" % (x, y, ncu.hypot(x, y)))
  File "D:\tools\wp_279\python-2.7.9rc1\lib\site-packages\numpy\testing\utils.py", line 53, in assert_
    raise AssertionError(smsg)
AssertionError: hypot(nan, inf) is nan, not inf

======================================================================
FAIL: test_umath_complex.TestCabs.test_cabs_inf_nan(<ufunc 'absolute'>, inf, nan, inf)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\tools\wp_279\python-2.7.9rc1\lib\site-packages\nose\case.py", line 197, in runTest
    self.test(*self.arg)
  File "D:\tools\wp_279\python-2.7.9rc1\lib\site-packages\numpy\core\tests\test_umath_complex.py", line 523, in check_real_value
    assert_equal(f(z1), x)
  File "D:\tools\wp_279\python-2.7.9rc1\lib\site-packages\numpy\testing\utils.py", line 275, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
  File "D:\tools\wp_279\python-2.7.9rc1\lib\site-packages\numpy\testing\utils.py", line 739, in assert_array_equal
    verbose=verbose, header='Arrays are not equal')
  File "D:\tools\wp_279\python-2.7.9rc1\lib\site-packages\numpy\testing\utils.py", line 628, in assert_array_compare
    chk_same_position(x_isnan, y_isnan, hasval='nan')
  File "D:\tools\wp_279\python-2.7.9rc1\lib\site-packages\numpy\testing\utils.py", line 608, in chk_same_position
    raise AssertionError(msg)
AssertionError: 
Arrays are not equal

x and y nan location mismatch:
 x: array([ nan])
 y: array(inf)

======================================================================
FAIL: test_umath_complex.TestCabs.test_cabs_inf_nan(<ufunc 'absolute'>, -inf, nan, inf)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\tools\wp_279\python-2.7.9rc1\lib\site-packages\nose\case.py", line 197, in runTest
    self.test(*self.arg)
  File "D:\tools\wp_279\python-2.7.9rc1\lib\site-packages\numpy\core\tests\test_umath_complex.py", line 523, in check_real_value
    assert_equal(f(z1), x)
  File "D:\tools\wp_279\python-2.7.9rc1\lib\site-packages\numpy\testing\utils.py", line 275, in assert_equal
    return assert_array_equal(actual, desired, err_msg, verbose)
  File "D:\tools\wp_279\python-2.7.9rc1\lib\site-packages\numpy\testing\utils.py", line 739, in assert_array_equal
    verbose=verbose, header='Arrays are not equal')
  File "D:\tools\wp_279\python-2.7.9rc1\lib\site-packages\numpy\testing\utils.py", line 628, in assert_array_compare
    chk_same_position(x_isnan, y_isnan, hasval='nan')
  File "D:\tools\wp_279\python-2.7.9rc1\lib\site-packages\numpy\testing\utils.py", line 608, in chk_same_position
    raise AssertionError(msg)
AssertionError: 
Arrays are not equal

x and y nan location mismatch:
 x: array([ nan])
 y: array(inf)

рдореИрдВ win64 рдкреВрд░реНрдгрд╛рдВрдХ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐
рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдЬрд┐рд╕реЗ рдкрд╣рд┐рдпреЛрдВ рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рдпрд╣ рдереЗ
рдкрд╣рд▓реА рдмрд╛рд░ win64 numpy рдмрд┐рд▓реНрдб рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛ рд░рд╣реЗ рдереЗ, рддреЛ рдпрд╣ рд╣реЛрдЧрд╛
рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ
рд╡рд░реНрд╖реЛрдВ рд╕реЗ, рд╡реЗ рд╕рд┐рд░реНрдл cgholke рдпрд╛ anaconda рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рддреЛ рдЪрд▓реЗрдВ
рдЗрд╕реЗ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдЪрд░реНрдЪрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдиреЗрдВ?

(рдХрдбрд╝рд╛рдИ рд╕реЗ рдмреЛрд▓рдирд╛ рдпрд╣ рдПрдХ рдмреИрдХрдХреЙрдореЗрдЯ рдмреНрд░реЗрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╣ рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ
рдХрд┐ рд╣рдо рдЗрд╕реЗ рджреВрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдо рдХрд░рддрд╛ рд╣реИ
рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рдмреАрдЪ рдЕрд╕рдВрдЧрддрд┐ -- рд╕рднреА рдкреЛрд░реНрдЯреЗрдмрд▓ рдХреЛрдб рдХреЛ 64-рдмрд┐рдЯ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛
dtype=int рдкрд╣рд▓реЗ рд╕реЗ рд╣реАред)

рдЧреБрд░реБ, 22 рдЬрдирд╡рд░реА, 2015 рдХреЛ рд░рд╛рдд 8:59 рдмрдЬреЗ, рдЬреВрд▓рд┐рдпрди рдЯреЗрд▓рд░ рд╕реВрдЪрдирд╛рдПрдВ @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

fwiw рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ
win64 рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдкреНрд░рджрд╛рди рдХрд░рддреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рдереЗ
рдЬрдм рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЗрд╕реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдерд╛, рддрдм рднреА рдЗрд╕рдХрд╛ рд╡рд┐рд░реЛрдз рдХрд┐рдпрд╛ рдерд╛, рд╕рдВрднрд╡рддрдГ рдПрдирд╛рдХреЛрдВрдбрд╛ рдФрд░ . рдХреЗ рд╕рд╛рде рднреА
рдЕрдиреНрдп рддреГрддреАрдп рдкрдХреНрд╖ рдмрд╛рдЗрдирд░реА рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╣реА рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ :(

рдУрдкрдирдмреНрд▓рд╛рд╕ рдХреА рднреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХрд┐рд╕реА рдХреЛ рдХреБрдЫ рдбрд┐рдмрдЧрд┐рдВрдЧ рдкрд╕рдВрдж рд╣реИ, рдореИрдВ рдЗрд╕рд╕реЗ рдердХ рдЧрдпрд╛ рд╣реВрдВ
(рдЙрд╕реА рд╡рд┐рдлрд▓рддрд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ рдЬреЛ рдУрдкрдирдмреНрд▓рд╛рд╕ рдХреЗ рд╕рд╛рде scipy рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ):

test_einsum_sums_float64 (test_einsum.TestEinSum) ... ==31931== рдЖрдХрд╛рд░ 16 рдХрд╛ рдЕрдорд╛рдиреНрдп рдкрдарди
==31931== 0x7B28EB9 рдкрд░: ddot_k_NEHALEM (рдореЗрдВ /usr/lib/libopenblasp-r0.2.10.so)
==31931== 0x6DBDA90 рджреНрд╡рд╛рд░рд╛: DOUBLE_dot (arraytypes.c.src:3127)
==31931== 0x6E93DEC рджреНрд╡рд╛рд░рд╛: cblas_matrixproduct (cblasfuncs.c:528)
==31931== 0x6E6B7B3 рджреНрд╡рд╛рд░рд╛: PyArray_MatrixProduct2 (multiarraymodule.c:994)
==31931== 0x6E6E29B рджреНрд╡рд╛рд░рд╛: array_matrixproduct (multiarraymodule.c:2276)

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/numpy/numpy/issues/5479#issuecomment -71097408ред

рдирдерд╛рдирд┐рдПрд▓ рдЬреЗ рд╕реНрдорд┐рде
рдкреЛрд╕реНрдЯрдбреЙрдХреНрдЯреЛрд░рд▓ рд╢реЛрдзрдХрд░реНрддрд╛ - рд╕реВрдЪрдирд╛ рд╡рд┐рдЬреНрдЮрд╛рди - рдПрдбрд┐рдирдмрд░реНрдЧ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп
http://vorpus.org

рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рднреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред рдХреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?

OpenBLAS рдХреЛ INTERFACE64=1 рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реА рдХреЛрд╢рд┐рд╢ рдХреЗ рд▓рд┐рдП numpy рдХреЛ -fdefault-integer-8 рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдмрд┐рд▓рдХреБрд▓ рдЪреМрдХрдиреНрдирд╛ред рдмреНрд▓рд╛рд╕ рдореЗрдВ 64 рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рднрдпрд╛рдирдХ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдЙрд╕ рд╕рдбрд╝рдХ рд╕реЗ рдмрд╣реБрдд рдиреАрдЪреЗ рдЙрддрд░реЗрдВ, рд░реБрдХреЗрдВред рдореИрдЯрд▓реИрдм, рдФрд░ рдЬреВрд▓рд┐рдпрд╛ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдЧрдпрд╛ рдФрд░ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛, рдРрд╕рд╛ рдХрд┐рдпрд╛, рдФрд░ рдпрд╣ рдХрд┐рд╕реА рднреА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдмреНрд▓реИ рдореЗрдВ рдкрд╛рд░рдВрдкрд░рд┐рдХ 32-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рдирддрд╛ рд╣реИред

рдкрд┐рдЫрд▓реЗ ~5 рдорд╣реАрдиреЛрдВ рд╕реЗ рд╣рдо рдЬреВрд▓рд┐рдпрд╛ рдореЗрдВ рдЬреЛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 64-рдмрд┐рдЯ-рдЗрдВрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП _64 рдкреНрд░рддреНрдпрдп рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдУрдкрдирдмреНрд▓рд╛рд╕ рдореЗрдВ рд╕рднреА рдкреНрд░рддреАрдХреЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓ рд░рд╣рд╛ рд╣реИ, рдЗрд╕ рддрд░рд╣ рдЖрдк рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рд╢рд╛рд▓ рд╕рд░рдгреА рдкрд░, рд▓реЗрдХрд┐рди рдмрд╛рд╣рд░реА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЙрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдирд╛рдо рдЫрд╛рдпрд╛рдВрдХрди рдФрд░ рдЧрд▓рдд рдПрдмреАрдЖрдИ рдХреЗ рд╕рд╛рде dgemm рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЕрд░реЗ рджреЛрд╕реНрддреЛрдВ рдХреНрдпрд╛ Numpy рдХреЗ рд▓рд┐рдП рд╡реНрд╣реАрд▓реНрд╕ рдлрд╛рдЗрд▓ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ?

рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЕрднреА рдЗрд╕рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣реИред
25 рдЬреВрди 2015 рдХреЛ рд╕реБрдмрд╣ 4:27 рдмрдЬреЗ, " guyverthree " [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

рдЕрд░реЗ рджреЛрд╕реНрддреЛрдВ рдХреНрдпрд╛ рдкрд╣рд┐рдпреЛрдВ рдХреА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдкрдбреЗрдЯ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
рд╕реБрдиреНрди?

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/numpy/numpy/issues/5479#issuecomment -115215236ред

@guyverthree рдХреНрд░рд┐рд╕реНрдЯреЛрдлрд╝ рдЧреЛрд╣рд▓рдХреЗ рдХреБрдЫ рд╕рдордп рд╕реЗ рдЗрдВрдЯреЗрд▓ рдХреЗ рдПрдордХреЗрдПрд▓ рдХреЛ рдкрд╣рд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реБрдП NumPy рдЬрд╛рд░реА рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╕рд╛рде рд╣реА, рдореЗрд░реЗ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХреЛ NumPy Wheels рдкрд░ рджреЗрдЦреЗрдВред рдореИрдВрдиреЗ рдХрд╛рд░реНрд▓ рдХреНрд▓реЗрдлрдирд░ рдХреЗ рд╕рдВрд╢реЛрдзрд┐рдд mingw- w64 рдЯреВрд▓рдЪреЗрди рдФрд░ рдЧреЛрдЯреЛрдмреНрд▓рд╛рд╕ рдХреЗ рдЭрд╛рдВрдЧ рдЬрд╝рд┐рдпрд╛рдиреА рдХреЗ рдУрдкрдирдмреНрд▓рд╛рд╕ рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдбреНрд░реЙрдкрдмреЙрдХреНрд╕ рдореЗрдВ рдХреБрдЫ рдиреНрдпреВрдордкреА рд╡реНрд╣реАрд▓ рдмрдирд╛рдПред рдУрд▓рд┐рд╡рд┐рдпрд░ рдЧреНрд░рд┐рд╕реЗрд▓ NumPy рдмрд┐рд▓реНрдбрдмреЙрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдерд╛ рддрд╛рдХрд┐ OpenBLAS Google рд╕рдореВрд╣ рдереНрд░реЗрдб I рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд╕рдорд╛рди рдЪрд░рдгреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП ред

рдореЗрд░рд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг binstar.org рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ anaconda.org рдЕрдм рдирдпрд╛ рдкрд╕рдВрджреАрджрд╛ рдирд╛рдо рд╣реИ рдпрд╛ рдирд╣реАрдВред
py-2.6 .. 3.4 (32/64bit) рдХреЗ рдкрд╣рд┐рдП рд▓рдЧрднрдЧ 2 рдорд╣реАрдиреЗ рдкреБрд░рд╛рдиреЗ рд╣реИрдВ:

  • рд╕реБрдиреНрди-1.9.2
  • scipy-0.15.1
  • рд╕реНрдХрд┐рдХрд┐рдЯ-рдЗрдореЗрдЬ-0.11.2

рдореЗрд░реЗ https://bitbucket.org/carlkl/mingw-w64-for-python рдФрд░ рдХрдореЛрдмреЗрд╢ рд╣рд╛рд▓ рдХреЗ OpenBLAS рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВред
рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

  • pip install -i https://pypi.binstar.org/carlkl/simple numpy
  • pip install -i https://pypi.binstar.org/carlkl/simple scipy

+1 @carlkl рдФрд░ рдореЗрд░реА рдЗрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдЗрдиреНрд╣реЗрдВ рдкрдиреАрд░ рдлреИрдХреНрдЯреНрд░реА рдореЗрдВ рднреА NumPy рдмрд┐рд▓реНрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХреЗред

+1 рдореБрдЭреЗ рдпрд╣ рднреА рд╣реЛрддрд╛ рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред

рдЖрдИрдПрдордПрдЪрдУ: рдЗрди рдмрд┐рд▓реНрдбреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рддреАрди рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:

  • рдЦрд╕реНрддрд╛ рднрдВрдбрд╛рд░ рдХреЗ рд▓рд┐рдП рдорд┐рдВрдЧрд╡рдкреА рдкреИрдЪ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛
  • рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрднреА рддрдХ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдирд┐рд░реНрдорд╛рдг рддрдВрддреНрд░ рдирд╣реАрдВ рд╣реИ
  • рдХрдИ 3-rd рдкрд╛рд░реНрдЯреА рд╡рд┐рдВрдбреЛрдЬрд╝ рдкреИрдХреЗрдЬ (рд╕реА. рдЧреЛрд╣рд▓рдХреЗ рджреНрд╡рд╛рд░рд╛ рдбрд┐рдкреЛрд▓рд┐рдб) рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ numpy-MKL рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ MKL DLL рдХреЗ рд╡рд┐рд░реБрджреНрдз рд╣рд╛рд░реНрдб рд▓рд┐рдВрдХреНрдб рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ scipy рдЕрдм scipy BLAS/Lapack рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП (numpy-MKL & scipy-MKL) OR (numpy-OpenBLAS & scipy-OpenBLAS) рдЗрдВрд╕реНрдЯрд╛рд▓ рдХрд░рдирд╛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЕрдиреНрдп рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@carlkl : рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ @cgohlke рдХреЗ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рдирд╣реАрдВ рд╣реВрдВ - рдЬреЛ рдЦреБрдж рдХреЛ рд╕реБрд▓рдЭрд╛ рд▓реЗрдЧрд╛ (рдЬреИрд╕реЗ рдХрд┐ рдЕрдм рдХреЛрдИ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд▓реЛрдЧ scipy-MKL рдХреЛ рдПрдирд╛рдХреЛрдВрдбрд╛ numpy рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред рдФрд░ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдлреИрдВрд╕реА рдмрд┐рд▓реНрдб рдореИрдХреЗрдирд┐рдЬреНрдо рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдЪрд┐рдВрддрд┐рдд рдирд╣реАрдВ рд╣реВрдВ - рдореИрдиреНрдпреБрдЕрд▓ рдмрд┐рд▓реНрдб рддрдм рддрдХ рдареАрдХ рд╣реИ рдЬрдм рддрдХ рдЪрд░рдгреЛрдВ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рд╣реЛрддреА рд╣реИред

рдореБрдЦреНрдп рдореБрджреНрджрд╛ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдЪрд┐рдВрддрд┐рдд рд╣реВрдВ рд╡рд╣ рд╣реИ рд╕реНрдерд┐рд░рддрд╛: рдпрджрд┐ рд╣рдо рдЗрд╕ рд╕рд╛рдорд╛рди рдХреЛ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдирд╣реАрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рд╣рд░ рдмрд╛рд░ gcc / mingw-w64 / msvc рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЖрдиреЗ рдкрд░ рдкреИрдЪ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдФрд░ рдлрд┐рд░ рд╕реЗ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдмрд╛рд╣рд░, рдФрд░ рдпрд╣ рд╢рд╛рдпрдж рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╣рдо рдЙрд╕ рдЬрд╛рд▓ рдореЗрдВ рдирд╣реАрдВ рдлрдВрд╕рдирд╛ рдЪрд╛рд╣рддреЗ рдЬрд╣рд╛рдВ рд╣рдо рдмрд┐рд▓реНрдб рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдпрд╣ рд╕рдордп рдХреЗ рд╕рд╛рде рдФрд░ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд░рд╛рдиреЗ рдкреБрд░рд╛рдиреЗ рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред

рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдХреЛ рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдлрдВрдбрд┐рдВрдЧ рдХреЛ рд░рд╛рдЙрдВрдб рдЕрдк рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ ... +1 рдорд╣рд╛рди рдФрд░ рд╕рднреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЛрдИ рдХреБрдЫ рдкреИрд╕реЗ рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдпрд╛ рдРрд╕реА рдХрдВрдкрдиреА рдХреЛ рдЬрд╛рдирддрд╛ рд╣реИ рдЬреЛ рдЬреАрд╕реАрд╕реА рдХреЛ рдЖрдо рддреМрд░ рдкрд░ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИред рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди, рдлрд┐рд░ рдореБрдЭреЗ рдПрдХ рдИрдореЗрд▓ рднреЗрдЬреЗрдВ :-) ([email protected])

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ $$ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЖрдк рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ mingw-w64 рдХреЛ рдкреИрдЪ рднреЗрдЬрдХрд░ рдкрд╛рдк рдФрд░ рдХреЙрд╕ рдЬреИрд╕реЗ рдкрд╛рд░рд▓реМрдХрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рд╕рдорд░реНрдерди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред (рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ MSVC ABI рдЕрдиреНрдп рд╕рднреА рдХреЗ рд╕рд╛рде рдЕрд╕рд╣рдордд рд╣реИ рдХрд┐ x87 FPU рдЗрдХрд╛рдИ рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдореБрдлреНрдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЧрдгрд┐рддреАрдп рдХрд╛рд░реНрдп рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред) рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рдЕрдЪреНрдЫреЗ, рд▓рд╛рдЗрд╕реЗрдВрд╕-рд╕рдВрдЧрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВ " bionic" libc рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЧрдгрд┐рддреАрдп рд╡рд┐рдЬрд╛рд░реНрдбреНрд░реА рдпрд╛ ABI рдореБрджреНрджреЛрдВ рдореЗрдВ рдЧрд╣рд░реА рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдирд┐рдХрд╛рд▓рдиреЗ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ mingw-w64 рдЯреНрд░реА рдореЗрдВ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдпрд╛рдВрддреНрд░рд┐рдХ рдорд╛рдорд▓рд╛ рд╣реИред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рддреЛ рд╣рдо рдЗрд╕ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рднреА рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдЙрд╕ рддрд░рд╣ рдХреА рдЪреАрдЬ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдлреЛрдХрд╕ рдлрдВрдбрд┐рдВрдЧ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП? рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╢рд╛рдпрдж рд╣рдо рд╡рд╛рдкрд╕ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреАрдПрд╕рдПрдл рдореЗрдВ рдЖрд╡реЗрджрди рдХрд░рдиреЗ рдкрд░ рдлрд┐рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо рдХрд┐рддрдиреЗ рдкреИрд╕реЗ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

+1 рдХреГрдкрдпрд╛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдкрд╣рд┐рдП рдХреЛ PyPI рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ https://pypi.python.org/pypi/numpy

рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЖрдЙрдЯ-рдж-рдмреЙрдХреНрд╕ Python Windows рд╕реНрдерд╛рдкрдирд╛ рдкрд░ pip install numpy рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХреБрдЦреНрдпрд╛рдд рдЕрдиреБрдкрдпреЛрдЧреА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ "vcvarsall.bat рдЦреЛрдЬрдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде" рдорд┐рд▓рддрд╛ рд╣реИред

+1 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ред

рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ https://github.com/glumpy/glumpy рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЦреЗрд▓ рд╕рдХрддреЗред Numpy рдХреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдмрд┐рд▓реНрдб рд╕реНрдЯреЗрдкреНрд╕ рдХреНрдпрд╛ рд╣реИрдВ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ AppVeyor рдХрд╛ рдХрд╛рдо рд╣реИ , рдЗрд╕рд▓рд┐рдП GitHub рдкрд░ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдЕрднреА рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ numpy рдХрд╛ рддреЗрдЬрд╝, рдмреАрдПрд╕рдбреА-рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдирд╛ рд╕рдЪрдореБрдЪ рдЕрд╕рдВрднрд╡ рд╣реИред рд╣рдо рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рддрдХрдиреАрдХреА рд╕реАрдорд╛ рд╣реИ; +1 рдХрд╛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред (Appveyor рдЬреЙрдм рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдирд┐рд░реНрдорд┐рдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдлрд╝реЙрд▓рдмреИрдХ рдЕрдбреЙрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реНрдб рд▓реАрдирд┐рдпрд░ рдЕрд▓рдЬреЗрдмреНрд░рд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред) рдЬрдм рддрдХ рд╣рдо рдЗрд╕реЗ рд╕реЙрд░реНрдЯ рдирд╣реАрдВ рдХрд░ рд▓реЗрддреЗ, рддрдм рддрдХ рдореИрдВ рдХреНрд░рд┐рд╕реНрдЯреЛрдлрд╝ рдЧреЛрд╣рд▓реНрдХреЗ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдкрд╣рд┐рдпреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдпрд╛ рдПрдирд╛рдХреЛрдВрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛ред рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдЕрдЬрдЧрд░ рд╡рд┐рддрд░рдг ред

@njsmith рдХреНрдпрд╛ рдЖрдк рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ? рдЕрдзрд┐рдорд╛рдирддрдГ рд╕рдЯреАрдХ рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЕрднреА рдпрд╣ рд╕рд╛рдорд╛рди рдХрд╛рд░реНрд░рд╡рд╛рдИ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 'рдЕрд╕рдВрднрд╡' рдмрд╣реБрдд рдордЬрдмреВрдд рд╣реИ - рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрднреА рддрдХ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╕рд╛рдорд╛рдиреНрдп рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдкрд░ рдПрдХ рд╡рд┐рдХреА рдкреГрд╖реНрда рдбрд╛рд▓рд╛ рд╣реИ: https://github.com/numpy/numpy/wiki/Whats-with-Windows-builds ред рдХреГрдкрдпрд╛ рдмреЗрдЭрд┐рдЭрдХ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ / рдЙрди рд╕рднреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ рдЬреЛ рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВред

@techtonik : рдХреЛрдИ "рд╕рдЯреАрдХ рдЖрджреЗрд╢ рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ" рд╣реИрдВ, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдРрд╕реЗ рдХреЛрдИ рдХрдВрдкрд╛рдЗрд▓рд░ рдирд╣реАрдВ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╕рдВрдпреЛрдЬрди рд╣реИред mingwpy.github.io рдРрд╕реЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд╣рдорд╛рд░реЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░рддрд╛ рд╣реИред

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рдЕрдЪреНрдЫрд╛ред We can't use MSVC++ on its own to compile scipy because we need a Fortran compiler. рдпрд╣ scipy рдХреЗ рд▓рд┐рдП рд╣реИ, рд╣реИ рдирд╛? рд╕реБрдиреНрди рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?

@njsmith http://mingwpy.github.io/issues.html рдПрдХ рдЕрдЪреНрдЫреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╢рд╛рдирджрд╛рд░ рдкрд╣рд▓ рд╣реИред рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реИ рдХрд┐ рдЕрдкрд╕реНрдЯреНрд░реАрдо (рдкрд╛рдпрдерди) рдХрднреА рднреА рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рдПрдордПрд╕рд╡реАрдПрд╕ рдХрд╛ рдЖрдБрдЦ рдмрдВрдж рдХрд░рдХреЗ рдкреНрд░рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╕реЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рддрд╕реНрд╡реАрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

  1. рдХреНрдпрд╛ рдпрд╣ "рдЦреБрд▓реЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЦреБрд▓реЗ рдЯреВрд▓рдЪреЗрди рд╣реЛрдиреЗ" рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдпрд╛ рдПрдордПрд╕рд╡реАрдПрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реА рднрд╛рдЧ рдХреЛ numpy рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
  2. рдХреНрдпрд╛ рдорд┐рдВрдЧрд╡-рд╕рдВрдХрд▓рд┐рдд рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдЕрднреА рднреА рдХреНрд░реИрд╢ рд╣реИрдВ?

рдЕрднреА рдХреЗ рд▓рд┐рдП рдлреЛрдХрд╕ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рди рд▓реЗрдВ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ Python 2.7 + Win32 рд╣реИред рдХреЛрдИ рдкреНрд░рджрд░реНрд╢рди рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ (рдореИрдВ рдХреЗрд╡рд▓ рд╡рд╣рд╛рдВ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ), рд▓реЗрдХрд┐рди рдЙрд╕ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рддреЛ, рдЕрдЧрд▓реА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреНрдпрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╡реНрд╣реАрд▓ рдХреЛ рдкреАрдкреАрдкреАрдЖрдИ рд╕реЗ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ?

@techtonik , рдЕрдм https://anaconda.org/carlkl/numpy рдФрд░ https://anaconda.org/carlkl/scipy рдкрд░ numpy рдФрд░ scipy рд╡реНрд╣реАрд▓реНрд╕ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдкреНрд░рджрд░реНрд╢рди рд▓рдЧрднрдЧ рдЙрддрдирд╛ рд╣реА рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬрд┐рддрдирд╛ рдХрд┐ рдЧреЛрд╣рд▓рдХреЗ + рдПрдордХреЗрдПрд▓ рдкрд╣рд┐рдПред рдореБрдЭреЗ рдШрд░ рдкрд░ рдЕрдкрдиреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде segfaults рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдХрдИ рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ рдФрд░ http://mingwpy.github.io (рдирд┐рд░реНрдорд╛рдгрд╛рдзреАрди) рдкрд░ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред mingw-w64 рдЖрдзрд╛рд░рд┐рдд рдЯреВрд▓рдЪреЗрди рдХрд╛ рд╕рдВрдпреЛрдЬрди рдЬрд┐рд╕реЗ _mingwpy_ рдФрд░ OpenBLAS рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рдВрдбреЛрдЬ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╣реИред

_mingwpy_ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ рдЬреЛ рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз mingw-w64 рдЖрдзрд╛рд░рд┐рдд рдЯреВрд▓рдЪреЗрди, рдпрд╛рдиреА _mingw-builds_, _tdm_ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рд╕рдВрдЧрддрддрд╛ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдпреЛрдЧ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ ...

рдпрд╣ рд╕рдм рдФрд░ рдмрд╣реБрдд рдХреБрдЫ https://github.com/mingwpy/mingwpy.github.io рдкрд░ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╣рд╛рдВ рдореБрджреНрджреЗ рдпрд╛ рдкреАрдЖрд░ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

@techtonik : рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкрд╕реНрдЯреНрд░реАрдо python.org рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЧрдВрднреАрд░ рдЧрд▓рддрдлрд╣рдореА/рдЧрд▓рдд рдмрдпрд╛рдиреА рд╣реИред рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд╡реЗ рдХрдИ рдЕрд╕рдВрдЧрдд рдПрдмреАрдЖрдИ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рд╕реАрдкреАрдереЙрди рд╕рдорд░реНрдерди рдХреЗ рд╡рд┐рднрд╛рдЬрди рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ (рдФрд░ рдореИрдВ рдЗрд╕ рдкрд░ рдЙрдирдХреЗ рд╕рд╛рде рд╕рд╣рдордд рд╣реВрдВ)ред рд╕реНрдЯреАрд╡ рдбрд╛рд╡рд░, рдЬреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╡рд┐рдВрдбреЛ рдмрд┐рд▓реНрдб рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдХрд░рддрд╛ рд╣реИ, рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЗрди рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рдорд┐рдВрдЧрд╡рдкреА рдХреЛ рдХреИрд╕реЗ рд╕рдВрдЧрдд рдмрдирд╛рдпрд╛ рдЬрд╛рдПред

рдкреАрдкреАрдЖрдИ рдкрд░ рд╕реБрдиреНрди рдкрд╣рд┐рдпреЛрдВ рдХреЛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдИрдПрдордУ рдХреА рд╢рд░реНрдд рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ (рдП) рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ, (рдмреА) рд░рдЦрд░рдЦрд╛рд╡ рдпреЛрдЧреНрдп, (рд╕реА) рдЙрдЪрд┐рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдорд╛рдирджрдВрдб рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗ (рдЕрд░реНрдерд╛рдд рд╣рдореЗрдВ рднрдпрд╛рдирдХ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдкрд╣рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП) рддреЛ рдЕрдЧрд▓рд╛ рдХрджрдо рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдорд╛рдирджрдВрдб рдмреЗрд╣рддрд░ рд╣реИрдВ, рдпрд╣ рдорд╛рдорд▓рд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЦрд╕реНрддрд╛ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдореЗрдВ рдПрдХ рдИрдореЗрд▓ рднреЗрдЬрдирд╛ рд╣реИред

MSVS рд╕реНрд╡рдпрдВ numpy рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ BLAS рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрдкрд╕реНрдЯреНрд░реАрдо mingw-w64 numpy + BLAS (рдкреИрдЪ рдХреЗ рд╕рд╛рде) рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЕрдкрд╕реНрдЯреНрд░реАрдо CPython рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдкрд░рд┐рдгрд╛рдо рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдХрд╛рд░реНрд▓ рдХрд╛ рдорд┐рдВрдЧрд╡рдкреА рдЯреВрд▓рдЪреЗрди numpy + BLAS (рдкреИрдЪ рдХреЗ рд╕рд╛рде) рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдЕрдЬрдЧрд░ рдХреЗ рдХреБрдЫ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ (рд▓реЗрдХрд┐рди 3.5 рдирд╣реАрдВ) рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЯреВрд▓рдЪреЗрди рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╛рдЬреБрдХ рдФрд░ рдЕрдкреНрд░рд╛рдкреНрдп рд╣реИ; рд╡рд╕реНрддреБрддрдГ рдХрд╛рд░реНрд▓ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреЛрдИ рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛ рд╕рдХрддрд╛ рдерд╛ред рд╕реБрдкреАрд░рд┐рдпрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЛрдИ рднреА рдЗрди рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЯреВрд▓рдЪреИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмрд┐рд▓реНрдб" рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ numpy рдмрд┐рд▓реНрдб рдХреЗ рдХрдИ рддреБрдЪреНрдЫ-рдЙрдкрд▓рдмреНрдз рд╕реНрд░реЛрдд рд╣реИрдВред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдВ: рдЖрдк рдЗрддрдиреЗ рдЖрдЧреНрд░рд╣ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдХреБрдЫ рдирд┐рдореНрди-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдмрд┐рд▓реНрдб рдЕрдк рдХреЛ рдлреЗрдВрдХ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╡реЗ рдкреАрдИрдкреАрдЖрдИ рдкрд░ рд╣реЛрдВ?

@njsmith рдмрд╕ рдпрд╣ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ (рдЬрд┐рд╕реЗ рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдбреЗрд╡рд▓рдкрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдирд┐рд╡реЗрд╢ рдХреЛ рдЙрдЪрд┐рдд рдард╣рд░рд╛рддрд╛ рд╣реВрдВ) рдкреАрдИрдкреАрдЖрдИ рдкрд░ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдкреИрдХреЗрдЬ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рд╣реИ рдЬреЛ matplotlib рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ numpy рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЗрд╡рд▓ pip install ____ рдореЗрд░реЗ рдкреИрдХреЗрдЬ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг matplotlib , numpy , рдЖрджрд┐ рдХреЛ рджреЛрдмрд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП URL рдХреА рдУрд░ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕рдордЭрд╛рдПрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдкрд╛рдпрдерди рдмрд┐рд▓реНрдб рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВред рддреЛ рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рдЗрдВрд╕реНрдЯрд╛рд▓ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд░рд▓реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╣реИред

рдлрд┐рд░ рд╕реЗ, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдХреЛ рдФрдЪрд┐рддреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЙрддреНрд╕реБрдХ рдереЗред

@johnthagen : рдУрд╣, рдЬрд╝рд░реВрд░, рдХреЛрдИ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ! рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╡рд╛рдВрдЫрдиреАрдп рдХреНрдпреЛрдВ рд╣реИ; рдЕрдЧрд░ рдореИрдВ рдЗрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдХреНрд░реЛрдзреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдареАрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧ рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕рд╛рд▓ рдореЗрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рдордп рдмрд┐рддрд╛ рд░рд╣реЗ рд╣реИрдВ :-)ред рдореИрдВ рд╕рд┐рд░реНрдл @techtonik рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреВрдЫ рд░рд╣рд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдЬреИрд╕реЗ рд╡реЗ рдХрд╣ рд░рд╣реЗ рдереЗ "рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЖрд╡реЗрджрди рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ", рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╡реЗ рд╕рд┐рд░реНрдл рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЖрд╡реЗрджрди рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдирд╣реАрдВ рдЬрд╛рдирд┐рдП рд╡реЗ PyPI рднрд╛рдЧ рдХреА рдкрд░рд╡рд╛рд╣ рдХреНрдпреЛрдВ рдХрд░рддреЗ рд╣реИрдВ :-)

(рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдкрд╣рд┐рдпрд╛ рдЬреЛ рд╣рдо рдкреАрдкреАрдЖрдИ рдкрд░ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рд╡рд╣ рддреБрд░рдВрдд рд╣рдЬрд╛рд░реЛрдВ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдирд╣реАрдВ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдкрд░ рдХреБрдЫ рджрд╛рдпрд┐рддреНрд╡ рд╣реИред рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдВрдЧреЗред)

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдЯрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкрд╛рдпрдерди 2.7 рдХреЗ рд▓рд┐рдП 32-рдмрд┐рдЯ рд╕реБрдиреНрди рдкрд╣рд┐рдпреЛрдВ рдХреА рд╢рд┐рдкрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рддреБрдЪреНрдЫ рд╣реЛрдЧрд╛ред рд╡реЗ рд╕рдВрднрд╡рддрдГ SSE2 рд╣реЛрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП SSE рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмрд╣реБрдд рдЫреЛрдЯреЗ рдЕрдиреБрдкрд╛рдд рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рд╣рдо рдЙрд╕рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рд░рд┐рд▓реАрдЬрд╝ рдЯреВрд▓рдЪреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдкреАрдЖрдИрдкреА 32-рдмрд┐рдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рдЗрдирд░реА рд╡реНрд╣реАрд▓ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди 64-рдмрд┐рдЯ рдХреЗ рд▓рд┐рдП рд╕реЛрд░реНрд╕ рдЗрдВрд╕реНрдЯрд╛рд▓ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред рдХреНрдпрд╛ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛?

@njsmith рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдЖрдк рд╕рднреА рдХреА рдореЗрд╣рдирдд рдХреЛ рдирдорди :)

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдЯрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкрд╛рдпрдерди 2.7 рдХреЗ рд▓рд┐рдП 32-рдмрд┐рдЯ рд╕реБрдиреНрди рдкрд╣рд┐рдпреЛрдВ рдХреА рд╢рд┐рдкрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рддреБрдЪреНрдЫ рд╣реЛрдЧрд╛ред рд╡реЗ рд╕рдВрднрд╡рддрдГ SSE2 рд╣реЛрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП SSE рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмрд╣реБрдд рдЫреЛрдЯреЗ рдЕрдиреБрдкрд╛рдд рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рд╣рдо рдЙрд╕рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рд░рд┐рд▓реАрдЬрд╝ рдЯреВрд▓рдЪреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдкреАрдЖрдИрдкреА 32-рдмрд┐рдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рдЗрдирд░реА рд╡реНрд╣реАрд▓ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди 64-рдмрд┐рдЯ рдХреЗ рд▓рд┐рдП рд╕реЛрд░реНрд╕ рдЗрдВрд╕реНрдЯрд╛рд▓ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред рдХреНрдпрд╛ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛?

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рд╡рд░реНрддрдорд╛рди рд╕реБрдиреНрди-рд╡рд┐рдХреНрд░реЗрддрд╛ рд╕реЗрдЯрдЕрдк рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдПрдХ segfault рд╣реИ fromfile ред рдлрд╝рд╛рдЗрд▓ рд╣реИрдВрдбрд▓ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХрд┐рд╕реА рддрд░рд╣ рдЧрдбрд╝рдмрдбрд╝ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рдЗрди рд╕рдВрд╕реНрдХрд░рдг, рдЙрдмрдВрдЯреВ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрджрд▓рд╛рд╡ рдпрд╛ (рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ) numpy рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рдХрд╛рд░рдг рд╣реИред рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЙрд╕ рдкрд░ рдЕрдзрд┐рдХ рд╕рдордп рд╡реНрдпрддреАрдд рдХрд░рдирд╛ рд╕рдордп рдХреА рдмрд░реНрдмрд╛рджреА рд╣реИ - рдЙрд╕ рд╕рдордп рдХреЛ рдорд┐рдВрдЧрд╡рдкреА рдореЗрдВ рдбрд╛рд▓рдирд╛ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рдУрдкрдирдмреАрдПрд▓рдПрдПрд╕ (рдЗрдВрдЯ 32 рд╡рд┐рдВрдбреЛрдЬ 64, v0.2.15 рдкреНрд░реАрдХрдВрдкрд┐рд▓реНрдб рдмрд╛рдЗрдирд░реА) рдФрд░ рдПрдордХреЗрдПрд▓ (рдПрдордХреЗрдПрд▓ рдкрд░ рдПрдХ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдпрд╛рдиреА рдореБрдлреНрдд рд╡рд┐рддрд░рдг) рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд NumPy 1.10.4 рд╣реИред рд▓реЗрдХрд┐рди... рдореИрдВ SciPy рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ - рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛ gfortran рдХрдВрдкрд╛рдЗрд▓рд░ "рдлреЛрд░реНрдЯрди рдХрдВрдкрд╛рдЗрд▓рд░ рдирд╣реАрдВ рдорд┐рд▓рд╛" рдХреЗ рд▓рд┐рдП рджрд┐рдЦрддрд╛ рд╣реИ рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдореИрдВ ifort.exe рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдПрдирд╛рдХреЛрдВрдбрд╛ рдЗрди рдмрд┐рд▓реНрдб рдХреЛ рдбрд╛рдпрд░реЗрдХреНрдЯ рдкреНрд▓рдЧ-рдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрдореНрдпреБрдирд┐рдЯреА 2015 рдХреЗ рд╕рд╛рде рдкрд╛рдпрдерди 3.5 рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдЕрдЧрд░ рдХреЛрдИ рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХреИрд╕реЗ рдкреИрдХреЗрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдП .... рддреЛ рдореИрдВ рдЬреАрдердм рдпрд╛ рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реВрдВрдЧрд╛ред рдЗрд╕рдХреА рдкреНрд░рд╢рдВрд╕рд╛ рдХрд░рдирд╛ред

@mrslezak : рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ scipy рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рд╣реИ, рдпрд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдореМрдЬреВрджрд╛ рдмрдЧ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, scipy рдкрд░ рдПрдХ рдирдпрд╛ рдмрдЧ рдЦреЛрд▓рдирд╛ рд╣реИ :-)

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдВ: рдЖрдк рдЗрддрдиреЗ рдЖрдЧреНрд░рд╣ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдХреБрдЫ рдирд┐рдореНрди-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдмрд┐рд▓реНрдб рдЕрдк рдХреЛ рдлреЗрдВрдХ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╡реЗ рдкреАрдИрдкреАрдЖрдИ рдкрд░ рд╣реЛрдВ?

рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдореИрдВ рдпрд╛рдХ рдХреА рд╢реЗрд╡рд┐рдВрдЧ рдХрд░рддреЗ-рдХрд░рддреЗ рдердХ рдЧрдпрд╛ рд╣реВрдВред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдкреНрд░рджрд░реНрд╢рди рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдЖрд╢рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рд╡рд╣ рдРрд╕рд╛ рдХрднреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдпрд╣ рджреЛ рдпрд╛ рддреАрди рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рд▓реЛрдЧ рджреАрд╡рд╛рд░реЛрдВ рд╕реЗ рдЯрдХрд░рд╛рддреЗ рд░рд╣рддреЗ рд╣реИрдВ рдФрд░ PyPI рд╕реЗ рд╕рднреА рд╡рд┐рдВрдбреЛрдЬрд╝ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдШрдВрдЯреЛрдВ рдореЗрдВ рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП NumPy рдХреЛ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рд╡рд╛рд╣ред рдЕрдВрдЧреНрд░реЗрдЬреА рдХрд╛ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рд▓рдВрдмрд╛ рд╡рд╛рдХреНрдп рдЬреЛ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкреВрд░реЗ рдЬреАрд╡рди рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ред =)

@techtonik - рдореИрдВ рдЖрдкрдХреА рдирд┐рд░рд╛рд╢рд╛ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдореЗрдВ рд╕реЗ рдХрдИ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд░рд╛рд╢ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВред

@carlkl - рдореБрдЭреЗ рдпрд╣рд╛рдВ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд╕рдВрдж рдЖрдПрдЧреАред

рд╣рдо рдкрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЦрд╕реНрддрд╛ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХрд╛ рдкрд╣рд┐рдпрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рджрдмрд╛рд╡ рд╣реИред рдпрд╣рд╛рдБ рдХреБрдЫ рд╣рдлрд╝реНрддреЗ рдкрд╣рд▓реЗ рдХрд┐рд╕реА рднреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдкрд╣рд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ: https://gist.github.com/dstufft/1dda9a9f87ee7121e0ee ред рдореИрдЯрдкреНрд▓реЛрдЯрд▓рд┐рдм, рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдФрд░ рдкрд╛рдВрдбрд╛ рд╡рд┐рдВрдбреЛ рд╡реНрд╣реАрд▓реНрд╕ 3, 4 рдФрд░ 5 рдкреЛрдЬреАрд╢рди рдкрд░ рдЖрддреЗ рд╣реИрдВред рдЦрд╕реНрддрд╛ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рдкрд╣рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рдмрд╛рдЬрд╛рд░ рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрдЬ рдкрд░ рдкреНрд░рд╢реНрди рд╣реИрдВ:

1) рдХреНрдпрд╛ рд╣рдо рд▓рдШреБ рд╕реЗ рдордзреНрдпрдо рдЕрд╡рдзрд┐ (рдЬреИрд╕реЗ, 6 рдорд╣реАрдиреЗ) рдореЗрдВ рдкреАрдкреАрдЖрдИ рдкрд░ рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдФрд░ рд▓рдЧрднрдЧ-рдЗрд╖реНрдЯрддрдо рд╕реБрдиреНрди рдкрд╣рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рд╣рд╛рдВ рд╣реИ (рдЕрд╕рд╣рдорддрд┐ рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реБрдИ);
2) рдХреНрдпрд╛ рдЗрд╕ рджреМрд░рд╛рди рджреВрд╕рд░реЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрд╖реНрдЯрддрдо рдиреБрдХреАрд▓рд╛ рдкрд╣рд┐рдпрд╛ рд▓рдЧрд╛рдиреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИ?

рдкреНрд░рд╢реНрди 2 рдХрдард┐рди рд╣реИред "рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ" рдХрд╛ рдЕрд░реНрде рдзреАрдорд╛ (рдХреЛрдИ рдЕрдиреБрдХреВрд▓рд┐рдд рдмреНрд▓рд╛рд╕ / рд▓реИрдкреИрдХ рдирд╣реАрдВ) рдпрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо 6 рдорд╣реАрдиреЗ рдХреЗ рд╕рдордп рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдХреЛ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред

рдореИрдВ "рдзреАрдореЗ" рдХреЗ рдЦрд┐рд▓рд╛рдл рддрд░реНрдХ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВред рд╣рдореЗрдВ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐, рдЬрдм рдкрд╣рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рддреБрд░рдВрдд рд╕реНрдЯреИрдХрдУрд╡рд░рдлреНрд▓реЛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдЙрддреНрддрд░ рдХреЗ рд╕рд╛рде рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ "рдХрд┐рд╕реА рднреА рдЦрд╛рддреЗ рдореЗрдВ рдкреАрдкреАрдЖрдИ рд╕реЗ рд╕реБрдиреНрди рдкрд╣рд┐рдпреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рди рдХрд░реЗрдВ"ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЙрддреНрддрд░ рдЙрдЪрд┐рдд рд╣реЛрдВрдЧреЗ рдФрд░ рд╡реЗ рд╣рдореЗрдВ рдЪреЛрдЯ рдкрд╣реБрдБрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рддрдХ рдЪрд▓реЗрдВрдЧреЗред

рдЗрд╖реНрдЯрддрдо рдЕрд░реНрде рдирд╣реАрдВ, рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕рд╛рде рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд▓реНрдж рд╣реА рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрдВред

рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдЯрд▓рд╕ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдерд╛: http://nipy.bic.berkeley.edu/scipy_installers/atlas_builds/

рдХреНрдпрд╛ рдореИрдВ рдпрд╣ рд╕реЛрдЪрдиреЗ рдореЗрдВ рд╕рд╣реА рд╣реВрдВ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдиреБрдХреАрд▓реЗ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЗрди рдПрдЯрд▓рд╕ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ?

рдХрд┐рд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЙрдиреНрд╣реЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдбрд╛рд▓рддреЗ?

1) рдХреНрдпрд╛ рд╣рдо рд▓рдШреБ рд╕реЗ рдордзреНрдпрдо рдЕрд╡рдзрд┐ (рдЬреИрд╕реЗ, 6 рдорд╣реАрдиреЗ) рдореЗрдВ рдкреАрдкреАрдЖрдИ рдкрд░ рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдФрд░ рд▓рдЧрднрдЧ рдЗрд╖реНрдЯрддрдо рд╕реБрдиреНрди рдкрд╣рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рд╣рд╛рдВ рд╣реИ (рдЕрд╕рд╣рдорддрд┐ рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реБрдИ);

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐, рдЕрдиреНрдпрдерд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рддрдм рддрдХ рд╣рдо рдпрд╛ рддреЛ mingwpy рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд╕рд╛рде рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЪреБрдХреЗ рд╣реЛрдВрдЧреЗ рдпрд╛ рдЬреЛ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ рдЙрд╕ рдкрд░ рдХреИрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ :)

2) рдХреНрдпрд╛ рдЗрд╕ рджреМрд░рд╛рди рджреВрд╕рд░реЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрд╖реНрдЯрддрдо рдиреБрдХреАрд▓рд╛ рдкрд╣рд┐рдпрд╛ рдбрд╛рд▓рдирд╛ рдЙрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ?

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдПрдЯрд▓рд╕ рдмрд┐рд▓реНрдб рд╕рд┐рдЧрд╡рд┐рди рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдирд╛рдордХрд░рдг рд╣реИ рдФрд░ рдЖрдкрдиреЗ MingwPy рдХреЗ рдХреБрдЫ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдПрдЯрд▓рд╕ рдмрд┐рд▓реНрдб рд╕рд┐рдЧрд╡рд┐рди рдХреЗ рд╕рд╛рде рдХрд┐рдП рдЧрдП рдереЗ, рд▓реЗрдХрд┐рди рд╡реЗ рд╕рд┐рдЧреНрд╡рд┐рди.рдбреАрдПрд▓рдПрд▓ рд╕реЗ рд▓рд┐рдВрдХ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдПрдордПрд╕рд╡реАрд╕реА рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдВрдЧреЗред

mingwpy рдореБрд╢реНрдХрд┐рд▓ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдордп рдЪрд╛рд╣рд┐рдПред рдЬреАрд╕реАрд╕реА рдЯреВрд▓рдЪреЗрди, рдУрдкрдирдмреАрдПрд▓рдПрдПрд╕ рдФрд░ рдлрд┐рд░ рд╡рд┐рднрд┐рдиреНрди рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде numpy/scipy рдмрдирд╛рдиреЗ рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдФрд░ рдореИрдВ рдкрд╣рд▓реЗ рд╕рднреА рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред Gcc-5.3.0 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ mingwpy рд▓рдЧрднрдЧ рддреИрдпрд╛рд░ рд╣реИ, рд╕рд╛рде рд╣реА OpenBLAS рднреАред рдЕрдЧрд▓рд╛ рдХрджрдо рдЙрд╕реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реБрд╕реНрдд рдФрд░ рддреЗрдЬ рдкрд╣рд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реИред

рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЗ рд╕рд╛рде-рд╕рд╛рде "рдорд▓реНрдЯреА-рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди рд▓рд┐рдирдХреНрд╕ рд╡реНрд╣реАрд▓реНрд╕ - рдкреНрд▓реАрдЬ рдЯреЗрд╕реНрдЯ" рдореЗрдВ рдирд╡реАрдирддрдо рдпреЛрдЧрджрд╛рди рд╕реЗ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ рдХрд┐ рдУрдкрдирдмреАрдПрд▓рдПрдПрд╕ рдореЗрдВ рд╡рд╣ рдЧреБрдг рд╣реИ рдЬреЛ рдУрдкрдирдмреАрдПрд▓рдПрдПрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рдЦрд╕реНрддрд╛ рдкрд╣рд┐рдпреЛрдВ рдХреА рддреИрдирд╛рддреА рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдЯрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдкрд░реАрдХреНрд╖рдг рдЪрд░рдг рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕реБрдиреНрди рдкрд╣рд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛/рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдХрд┐рд╕реА рддрд░рд╣ рдпрд╣ рдордВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ OpenBLAS рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдЙрд╕ рд╕рдордп рддрдХ, рдореЗрд░реЗ рд▓рд┐рдП рдПрдЯрд▓рд╕ рд╕реБрдиреНрди рдкрд╣рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛ рдЙрдЪрд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рд╕рдордп рдХреЗ рд╕рд╛рде рд╣рдо рдУрдкрдирдмреАрдПрд▓рдПрдПрд╕ рдкрд╣рд┐рдпреЛрдВ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐ 32-рдмрд┐рдЯ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ SSE2 рдЪреЗрдХ рдбрд╛рд▓рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИ: http://mingwpy.github.io/blas_lapack.html#atlas

рд╢реАрд░реНрд╖ PyPI рдкреГрд╖реНрда рдкрд░ рдПрдХ рдкреНрд░рдЧрддрд┐ рдмреЙрдХреНрд╕ рд░рдЦрдиреЗ рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЕрдзрд┐рдХ рд▓реЛрдЧреЛрдВ рдХреЛ рд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЙрди рд▓реЛрдЧреЛрдВ рд╕рд╣рд┐рдд рдЬреЛ рдкрд╣рд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред рдмреЙрдХреНрд╕ рд╡рд░реНрддрдорд╛рди рд░рдгрдиреАрддрд┐, рд╕реНрд╡реАрдХреГрддрд┐ рдорд╛рдирджрдВрдб (рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ?), рд╕реНрдерд┐рддрд┐ рдФрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╡реГрджреНрдзрд┐?)

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рдпрд╣ рдЕрднреА рднреА рдореБрдЭреЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреБрдЫ рдлреЗрдВрдХрдиреЗ рдХрд╛ рдЖрдкрдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╣реИред рдЖрдк рдХрд┐рд╕ рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ? рдпрджрд┐ MingwPy, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдпреЛрдЬрдирд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЕрдм рдмрд╣реБрдд рдЬрд▓реНрджреА рд▓рдЧрддрд╛ рд╣реИред рдпрджрд┐ рдПрдХ рдФрд░ рдЬреАрд╕реАрд╕реА рд╣реИ, рддреЛ рд╣рдо рд╕реНрдерд┐рд░ рд▓рд┐рдВрдХрд┐рдВрдЧ рдореБрджреНрджреЗ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЧрдП рд╣реИрдВ рдФрд░ рдбреАрдПрд▓рдПрд▓ рджрд░реНрдж рд╡рд┐рддрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдПрдордПрд╕рд╡реАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдЯрд▓рд╕ рдХреЗ рд╕рд╛рде numpy рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдерд╛ред рдмреЗрд╢рдХ рдпрд╣ scipy рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рд▓реЛрдЧ рдЕрдкрдиреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд╣рд┐рдпреЛрдВ рдХреЛ рд╢рд┐рдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдирд┐рд░реНрдорд┐рддред

рдореИрдВрдиреЗ рдмрд╕ рдпрд╣реА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ unresolved external symbol __gfortran_compare_string рдлреЙрд░реНрдо рдХреА рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓реАрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдЯрд▓рд╕ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдореЗрдВ рдЧреЙрдлрд╝рд░рди рд░рди-рдЯрд╛рдЗрдо рдХреЗ рдХреБрдЫ рдЭреВрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджрд░реНрдн рд╣реИрдВред @carlkl - рдХреИрд╕реЗ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реБрдЭрд╛рд╡?

рд╡рд┐рднрд┐рдиреНрди рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реА рд╕реНрдЯреИрдЯрд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдорд┐рд▓рд╛рдирд╛ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ рдХрд┐ рд╢реИрддрд╛рди рдкрд╡рд┐рддреНрд░ рдЬрд▓ рд╕реЗ рдмрдЪрддрд╛ рд╣реИред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрдХрд▓рдХ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдмреАрдЯреАрдбрдмреНрд▓реВ: рдПрдордПрд╕ рд╕реНрд╡рдпрдВ рдЕрдкрдиреЗ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рд╕реНрдерд┐рд░ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдорд┐рд▓рд╛рдХрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рд╕рдорд░реНрдерди рдпрд╛ рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдХреБрдЫ рд╣рдлреНрддреЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рд╢реНрди рдкреЙрдк рдЕрдк рд╣реЛрддрд╛ рд╣реИ: рдХреНрдпрд╛ mingwpy рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╕реНрдерд┐рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА npymath.a рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдордПрд╕рд╡реАрд╕реА рдХрдВрдкрд╛рдЗрд▓рд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдпрд╣ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░ рдЬреАрд╕реАрд╕реА рд░рдирдЯрд╛рдЗрдо рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рдХреБрдЫ рдЪрдпрдирд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдХрд┐ рдРрд╕рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрд╕реНрдерд┐рд░ рдФрд░ рдирд╛рдЬреБрдХ рд╣реИред

рдпрджрд┐ рдПрдЯрд▓рд╕ рд╕реБрдиреНрди рдкрд╣рд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ рддреЛ рдореИрдВ рдЗрд╕реЗ рдбреАрдПрд▓рдПрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдХреЛрдИ рдЖрдкрддреНрддрд┐?

рд╡рд┐рднрд┐рдиреНрди рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реА рд╕реНрдЯреИрдЯрд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдорд┐рд▓рд╛рдирд╛ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ рдХрд┐ рд╢реИрддрд╛рди рдкрд╡рд┐рддреНрд░ рдЬрд▓ рд╕реЗ рдмрдЪрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ https://mingwpy.github.io/motivation.html (рдХреНрдпреЛрдВ рдкреЗрдЬ) рдореЗрдВ рдбрд╛рдпрдиреЗрдорд┐рдХ рд▓реЛрдбреЗрдб рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреА рдХреБрдЫ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдФрд░ рд╕реАрдзреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд╛ рдЕрднрд╛рд╡ рд╣реИред рдореИрдВрдиреЗ рд╕реБрджреВрд░ рдкреНрд░рдмрдВрдзрдХ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХреА, рдЬрд┐рд╕рдХрд╛ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдмрдВрдзрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрд╛ рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рд╣реИ, рдкреНрд▓рдЧрдЗрдиреНрд╕ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП .dll рд╕реЗ рд▓реЛрдб рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ "рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рд╣реА рдХрдВрдкрд╛рдЗрд▓рд░" рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдкрд╛рдЗрдерди рдХреЗ рдкрд╛рд╕ рдпрд╣ рдХреНрдпреЛрдВ рд╣реИ - рдпрд╣ .dlls рд╕реЗ рдореЙрдбреНрдпреВрд▓ рднреА рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ ..

@techtonik , рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рд╡рд┐рднрд┐рдиреНрди рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрд╛рджрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ (рдбреАрдПрд▓рдПрд▓ рдпрд╛ EXE) рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереАред рд╕реНрдерд┐рд░ рд╡рд╕реНрддреБ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдорд┐рд▓рд╛рдиреЗ рд╕реЗ рдореЗрд░рд╛ рдпрд╣реА рдорддрд▓рдм рдерд╛ред рдЗрд╕ рддрд░рд╣ рдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг _can_ рдХреБрдЫ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреА рдЧрдИ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ рджреЗрдЦрднрд╛рд▓ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдПред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдордЬрдмреВрдд рддрд░реАрдХрд╛ рд╣реЛрдиреЗ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред

рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд╛рди рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рд╕реЗ рдбреАрдПрд▓рдПрд▓ рдХреА рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд┐рд▓рд┐рдЯреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдЪреАрдЬ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдРрд╕рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХрд┐рд╕реА рдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдХрд┐ рдпреЗ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдЙрд╕реА рдПрдордПрд╕ рд░рдирдЯрд╛рдЗрдо рдбреАрдПрд▓рдПрд▓ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ рдпрджрд┐ рд╡реЗ рдлрд╝рд╛рдЗрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВред рдЕрдиреНрдп рд╕рдВрднрд╛рд╡рд┐рдд рдПрдмреАрдЖрдИ рдореБрджреНрджреЗ рднреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдирд╛ рд╣реИред рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдХрдВрдкрд╛рдЗрд▓рд░реНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдкрдХреЛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдбрд┐рдмрдЧрд░реНрд╕ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

minwgpy рдорд╛рдирдХ MSVC CPython рдмрд┐рд▓реНрдб рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП mingw-w64 рдХреА рдорджрдж рд╕реЗ рдЕрдЬрдЧрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИред

рдареАрдХ рд╣реИ - рдореИрдВ рдПрдЯрд▓рд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдордПрд╕рд╡реАрд╕реА рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде numpy рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред

рдПрдЯрд▓рд╕ рдпрд╣рд╛рдБ рдмрдирд╛рдПрдБ:

http://nipy.bic.berkeley.edu/scipy_installers/atlas_builds/atlas-3.10.1-sse2-32.tgz

ATLAS dll рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЗрд╕рдореЗрдВ рдХреБрдЫ рдирдВрдЧреЗ-рд╣рдбреНрдбрд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВред

рд╕рднреА рдЦрд╕реНрддрд╛ рдкрд░реАрдХреНрд╖рдг f2py рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд╛рдВрдЪ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕реМрдореНрдп рд╡рд┐рдлрд▓рддрд╛ рд╣реИред

рдЕрдВрддрд┐рдо рдЪрд░рдг рдкрд╣рд┐рдпрд╛ рдХреЗ рдЕрдВрджрд░ рдЧрддрд┐рд╢реАрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рднреЗрдЬ рд░рд╣рд╛ рд╣реИред @carlkl - рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдЖрдкрдХрд╛ рд╡рд░реНрддрдорд╛рди рдкрд╕рдВрджреАрджрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ?

рд╕реБрдирдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛, рдореИрдВ рдпрд╣ рднреА рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдкрд╣рд┐рдпрд╛ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ - рдПрдХ рдПрдордХреЗрдПрд▓ рдмрд┐рд▓реНрдб рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреВрд╕рд░реЛрдВ рдХреЛ рдУрдкрдирдмреНрд▓рд╛рд╕ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдПрдХред
11 рдлрд░рд╡рд░реА 2016 рдХреЛ рджреЛрдкрд╣рд░ 1:28 рдмрдЬреЗ, "рдореИрдереНрдпреВ рдмреНрд░реЗрдЯ" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдареАрдХ рд╣реИ - рдореИрдВ рдПрдЯрд▓рд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдордПрд╕рд╡реАрд╕реА рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде numpy рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред

рдПрдЯрд▓рд╕ рдпрд╣рд╛рдБ рдмрдирд╛рдПрдБ:

http://nipy.bic.berkeley.edu/scipy_installers/atlas_builds/atlas-3.10.1-sse2-32.tgz

рд╡рд╣рд╛рдБ рдХреБрдЫ рдирдВрдЧреЗ рд╣рдбреНрдбрд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдПрдЯрд▓рд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рдП
рдЖрджрд┐

рд╕рднреА рдЦрд╕реНрддрд╛ рдкрд░реАрдХреНрд╖рдг f2py рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд╛рдВрдЪ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╣реИ
рд╕реМрдореНрдп рд╡рд┐рдлрд▓рддрд╛ред

рдЕрдВрддрд┐рдо рдЪрд░рдг рдкрд╣рд┐рдпрд╛ рдХреЗ рдЕрдВрджрд░ рдЧрддрд┐рд╢реАрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рднреЗрдЬ рд░рд╣рд╛ рд╣реИред @carlkl
https://github.com/carlkl - рдЖрдкрдХрд╛ рд╡рд░реНрддрдорд╛рди рдкрд╕рдВрджреАрджрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ?
рд╡рд╣?

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/numpy/numpy/issues/5479#issuecomment -183021728ред

рдЕрдВрддрд┐рдо рдЪрд░рдг рдкрд╣рд┐рдпрд╛ рдХреЗ рдЕрдВрджрд░ рдЧрддрд┐рд╢реАрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рднреЗрдЬ рд░рд╣рд╛ рд╣реИред

рдФрд░ SSE2 рдЪреЗрдХ рдФрд░ рдЧреНрд░реЗрд╕рдлреБрд▓ рдмреЗрд▓рдЖрдЙрдЯ?

@mrslezak - рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ numpy/core рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ multiarray.pyd рдХреЗ рдЖрдпрд╛рдд рдХреЗ рджреМрд░рд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд╛рди рдореЗрдВ рдкрд░рдорд╛рдгреБ рд░реВрдк рд╕реЗ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИред

рдЕрдВрддрд┐рдо рдЪрд░рдг рдЧрддрд┐рд╢реАрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдкрд╣рд┐рдпрд╛ рдХреЗ рдЕрдВрджрд░ рднреЗрдЬ рд░рд╣рд╛ рд╣реИ

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ: рдореБрдЭреЗ 99% рдпрдХреАрди рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ "рд╕рд╣реА" рддрд░реАрдХрд╛ рдПрд╕рдПрдХреНрд╕рдПрд╕ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрдареЛрд░ рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ ... рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЙрдиреНрд╣реЗрдВ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рд╕рдордп рдмрд┐рддрд╛рдпрд╛ рд╣реИ, рдФрд░ рдореИрдВ рдореИрдВ рднреА рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдмреИрдардирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рд╡рд░рдг рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ :-)ред

(рдЕрдиреНрдп рд╕рднреА рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдИрдЖрдИрдпреВрд╕реА рд╡рд┐рдВрдбреЛрдЬрд╝ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рднреА рдЖрдпрд╛рддрд┐рдд рдбреАрдПрд▓рдПрд╕ рдХрд╛ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдорд╕реНрдерд╛рди рдмрдирд╛рдП рд░рдЦрддреА рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рджреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рджреЛрдиреЛрдВ foo.dll рдирд╛рдордХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╢рд┐рдк рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЬреЛ рднреА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд╣рд▓реЗ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ рдЙрд╕рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдЧрд╛ foo.dll "рдЬреАрдд" рдФрд░ рдЕрдиреНрдп рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ - рдХреНрд▓рд╛рд╕рд┐рдХ "рдбреАрдПрд▓рдПрд▓ рдирд░рдХ" рд╕рдорд╕реНрдпрд╛ред рдФрд░ рдЖрдИрдЖрдИрдпреВрд╕реА рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдПрд╕рдПрдХреНрд╕рдПрд╕ рдорд╢реАрдирд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ, рдЬрд┐рддрдирд╛ рдмрджрд╕реВрд░рдд рд╣реИред)

рдирдерд╛рдирд┐рдПрд▓ - рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдПрд╕рдПрдХреНрд╕рдПрд╕ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреА рд╕рдордЭ рд▓рд┐рдЦреА рд╣реИ: https://github.com/numpy/numpy/wiki/windows-dll-notes#side -by-side-assemblies

рдореЗрд░рд╛ рдЕрдВрддрд┐рдо рдирд┐рд╖реНрдХрд░реНрд╖ рдпрд╣ рдерд╛ рдХрд┐ рдпрд╣ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдерд╛, рдФрд░ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреБрдЫ рдЕрджреНрд╡рд┐рддреАрдп-рдкреНрд░рддрд┐-рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрд░реАрдХреЗ рд╕реЗ рдбреАрдПрд▓рдПрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛ рдПрдХ рдЙрдЪрд┐рдд рд╡рд┐рдХрд▓реНрдк рдерд╛ред

рд░рд╛рд▓реНрдл - рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ SSE2 рдЖрджрд┐ рд╣реБрдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рджреЗрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡: https://github.com/numpy/numpy/pull/7231

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ: рдореИрдВрдиреЗ рдЙрди рдиреЛрдЯреНрд╕ рдХреЛ рдкрдврд╝рд╛ рд╣реИ, рд╣рд╛рдБ .... рдФрд░ рдЙрд╣ рдЖрд╣, рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдХреНрдпреЛрдВ? рд╕рдорд╛рди-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЗ рдХрд╛рд░рдг? рдФрд░ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдЙрд╕ рдирд╛рдордХрд░рдг рдХреЛ рдХреИрд╕реЗ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдП? (рдореБрдЭреЗ рдЕрднреА рддрдХ рдкреАрдИ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП patchelf --replace рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рдФрд░ .lib рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЧреИрд░-рддреБрдЪреНрдЫ рд╣реИ - рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ mingw-w64 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдпрд╣ рдЗрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк .dll рд╕реЗ рд╕реАрдзреЗ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрдо рд╕реЗ рдХрдо рдЕрдЧрд░ рдЖрдкрдХреЛ libgfortran рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ ...)

(рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рдХрд╣реАрдВ рдкрд░ patchelf --replace рдХреЗ рдмрд░рд╛рдмрд░ рдХреБрдЫ рдкреАрдИ рд╣реЛ: http://www.woodmannsfortress.com/collaborative/tools/index.php/Category:Import_Editors)

рдореБрдЭреЗ multiarray.pyd рдХреЗ рд╕рд╛рде satlas.dll (рдпрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ libopenblaspy.dll ) рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рджрд┐рдЦрддреА, рдХреНрдпреЛрдВрдХрд┐ DLL рдЦреЛрдЬ рдХреЗ рджреМрд░рд╛рди рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдбреАрдПрд▓рдПрд▓ LoadLibraryEx рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рдЗрдерди рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд╛рди рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдлрд╝реЛрд▓реНрдбрд░ numpy/core рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдпрд╛рдд рдХреЗ рджреМрд░рд╛рди рдмреНрд▓рд╛рд╕ рдирд┐рд░реНрднрд░ рдкрд╛рдпрдерди рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдкрд╣рд▓реА рдШрдЯрдирд╛ рдпрд╣рд╛рдВ рджреА рдЧрдИ рд╣реИред рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдбреАрдПрд▓рдПрд▓ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдХрд┐рд╕реА рдФрд░ рдкреНрд░рдпрд╛рд╕ рдХреЛ рдХреЗрд╡рд▓ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбреАрдПрд▓рдПрд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд╛рди рдореЗрдВ рд▓реЛрдб рд╣реЛ рдЪреБрдХрд╛ рд╣реИред рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рд┐рд░реНрдл рдбреАрдПрд▓рдПрд▓ рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдХреЗ рдирд╛рдо рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИред

рдбреАрдПрд▓рдПрд▓ рдирд░рдХ рдкреНрд░рд╛рд░рдВрдн рдпрджрд┐ рдРрд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА _forther_ DLL рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ satlas.dll рдФрд░ libopenblaspy.dll рджреЛрдиреЛрдВ рд╕реНрд╡рдпрдВ рдирд┐рд╣рд┐рдд рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдорд╛рдирдХ рд╡рд┐рдВрдбреЛрдЬ рд╕рд┐рд╕реНрдЯрдо рдбреАрдПрд▓рдПрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕реЗ рдЖрдорддреМрд░ рдкрд░ рд╕реНрдерд┐рд░ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝реЗ рдбреАрдПрд▓рдПрд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЬреАрд╕реАрд╕реА рд░рдирдЯрд╛рдЗрдо рдХреЛрдб рд╕реНрдерд┐рд░ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред

_рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП_: рдПрдордХреЗрдПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ PATH рд╕реЗ numpy/core рддрдХ рдмрдврд╝рд╛рдирд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЕрдЧрд░ рдкреБрд░рд╛рдиреЗ рдПрдордХреЗрдПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд┐рдВрдбреЛрдЬ рд╕рд┐рд╕реНрдЯрдо рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдореЗрдВ рд░рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВред

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ @ рдПрдирдЬреЗрд╕реНрдорд┐рде : рдбреАрдПрд▓рдПрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛: рдпрд╣ рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ?

@carlkl : рдЬрд┐рд╕ рдорд╛рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдЪрд┐рдВрддрд┐рдд рд╣реИрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ numpy рдореЗрдВ atlas.dll рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ scipy рдореЗрдВ atlas.dll рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ scipy рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддрд╛ рд╣реИ (рдФрд░ atlas.dll рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ) atlas.dll рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ numpy рдкреИрдХреЗрдЬ рд╕реЗ рдЖрддрд╛ рд╣реИред рдпрд╣ рдмреБрд░рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ scipy рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдЗрд╕рд▓рд┐рдП рдЪреАрдЬреЗрдВ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЯреВрдЯ рдЬрд╛рдПрдВрдЧреА, рдЬреЛ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдкреИрдХреЗрдЬ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ numpy рдореЗрдВ atlas.dll рдирд╛рдо рдХрд╛ рдПрдХ DLL рд╢рд╛рдорд┐рд▓ рд╣реИ, рддреЛ рд╡рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛-рд╡реНрдпрд╛рдкреА DLL рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ atlas.dll рдирд╛рдо рдХрд╛ "рджрд╛рд╡рд╛" рдХрд░реЗрдЧрд╛, рдФрд░ рдпрд╣ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди DLL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХреЗрдЧрд╛ред рдирд╛рдоред

рджреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рд╣реИрдВ (рдП) рдпрджрд┐ рдПрд╕рдПрдХреНрд╕рдПрд╕/рд╕рдХреНрд░рд┐рдпрдг-рд╕рдВрджрд░реНрдн рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛-рд╡реНрдпрд╛рдкреА рдбреАрдПрд▓рдПрд▓ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдпрд╛ (рдмреА) рдпрджрд┐ numpy рдореЗрдВ numpy-atlas.dll рд╣реИ, рдФрд░ scipy рдЗрд╕рдореЗрдВ scipy-atlas.dll рд╢рд╛рдорд┐рд▓ рд╣реИ, рддреЛ рд╡реЗ рдмрд┐рдирд╛ рдЯрдХрд░рд╛рдП рд╕рдорд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛-рд╡реНрдпрд╛рдкреА рдирд╛рдорд╕реНрдерд╛рди рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╛ рдпрджрд┐ рджреЛрдиреЛрдВ рдПрдХ рдЕрд▓рдЧ clib_atlas рдкреИрдХреЗрдЬ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдбреАрдПрд▓рдПрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ? рдлрд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрднрд░рддрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

@tkelman : рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рд╡рд┐рдХреНрд░реЗрддрд╛ рдбреАрдПрд▓рдПрд▓ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рддрд░рд┐рдд рдбреАрдПрд▓рдПрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХреИрд╕реЗ рдХрд░реЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рд╣реИрдВред рдФрд░ рд╡рд┐рдХреНрд░реЗрддрд╛ рдХрд╛ рдорд╛рдорд▓рд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ :-)

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЕрдЧрд▓-рдмрдЧрд▓ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рд┐рд╕реНрдЯрдо 32 рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдХреГрдкрдпрд╛ рдРрд╕рд╛ рди рдХрд░реЗрдВред

рдЕрдЧрд▓-рдмрдЧрд▓ 'рдирд┐рдЬреА' рдЕрд╕реЗрдВрдмрд▓рд┐рдпрд╛рдВ рднреА рд╣реИрдВ, рдЬрд╣рд╛рдВ рдЕрд╕реЗрдВрдмрд▓реА рдЖрдкрдХреЗ рдЕрдкрдиреЗ рдмрд╛рдЗрдирд░реА рдЯреНрд░реА рдореЗрдВ рдмреИрдарддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреЛ рдЕрдк-рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдкрде рдорд╛рд░реНрдХрд░реЛрдВ рдХреА рдПрдХ рд╕реАрдорд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛рдиреА рдЖрдк ..\..\some_assembly рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ..\..\..\some_assembly рдирд╣реАрдВред

рддреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, scipy/first/second/third/something.pyd рдХреЗрд╡рд▓ third рдпрд╛ second рдпрд╛ first рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЕрдЧрд▓-рдмрдЧрд▓ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди scipy рдореЗрдВ рдирд╣реАрдВ (рдпрд╛ рдЙрд╕рдХреЗ рднреАрддрд░ рдЕрдиреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред

рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкрд╣рд┐рдпреЗ рдмрдирд╛рдП рд╣реИрдВ:

http://nipy.bic.berkeley.edu/scipy_installers/atlas_builds/

рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣:

pip install -f https://nipy.bic.berkeley.edu/scipy_installers/atlas_builds numpy

рдпрд╣рд╛рдВ рдмрд╣реБрдд рдХреНрд░реВрдб рдмрд┐рд▓реНрдб рдСрдЯреЛрдореЗрд╢рди: https://github.com/matthew-brett/np-wheel-builder

рдкрд╣рд┐рдП f2py рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЙрд╕ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдПрдХ рдмрдЧ рдЬреЛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ) рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдПрдХ рдирдХрд▓реА рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред

рд░рд╛рд▓реНрдл - SSE2 рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ: https://github.com/matthew-brett/np-wheel-builder/blob/master/_distributor_init.py

рдореИрдВрдиреЗ рдЙрд╕реА рд╡реЗрдм рдкрддреЗ рдкрд░ рдкрд╛рдпрдерди 2.7, 3.4, 3.5 рдХреЗ рд▓рд┐рдП 64-рдмрд┐рдЯ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рднреА рдмрдирд╛рдПред

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ, рдореБрдЭреЗ рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИред

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ, рдПрд╕рдПрдХреНрд╕рдПрд╕ рдЕрд╕реЗрдВрдмрд▓реА рддрдХрдиреАрдХ рдХрд╛ рдЕрдм рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╡реАрдПрд╕ -2010 рдХреЗ рдмрд╛рдж рд╕реЗ), https://en.wikipedia.org/wiki/Side-by-side_assembly рджреЗрдЦреЗрдВред

рдбреАрдПрд▓рдПрд▓ рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ: libopenblaspy_0.15..dll рдпрд╛ libatlas_3.10.1.dll рдпрд╛ рд╕рдорд╛рдиред рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдПрдХ _proxy DLL_ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрд╕реНрдХрд░рдгрд┐рдд рдбреАрдПрд▓рдПрд▓ рдореЗрдВ рдлреЙрд░рд╡рд░реНрдбрд░ рдбреАрдПрд▓рдПрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Numpy рдФрд░ scipy рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ _libblaslapack.dll_ рдирд╛рдордХ рдкреНрд░реЙрдХреНрд╕реА DLL рдХреЗ рд╡рд┐рд░реБрджреНрдз рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рдПрдЯрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдПрдЯрд▓рд╕ рдбреАрдПрд▓рдПрд▓ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред (рдУрдкрдирдмреНрд▓рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ)

рдпрд╣ рд╕рдм рдПрдХ clib_openblas рдФрд░/рдпрд╛ clib_atlas рдкреИрдХреЗрдЬ рдХреА рдорджрдж рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред (рдЕрдм рдореБрдЭреЗ рд╕реАрдЦрдирд╛ рд╣реИ рдХрд┐ рдлрд╛рд░рд╡рд░реНрдбрд░ рдбреАрдПрд▓рдПрд▓ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреИрд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ)ред Numpy рдХреЛ рдпрд╛ рддреЛ рдПрдЯрд▓рд╕ рдпрд╛ рдУрдкрдирдмреНрд▓рд╛рд╕ рд╕реЗ рд▓реИрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рди рддреЛ clib_openblas рдпрд╛ clib_atlas рдЙрдкрд▓рдмреНрдз рд╣реИред

@carlkl : рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкреГрд╖реНрда рднреНрд░рдорд┐рдд рд╣реИ, рдФрд░ рдпрд╣ рдХрд╣рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╡реАрдПрд╕ 2010 рдХреБрдЫ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрд╕рдПрдХреНрд╕рдПрд╕ _ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдПрд╕рдПрдХреНрд╕рдПрд╕ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрднреА рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдмрд╛рдж рдореЗрдВ рдЙрд╕реА рдкреГрд╖реНрда рдкрд░: "рд╡рд┐рд╕реНрдЯрд╛ рд╕реЗ рдЖрдЧреЗ, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдЕрдкрдиреЗ рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рднреА WinSxS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред")

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдк msvc рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╛рд░рд╡рд░реНрдбрд░ dll рдмрдирд╛рддреЗ рд╣реИрдВ, рд╡рд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖ .def рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрдирд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЕрдкрдирд╛ .dll рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╕рдордп рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдлрд╛рд░рд╡рд░реНрдбрд░ рдбреАрдПрд▓ рдХреИрд╕реЗ рдорджрдж рдХрд░рддрд╛ рд╣реИ? (рдУрдПрд╕рдПрдХреНрд╕ рдпрд╛ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА рдЙрд╕ рдХрд╖реНрдЯрдкреНрд░рдж рд╡реИрд╢реНрд╡рд┐рдХ рдбреАрдПрд▓ рдиреЗрдорд╕реНрдкреЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╣реИред)

@njsmith , рд╣рдореЗрдВ рдПрдХ рд╕рдордЭрджрд╛рд░ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдПрд╕рдПрдХреНрд╕рдПрд╕ рд╕рд╛рдЗрдЯрд▓ рдореМрдЬреВрдж рд╣реИред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

(1) рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдЙрдкрд╛рдп рдЖрдИрдПрдордПрдЪрдУ рдмреНрд▓рд╛рд╕ рд▓реИрдкреИрдХ рдХреЛ рд╕реНрдерд┐рд░ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╡рд┐рд╢рд╛рд▓ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛)ред
(2) рджреВрд╕рд░рд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдЙрдкрд╛рдп DLL рдХреЛ numpy/core рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИ рдФрд░ рдмрд╕ рдЗрддрдирд╛ рд╣реАред
(3) рддреАрд╕рд░рд╛ рд╕рдорд╛рдзрд╛рди _force_ рдмрд╛рд╣рд░реА Blas/Lapack рдкреИрдХреЗрдЬ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рдВрд╕реНрдХрд░рдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдмрд╕ Blas Lapack DLL рдХреЛ рдкреНрд░реАрд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреАрдПрд▓рдПрд▓ рдХрд╛ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрд▓рдмреНрдз рд╣реИред
(3) рдпрджрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд┐рд╡рд╢ рдирд┐рд░реНрднрд░рддрд╛ рдЕрд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЗрд╕реЗ numpy рдФрд░ scipy рджреНрд╡рд╛рд░рд╛ рдЖрдкреВрд░реНрддрд┐ рдХреА рдЧрдИ DLL рдХреЗ рд╕рд╛рде рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрди рдбреАрдПрд▓рдПрд▓ рдХреЛ рдХреЗрд╡рд▓ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд╣рд╛рдВ рдПрдХ рдмрд╛рд╣рд░реА рдбреАрдПрд▓рдПрд▓ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдмрд╛рд╣рд░реА рдмреНрд▓реИрд╕/рд▓реИрдкреИрдХ рдкреИрдХреЗрдЬ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рдПрдЧреА рд▓реЗрдХрд┐рди рд╕рдЦреНрддреА рд╕реЗ рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдмрдбрд╝рд╛ рдкреНрд▓рд╕ рдпрд╣ рд╣реИ рдХрд┐ рдУрдкрдирдмреНрд▓рд╛рд╕/рдПрдЯрд▓рд╕ рдХреЗ рдирдП рдмрдЧ-рдлрд┐рдХреНрд╕реНрдб рд░рд┐рд▓реАрдЬ рдХреЛ numpy/scipy рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
(4) рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдФрд░ SxS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред @njsmith , рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд░рдг рднрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдорд╛рдлрд╝ рдХрд░реЗрдВ - рдореИрдВрдиреЗ рдкрд╣рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐рдпрд╛рдБ рддрдп рдХрд░ рджреА рд╣реИрдВ - рдХреНрдпрд╛ рд╡реЗ рдЕрдм рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ?

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, SxS рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рдЖрдкрд╕реЗ рджреЛрдмрд╛рд░рд╛ рд╕рдВрдкрд░реНрдХ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред SxS рдкрд░ рдореЗрд░реА 'рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ' рдЯрд┐рдкреНрдкрдгреА рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рдереА, рдореИрдВ рдЗрд╕реЗ рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдБрдЧрд╛ред

рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдореЗрдВ "рдирд┐рдЬреА" рдПрд╕рдПрдХреНрд╕рдПрд╕ рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдПрд╕рдПрдХреНрд╕рдПрд╕ рдЕрд╕реЗрдВрдмрд▓реА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЕрдкрдиреЗ рдмрд╛рдЗрдирд░реА рдкреЗрдбрд╝ рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд░рддреЗ рд╣реИрдВред SxS рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЛ "рд╕рд╛рдЭрд╛" рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рдЭрд╛ рдЕрд╕реЗрдВрдмрд▓реА рдЖрдкрдХреЗ рд╡рд┐рдВрдбреЛрдЬ рд╕рд┐рд╕реНрдЯрдо рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдПрдХ рдПрдордПрд╕ рдЗрдВрд╕реНрдЯрд╛рд▓рд░ рдкреИрдХреЗрдЬ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рд╛рдЭрд╛ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдПрдХ рдкрд╣рд┐рдпрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕рд╛рдЭрд╛ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рддреЛ - рдирд┐рдЬреА рдПрд╕рдПрдХреНрд╕рдПрд╕ рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ?

рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдПрдХ рдмрд╣реБрдд рд╣реА рдирдП рдирд┐рд╢рд╛рди рдХреЛ рдзрдзрдХ рд░рд╣реЗ рд╣реЛрдВрдЧреЗред рдореИрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдУрдкрди-рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдЬреЛ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рд╕реНрдЯреАрд╡ рдбрд╛рд╡рд░ рд╕реЗ рдПрд╕рдПрдХреНрд╕рдПрд╕ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрд╛ред рд╕реНрдЯреАрд╡ рдПрдордПрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкрд╛рдпрдерди рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВрдЯреЗрдирд░ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдХрд┐ рдореИрдВ рдЙрдирд╕реЗ рдмрдЪрддрд╛ рд╣реВрдВред рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рд╡рд╣ рдЬрд┐рд╕ рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛, рд╡рд╣ рдЙрдирд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рдерд╛ред рдКрдкрд░ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдореЗрд░реЗ рдиреЛрдЯреНрд╕ рдЙрди рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдереЗ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд╣ рдЬрд╛рдирддрд╛ рдерд╛ рдХрд┐ рдХреЛрдИ (рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░) рдЙрдирдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рдЕрдЪреНрдЫреЗ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВред

рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╡рд▓реЛрдХрди рдХрд╛рд░реНрд▓ рдкрд╣рд▓реЗ рд╣реА рд▓рд╛ рдЪреБрдХрд╛ рд╣реИ рдХрд┐ рдПрдордПрд╕ рд╕реНрд╡рдпрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреНрд╡рд┐рдкрдХреНрд╖реАрдп рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, MSVC рд░рдирдЯрд╛рдЗрдо рдХреЗ рд▓рд┐рдП, SxS рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧ, рд╡реЗ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЕрджреНрд╡рд┐рддреАрдп DLL рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (MSVCR90.DLL, MSVCR100.DLL, рдЖрджрд┐)ред

рдПрд╕рдПрдХреНрд╕рдПрд╕ рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ "рд╕рдХреНрд░рд┐рдпрдг рд╕рдВрджрд░реНрдн" рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдХрд▓рд┐рдд рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛрдб рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рдПрдХ рдФрд░ рдбреАрдПрд▓рдПрд▓ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдирдерд╛рдирд┐рдПрд▓ рдиреЗ рдореБрдЭреЗ рдпрд╛рдж рджрд┐рд▓рд╛рдпрд╛ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдирдпрд╛ рд╕рдХреНрд░рд┐рдпрдг рд╕рдВрджрд░реНрдн рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдЧрд╛ рдпрджрд┐ рдпрд╣ рдбреАрдПрд▓рдПрд▓ рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рд╛рдЗрдб-рдмрд╛рдп-рд╕рд╛рдЗрдб рдЕрд╕реЗрдВрдмрд▓реА "рдореИрдирд┐рдлреЗрд╕реНрдЯ" рдХрд╛ рд╕рдмреВрдд рджреЗрдЦрддрд╛ рд╣реИ (рдЬрд┐рд╕реЗ рдбреАрдПрд▓рдПрд▓ рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рд╣рд░реА рдПрдХреНрд╕рдПрдордПрд▓ рдлрд╛рдЗрд▓ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИ) .

рддреЛ, рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХрдард┐рдиред

рдореБрдЭреЗ рдЗрд╕ рдмрд╣реБрдд рд╣реА рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рд▓реЗрдХрд┐рди, рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ, рдпрджрд┐ рдореИрдВ рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЙрдбреНрдпреВрд▓ рдореЗрдВ my_symbol foo.dll рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рдореИрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА bar.dll рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ, рдПрдХ рдЕрдиреНрдп рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЙрдбреНрдпреВрд▓ рдореЗрдВ my_symbol рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдореЗрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЕрд▓рдЧ рд╕реЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ foo: my_symbol рдорд┐рд▓реЗрдЧрд╛ рдФрд░ рджреВрд╕рд░реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ bar:my_symbol рдорд┐рд▓реЗрдЧрд╛? рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдпрджрд┐ рдпрд╣ рд╕рд╣реА рд╣реИ, рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдбреАрдПрд▓рдПрд▓ рдирд░рдХ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдбреАрдПрд▓рдПрд▓ рдирд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рдЙрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рджреБрд░реНрдШрдЯрдирд╛ рд╕реЗ рдЙрдкрдпреЛрдЧ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рдереА (рдЬрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдорд╛рд░реЗ рд╕рдЯреАрдХ рдбреАрдПрд▓рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд░рдЦрддрд╛ рдерд╛)ред

рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддреАрдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди рдЙрд╕рдХреЗ рдирд╛рдо рд╕реЗ рдкрд╣рдЪрд╛рдиреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреАрдПрд▓рдПрд▓ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИред рд░рдирдЯрд╛рдЗрдо рдХреЗ рджреМрд░рд╛рди рдХрд┐рд╕реА рдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╕рд╣реА рдбреАрдПрд▓рдПрд▓ рд▓реЛрдб рд╣реЛ рдЧрдпрд╛ рд╣реИ рдпрджрд┐ рд╕рдорд╛рди рдирд╛рдо рд╡рд╛рд▓реЗ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдбреАрдПрд▓рдПрд▓ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдЦреЛрдЬ рдЖрджреЗрд╢ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдореЗрд░рд╛ anaconda.org рд╕реБрдиреНрди рдкрд╣рд┐рдП рдЬреВрд▓рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЧреИрд░-рдорд╛рдирдХ libopenblas, dll рдХреЗ рд╕рд╛рде рдирд╛рдо рдЯрдХрд░рд╛рд╡ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП libopenblas_py_.dll рдирд╛рдо рдХреЗ рд╕рд╛рде openblas рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдЬреВрд▓рд┐рдпрд╛ рдХреЗ рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдЕрдм рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдЧреИрд░ рдорд╛рдирдХ рдПрдмреАрдЖрдИ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдирд╛рдо libopenblas64_ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред 32 рдмрд┐рдЯ рдкрд░ рд╣рдо рдХрд┐рд╕реА рднреА рдкреНрд░рддреАрдХ рдпрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдирд╛рдо рдХрд╛ рдирд╛рдо рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣рд╛рдВ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ 64 рдмрд┐рдЯ рдЗрдирдЯреНрд╕ рдЪреБрдирдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред

рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рднреАрддрд░ рдкреНрд░рддреАрдХреЛрдВ рдХрд╛ рдирд╛рдо рдЫрд╛рдпрд╛рдВрдХрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдФрд░ рдУрдПрд╕рдПрдХреНрд╕ рдкрд░ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдереА, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд▓рд┐рдП рд╣рд░ рдЬрдЧрд╣ рдПрдХ рд╣реА рдХрд╛рдо рдХрд┐рдпрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ 32 рдмрд┐рдЯ рдкрд░ рд╕рдВрднрд╛рд╡рдирд╛ рд╕реЗ рдЗрдВрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдПрдмреАрдЖрдИ рд╕рдорд╛рди рд╣реИрдВ рдХрд┐ рд╣рдо рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рджреВрд╕рд░реЗ рддрд░реАрдХреЛрдВ рд╕реЗ рддреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд░ рд╕рдХреЗ, рдЬреИрд╕реЗ рдХрд┐ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдмрд╣реБрдд рдкреБрд░рд╛рдиреА рдпрд╛ рдмрд╣реБрдд рдирдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛ рдкреЙрд▓рд┐рд╢ рдХрд┐рдпрд╛ - https://github.com/matthew-brett/np-wheel-builder рджреЗрдЦреЗрдВ

рдЕрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдпрдереЛрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реИ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдореЗрдВ рдХрд░рдирд╛ рд╣реИ рддреЛ рдЕрдЧрд▓реЗ рдХреБрдЫ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЗрди рдкрд╣рд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЬрд╛рд░реА рд░рдЦрдирд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИред рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ рд░рд┐рд▓реАрдЬ рдореИрдиреЗрдЬрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд╢ рд╣реВрдВ рдЬрдм рддрдХ рдХрд┐ mingwpy рдХрд▓реНрдкрдирд╛ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ред

рдореИрдВрдиреЗ 32-рдмрд┐рдЯ рдФрд░ 64-рдмрд┐рдЯ рдкрд╛рдпрдерди 2.7, 3.4, 3.5 рдкрд░ рдЗрди рдкрд╣рд┐рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдиреЗ рднреА рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЕрдЪреНрдЫреЗ рдЖрдХрд╛рд░ рдореЗрдВ рд╣реИрдВред

рдХреНрдпрд╛ рдХреБрдЫ рдФрд░ рд╣реИ рдЬреЛ рдореИрдВ рдЖрдкрдХреЛ рдЖрд╢реНрд╡рд╕реНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпреЗ рдкреАрдкреАрдЖрдИ рдкрд░ рдбрд╛рд▓рдиреЗ рд▓рд╛рдпрдХ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдУрдкреА рдиреЗ рдкреВрдЫрд╛ рдерд╛?

рд╣реИрд▓реЛ рд╕рднреА рдХреЛ! рдореИрдВ рд╕рд┐рд░реНрдл рдЗрд╕ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдХреВрджрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рд╕реЗ numpy рдФрд░ scipy рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рд╕реЗ рдирд┐рд░рд╛рд╢ рд╣реЛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдлрд╛рдпрджреЗрдордВрдж рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реИ рдЗрд╕ рдореЛрд░реНрдЪреЗ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИред

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ: рдпрд╣ рдСрдЯреЛрдореЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдорд╛рд▓ рдХреА рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдЧрд░ рдпрд╣ рдЗрд╕реЗ рдкреАрдИрдкреАрдЖрдИ рдореЗрдВ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрд░реЛрдд рд╕реЗ numpy рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рддрд░реАрдХрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ (рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдЦреЛрд▓рд╛)ред рдпрд╣ scipy рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдмреЗрд╣рдж рдХрд░реАрдм рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдореИрдВ рд╕рдм рдХреБрдЫ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдкрд░реАрдХреНрд╖рдг рдкрд╛рдЗрдерди рдореЗрдВ рдХрд╣реАрдВ рд╕реЗрдЧрдлреЙрд▓реНрдЯ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреЛ рдХреЛрдИ рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ numpy рдкрд╣рд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореИрдВ рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕реНрд░реЛрдд рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкреЙрд▓рд┐рд╢, рдЕрдк-рдЯреВ-рдбреЗрдЯ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдСрдирд▓рд╛рдЗрди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХрд░реВрдВрдЧрд╛ рдЙрд╕ рдореЛрд░реНрдЪреЗ рдкрд░ рднреА рд▓реЛрдЧреЛрдВ рдХрд╛ рдЗрдирдкреБрдЯ!

рдлреАрдбрдмреИрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж - рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдкрд░ рдЖрдкрдХрд╛ рдХрд╛рдо - рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ http://mingwpy.github.io рджреЗрдЦрд╛ рд╣реИ - рд╡рд╣рд╛рдВ рдЙрдЪрд┐рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рд╛рдорд╛рди рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, mingw-w64 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ mingwpy рдЯреВрд▓рдЪреЗрди рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж @ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ! рдпрд╣ numpy.test() рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред f2py.py рдкрд░реАрдХреНрд╖рдг рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡реНрд╕ рдХреЗ рд╕рд╛рде test_scripts() рдореЗрдВ рдПрдХ рдореБрджреНрджрд╛ рдерд╛ рдЬреЛ numpy-SHAd3d2f8e рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ 3 рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ, 2 рдмрд╣рд┐рд╖реНрдХрд░рдг рдФрд░ 1 рд░рдирдЯрд╛рдЗрдо рдорд┐рд▓рддрд╛ рд╣реИред

рдПрдХ рдЖрдЦрд┐рд░реА, рдЙрдореНрдореАрдж рд╕реЗ рдорд╛рдореВрд▓реА рдЕрдиреБрд░реЛрдз, рдХреНрдпрд╛ рдЖрдкрдХреЗ рд░реЗрдкреЛ рдПрдирдкреА-рд╡реНрд╣реАрд▓-рдмрд┐рд▓реНрдбрд░ рдФрд░/рдпрд╛ рдкреАрдИрдкреАрдЖрдИ рдкрд░ рдмрд┐рд▓реНрдб рдмреИрдЬ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд┐рд▓реНрдбрдмреЙрдЯ 0.8 рдЙрдирдХреЗ рдкрд╛рд╕ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдЪреНрдЫрд╛ рджрд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ/рд░реЗрдкреЛ рднреА рд╣реИ, BuildbotEightStatusShields-0.1 ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдВ, рдЯреНрдпреВрдирд┐рдВрдЧ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдореИрдВ рдПрдЯрд▓рд╕ рд╡рд┐рдВрдбреЛрдЬ 64-рдмрд┐рдЯ рдмрд┐рд▓реНрдб рд╕реЗ рдбрд░ рдЧрдпрд╛ рд╣реВрдВред рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдкреВрд░рд╛ рджрд┐рди рд▓реЗрддрд╛ рд╣реИ" рдпрд╛ рдХреНрдпрд╛ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рдЪреВрдХ рдХрд╛ рдПрдХ рдЙрдЪрд┐рдд рд╕реЗрдЯ рд╣реИ?

рдПрдлрд╡рд╛рдИрдЖрдИ: рдХреЙрдиреНрдЯрд┐рдирдо рдиреЗ рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдПрдордХреЗрдПрд▓ numpy рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рдХрд┐рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЗрд╕ рдзрд╛рдЧреЗ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЕрдм scipy рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдПрдЯрд▓рд╕ libs рдХреЗ рд╕рд╛рде рдмрдирд╛рддрд╛ рд╣реИред рдХреНрдпрд╛ рдЗрд╕реЗ рдЧреНрдлреЛрд░рдЯреНрд░рд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рд╣рд╛рдВред рдЕрдиреНрдпрдерд╛, рдЖрдк рдХрд┐рд╕реА рднреА .f рдлрд╝рд╛рдЗрд▓ рдХреЛ scipy рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗред рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрднрдХрд╛рдордирд╛рдПрдБ! рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдерд╛, рдореБрдЭреЗ _рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд░реАрдм_ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдкрд░реАрдХреНрд╖рд╛ рдкрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛!

рд╣рд╛рдВ, рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдПрдЯрд▓рд╕ рдмрд┐рд▓реНрдб рдХреЛ рдорд╢реАрди рдкрд░ рд▓рдЧрднрдЧ 8 рдШрдВрдЯреЗ рд▓рдЧ рдЧрдП рдФрд░ рдХреБрдЫ рдФрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдПрдЯрд▓рд╕ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдирдкреА-рд╡реНрд╣реАрд▓-рдмрд┐рд▓реНрдбрд░ рд░реЗрдкреЛ рдореЗрдВ рд╣реИ ред

MKL рд╕рдорд╛рдЪрд╛рд░ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдпрджрд┐ рдЖрдк conda рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ numpy рдФрд░ scipy рдХреЗ рд╕рд╛рде рдПрдХ рдкрд╛рдпрдерди рд╡рд┐рддрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреВрд░реНрд╡-рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рдХреБрдЫ рдРрд╕рд╛ рдЬрд┐рд╕реЗ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред рдореБрдЭрд╕реЗ рдмрд╛рдд рдХрд░реЗрдВ рдЬрдм рдЖрдк рд╕реНрд╡рдпрдВ рдПрдордХреЗрдПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рднреА рдирд┐рдГрд╢реБрд▓реНрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред :)

Gfortran рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ mingwpy рд╣рдорд╛рд░реА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдЖрд╢рд╛ рд╣реИред

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ: рдПрдЯрд▓рд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдореИрдВ рдореБрджреНрджреЛрдВ рдореЗрдВ рднрд╛рдЧрддрд╛ рд░рд╣рд╛, рд╢рд╛рдпрдж рдорд╢реАрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрд╕рдВрдЧрддрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдгред

рдореБрджреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред рдореИрдВрдиреЗ рдПрдирдкреА-рд╡реНрд╣реАрд▓-рдмрд┐рд▓реНрдбрд░ рд░реЗрдкреЛ рдореЗрдВ рдПрдЯрд▓рд╕ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдерд╛, рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ 2012 рдХреА рдПрдХ рдирдИ рд╕реНрдерд╛рдкрдирд╛ рдкрд░ рдерд╛, рдФрд░ 64-рдмрд┐рдЯ рд╕рд┐рдЧрд╡рд┐рди, рд╕рдЯреАрдХ рдПрдЯрд▓рд╕ рдФрд░ рд▓реИрдкреИрдХ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕реВрдЪреАрдмрджреНрдз рдерд╛ред рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрд░реЛрдд рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ http://nipy.bic.berkeley.edu/scipy_installers/atlas_builds/ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдЯрд▓рд╕ рдХрд╛ рджреВрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рддреЛ рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрд╛рд▓реЛрдВ рд╡рд╛рд▓реА рд╣реЛ рд╕рдХрддреА рд╣реИред

рд╣рдореНрдо...рд╢рд╛рдпрдж рдпрд╣реА рдмрд╛рдд рд╣реИред рдлрд┐рд░ рд╕реЗ, рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЙрд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреАред рдпрджрд┐ рдЖрдк рд▓реЛрдЧ Windows-рд╕рдВрдЧрдд ATLAS рдмрд┐рд▓реНрдб рдХреЛ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдвреВрдВрдврд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЕрдм рдЬрд┐рддрдирд╛ рд╕рдордп рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛!

@gfyoung

рдореБрдЭрд╕реЗ рдмрд╛рдд рдХрд░реЗрдВ рдЬрдм рдЖрдк рд╕реНрд╡рдпрдВ рдПрдордХреЗрдПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рднреА рдирд┐рдГрд╢реБрд▓реНрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред :)

рджреЗрдЦреЗрдВ https://software.intel.com/sites/campaigns/nest/ рдФрд░ https://registrationcenter.intel.com/en/forms/?productid=2558&licensetype=2 - рдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╕реНрд░реЛрдд рдерд╛?

@tkelman , рдмрд╕ рдЗрд╕реЗ @carlk new mingwpy рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд╛рдЗрдЯ рдкрд░ рджреЗрдЦрд╛ рд▓реЗрдХрд┐рди Intel рд╕рдореБрджрд╛рдп рд▓рд╛рдЗрд╕реЗрдВрд╕ Nest рдХреЗ рдкрд╛рд╕ рдХреЛрдИ ifort рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд┐рддрдирд╛ рдбрд░рд╛рд╡рдирд╛ рд╣реИ?

@tkelman : рдУрд╣, рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдЙрд╕ рд╕рдореБрджрд╛рдп рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпреЛрдВ рднреВрд▓ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, @tkelman рдПрдХ рд╡реИрдз рдмрд┐рдВрджреБ рд▓рд╛рддрд╛ рд╣реИред

@tkelman : рдЖрдк рдЗрд╕реЗ рдорд┐рдиреАрдЬреАрдбрдмреНрд▓реНрдпреВ рдХреЗ рд╕рд╛рде рдПрдХ рд╢реЙрдЯ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬреЛ рдореИрдВрдиреЗ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ рд╣реИ, рд╡рд╣ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╕рдВрдЧрддрддрд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдЖрдкрдХреЛ numpy рд╕реЗ рдЖрдЧреЗ рднреА рдирд╣реАрдВ рд▓реЗ рдЬрд╛рдПрдЧрд╛ред

@mikofski рд╕рд╣реА, рд╕рдВрдХрд▓рдХ рдХреА рдХрдореА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП scipy рдХреЗ рд▓рд┐рдП рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред scipy рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдЖрдЬ рдХреЗрд╡рд▓ рд╡рд┐рдХрд▓реНрдк mingwpy рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдпрд╛ рдСрд▓-рдЬреАрд╕реАрд╕реА-рдСрд▓-рдж-рдЯрд╛рдЗрдо MSYS2 рдкрд╛рдпрдерди рдХрд╛ рдирд┐рд░реНрдорд╛рдг (https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64- рдЕрдЬрдЧрд░-scipy)ред рдкрд╛рдареНрдпрдХреНрд░рдо рдХрд╛ рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдПрдордПрд╕рд╡реАрд╕реА-рдирд┐рд░реНрдорд┐рдд рд╕реАрдкреАрдереЙрди рдпрд╛ рдкреАрдкреАрдЖрдИ рдмрд╛рдЗрдирд░реА рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ scipy рд╕реЗ рдкрд░реЗ рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ: рдЗрди рдПрдЯрд▓рд╕ рдкрд╣рд┐рдпреЛрдВ рдмрдирд╛рдо рдУрдкрдирдмреНрд▓рд╛рд╕ рдФрд░/рдпрд╛ рдПрдордХреЗрдПрд▓ рдХреЗ рд▓рд┐рдП рдЧрддрд┐ рдШрд╛рдЯрд╛ рдХреНрдпрд╛ рд╣реИ?

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдкреАрдЬреАрдЖрдИ рдлреЛрд░рдЯреНрд░рд╛рди рдореЗрдВ рджреЗрдЦрд╛ рд╣реИред @carkl mingwpy рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд╛рдЗрдЯ рдкрд░ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЙрд╕ рдЦрд░рдЧреЛрд╢ рдХреЗ рдЫреЗрдж рд╕реЗ рдХрд╛рдлреА рдиреАрдЪреЗ рдЪрд▓рд╛ рдЧрдпрд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рд╢реЛ рд╕реНрдЯреЙрдкрд░ рдХреНрдпрд╛ рдерд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдмрдВрдж рд╕реНрд░реЛрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдЕрдиреБрдореЗрдп рд╣реИред рд╢рд╛рдпрдж рдкреАрдЬреАрдЖрдИ рдлреЛрд░рдЯреНрд░рд╛рди рдПрдордПрд╕рд╡реАрд╕реА рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдЦреЗрд▓реЗрдЧрд╛?

@mikofski : рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдореЗрд░реЗ рд╕рд╛рдордиреЗ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ рдкреАрдЬреАрдЖрдИ рдХреЛ рджреЗрдЦрд╛ рддреЛ рдореБрдЭреЗ рдпрд╛рдж рдЖрдпрд╛ рдХрд┐ рдореЗрд░рд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдпрд╣ рдерд╛ рдХрд┐ рдпрд╣ рдЗрдВрдЯреЗрд▓ рд╕реЗ рднреА рдмрджрддрд░ рдерд╛ (рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рд▓рд┐рдП рдПрдлрдУрдПрд╕рдПрд╕-рдЕрд╕рдВрдЧрдд рдкреНрд░рддрд┐рдмрдВрдз рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ) .

рдареАрдХ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЕрдВрдХ рдлреЛрдХрд╕ рдлрдВрдбреЛрдВ рдХреЛ x86 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП BLIS/FLAME рд╕рдорд╛рдзрд╛рди рдкрд░ рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдПрдирд╡реАрдбрд┐рдпрд╛/рдкреАрдЬреАрдЖрдИ рдЗрд╕ рд╕рд╛рд▓ рдХреЗ рдЕрдВрдд рддрдХ рдПрд▓рдПрд▓рд╡реАрдПрдо рдХреЛ рдУрдкрди рд╕реЛрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреЗ рдлреЛрд░рдЯреНрд░рд╛рди рдлреНрд░рдВрдЯ рдПрдВрдб рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдВрдЧреЗред https://www.llnl.gov/news/nnsa-national-labs-team-nvidia-develop-open-source-fortran-compiler-technology

рдареАрдХ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЕрдВрдХ рдлреЛрдХрд╕ рдлрдВрдбреЛрдВ рдХреЛ x86 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП BLIS/FLAME рд╕рдорд╛рдзрд╛рди рдкрд░ рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдРрд╕рд╛ рдордд рд╕реЛрдЪреЛред рдмреАрдПрд▓рдЖрдИрдПрд╕ рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрд╕реНрд╡рд╕реНрде рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ (рдФрд░ libflame рдФрд░ рднреА рдЕрдзрд┐рдХ); рдХрдорд┐рдЯреНрд╕, рдореЗрд▓рд┐рдВрдЧ рд▓рд┐рд╕реНрдЯ рдЯреНрд░реИрдлрд┐рдХ рдЖрджрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдЧрддрд┐рд╡рд┐рдзрд┐ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЙрдирдХреЗ рдкрд╛рд╕ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдлрдВрдбрд┐рдВрдЧ (https://github.com/flame/blis#funding) рд╣реИ, рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреБрдЫ рд╣рдЬрд╛рд░ рдбреЙрд▓рд░ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░рд┐рдкрдХреНрд╡ред

рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдпрд╣ рдЪрд░реНрдЪрд╛ рдХрд╣рд╛рдБ рд╕реЗ рдЖ рд░рд╣реА рд╣реИ рдпрд╛ рдХрд╣рд╛рдБ рдЬрд╛ рд░рд╣реА рд╣реИ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реНрдЯреЙрдкрдЧреИрдк рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬрд┐рд╕реЗ рдореИрдереНрдпреВ рдиреЗ рд▓рдЧрднрдЧ рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ (рдПрдЯреАрдПрд▓рдПрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ), рдФрд░ рдЗрд╕рд╕реЗ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬрд┐рд╕ рдкрд░ рдмрд╣реБрдд рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ (MingwPy + рдУрдкрдирдмреНрд▓рд╛рд╕)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ OpenBLAS рдХрд╛ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; Scipy рд╕реНрдЯреИрдХ рдФрд░ рдЬреВрд▓рд┐рдпрд╛ рджреЛрдиреЛрдВ рдореЗрдВ рдЙрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕реЗ рдФрд░ рддреЗрдЬрд╝реА рд╕реЗ рдкрд░рд┐рдкрдХреНрд╡ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@rgommers : рдмрд╛рддрдЪреАрдд рд╡рд╣реАрдВ рдЧрдИ рдЬрд╣рд╛рдВ рд╡рд╣ рдЧрдИ рдХреНрдпреЛрдВрдХрд┐ @mikofski рдФрд░ рдореИрдВ рджреЛрдиреЛрдВ scipy рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП @ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рдереЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рджреЛрдиреЛрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ: рдлреЛрд░рдЯреНрд░рд╛рди рдХрдВрдкрд╛рдЗрд▓рд░ред рдореИрдВрдиреЗ рдЦреБрдж MinGW32 рдФрд░ MinGW64 рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд gfortran.exe рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛рд░рдг рд╕реЗ рдХрдИ рдЕрдирд╕реБрд▓рдЭреЗ рдмрд╛рд╣рд░реА рдХрд╛рд░рдгреЛрдВ рдХреЗ рдХрд╛рд░рдгред

@gfyoung рдореИрдереНрдпреВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдПрдордПрд╕рд╡реАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред MSVC рдХреЗ рд╕рд╛рде gfortran рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рд░реНрдорд╛рдг рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рд╣реИ:

  • рдХреЛрдИ рдлреЛрд░рдЯреНрд░рд╛рди рдирд╣реАрдВ, рддреЛ рдЕрдм рдЖрдк рдПрдордПрд╕рд╡реАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рдлреЛрд░рдЯреНрд░рд╛рди рдХреЗ рд╕рд╛рде, рдЖрдк MingwPy, MSVC + ifort, рдпрд╛ icc + ifort рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • Scipy рд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдореБрдлреНрдд рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ numpy, scipy, рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдкрд╣рд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рд▓рд┐рдП, MingwPy рдпрд╣ рд╣реИред

@rgommers рдмрд╛рддрдЪреАрдд рдХреЛ рдкрдЯрд░реА рд╕реЗ рдЙрддрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЦреЗрдж рд╣реИред рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╣реИрдВ, @ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рд╕рдорд╛рдзрд╛рди numpy рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдФрд░ @carlk рджреНрд╡рд╛рд░рд╛ mingwpy рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА num рдлреЛрдХрд╕ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддреНрдд рдкреЛрд╖рд┐рдд рд╣реИред рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЕрдкрдиреА рдХрдВрдкрдиреА рдХреЛ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдВрдХ рдлреЛрдХрд╕ рд╕рджрд╕реНрдп рд╣реВрдВред scipy 2829 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдзреЗ рд░рд╛рд╕реНрддреЗ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рд╣реА рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдЖрдпрд╛ рд╣реВрдБред рдореБрдЭреЗ рдмрд╕ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдЕрд▓реНрдкрд╛рд╡рдзрд┐ рдореЗрдВ рд╣рдо @cgohlke рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ рдпрд╛ рдПрдирд╛рдХреЛрдВрдбрд╛ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВрдЧреЗред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж!

рдкреАрдкреАрдЖрдИ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╢рд╛рдпрдж @ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдЦрд┐рд░реА рдореБрджреНрджрд╛ рдЙрд╕рдХреЗ рдПрдирдкреА рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░реЗрдкреЛ рдкрд░ рдПрдХ рдмрд┐рд▓реНрдбрдмреЙрдЯ рд╢реАрд▓реНрдб рд╣реИ? рдзрдиреНрдпрд╡рд╛рдж! рддреЛ рдЗрд╕реЗ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рддреНрд╡рд░рд┐рдд рдкреНрд░рд╢реНрди: рдореИрдВрдиреЗ @ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ numpy рдмрдирд╛рдпрд╛ рддрд╛рдХрд┐ рдпрд╣ рдПрдЯрд▓рд╕ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдореИрдВ scipy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ ifort рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдореЗрд░реА рдЕрдиреНрдп site.cfg рдлрд╝рд╛рдЗрд▓ рднреА рд▓реЗрддрд╛ рд╣реИ рдЬреЛ рдореЗрд░реЗ рд╣реЛрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рдПрдордХреЗрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ numpy рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ, рдФрд░ рдкрд░реАрдХреНрд╖рдг рдорд┐рдирдЯ рд░рд╛рдЙрдВрдбрд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдВ, рдЬрдм рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рддреЛ scipy рдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛? рдХреНрдпрд╛ рдЙрд╕рдиреЗ рдПрдордХреЗрдПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ рдпрд╛ рдХреНрдпрд╛ рдЙрд╕рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдПрдЯрд▓рд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдерд╛ numpy ?

https://github.com/numpy/numpy/wiki/Numerical-software-on-Windows рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрд░рдЯреНрд░рд╛рди рдХрдВрдкрд╛рдЗрд▓рд░реНрд╕ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рд╣реИ

@gfyoung - рдмрд╕ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдФрд░ рджреВрд░ рдХреА рд╕реНрдореГрддрд┐ рдХреЗ рд╕рдВрдпреЛрдЬрди рд╕реЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ - рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ scipy рдЕрдкрдиреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдкрд╣рд▓реЗ site.cfg рдЙрдард╛рдПрдЧрд╛, рдФрд░ рдпрджрд┐ рд╡рд╣ рдЧреБрдо рд╣реИ, рддреЛ numpy рдмрд┐рд▓реНрдб рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЙрдард╛рдПрдЧрд╛ред рдпрд╣ рдмрджрд▓реЗ рдореЗрдВ рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдВ рдореИрдВрдиреЗ рдкрд╣рд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдерд╛ред рддреЛ рдЖрдкрдХреЛ np-рд╡реНрд╣реАрд▓-рдмрд┐рд▓реНрдбрд░ рдПрдЯрд▓рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП scipy рдХреЗ рд▓рд┐рдП site.cfg рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ - build_numpy.py рд╕реНрдХреНрд░рд┐рдкреНрдЯ numpy рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рддреА рд╣реИред

рдмреАрдПрд▓рдЖрдИрдПрд╕ рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрд╕реНрд╡рд╕реНрде рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ (рдФрд░ libflame рдФрд░ рднреА рдЕрдзрд┐рдХ); рдХрдорд┐рдЯреНрд╕, рдореЗрд▓рд┐рдВрдЧ рд▓рд┐рд╕реНрдЯ рдЯреНрд░реИрдлрд┐рдХ рдЖрджрд┐ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдмрд╣реБрдд рдХрдо рдЧрддрд┐рд╡рд┐рдзрд┐ред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЕрд╕реНрд╡рд╕реНрде рдХрд╣реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд FOSS рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ; рд╡реЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╢реЛ рд╣реИрдВ, рдФрд░ рд╡реЗ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ (рдЕрднреА рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо)ред рдореИрдВ рдкрд┐рдЫрд▓реЗ ~ рд╡рд░реНрд╖ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рд╕рд╛рде рд╕рдВрдкрд░реНрдХ рдореЗрдВ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдЕрдЪреНрдЫреА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХрд╛ рд╡рд░реНрддрдорд╛рди рдлреЛрдХрд╕ рдмрд┐рд▓реНрдХреБрд▓ рдЙрди рдЪреАрдЬреЛрдВ рдкрд░ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП (рд░рдирдЯрд╛рдЗрдо рдХрд░реНрдиреЗрд▓ рдЪрдпрди рдФрд░ рд░рдирдЯрд╛рдЗрдо рдереНрд░реЗрдбрд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди); рдмреБрд░реА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рд╡рд╛рд╕реНрддреБрдХрд╛рд░ рджреНрд╡рд╛рд░рд╛ рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЪреАрдЬреЛрдВ рдХреЛ рдкреБрдирд░реНрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рд╢рд╛рдпрдж 6 рдорд╣реАрдиреЗ рдореЗрдВ рдХреБрдЫ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ?

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдЖрджрд┐ рдХрд╛рдлреА рджреВрд░ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдЙрд╕ рдорд╛рдорд▓реЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреА рд╣реЛрдЧреА рдЬрд╣рд╛рдВ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдирдерд╛рдирд┐рдПрд▓ - рдЕрдЪреНрдЫреЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХрд╣рд╛рдВ рд╕реЗ рд▓рд╛рдПрдВ рдЗрд╕ рдкрд░ рдХреЛрдИ рд╕реБрдЭрд╛рд╡? рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ numpy.bench() рдЕрдм рдФрд░ рдХреБрдЫ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ asv рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдХрдИ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдП рдХреНрдпреЛрдВрдХрд┐ Windows numpy рдореЗрдВ complex256 рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ asv рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИрдВ? рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ %timeit np.dot(big_array, other_big_array) рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдХрдЪреНрдЪреЗ рд╡рд┐рдЪрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рд╣рдо рдЦрдбрд╝реЗ рд╣реИрдВ :-)

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ BTW, рдпрд╣рд╛рдБ Windows DLL рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдо рд╕реНрдерд╛рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЬреЛ рд╣рдореЗрдВ Windows delocate рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: https://github.com/njsmith/redll

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдПрдПрд╕рд╡реА рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕256 рд╡рд┐рдлрд▓рддрд╛ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкреВрд░реЗ рдЕрдиреБрдХреНрд░рдо рдХреЛ рддреЛрдбрд╝ рджреЗрддреА рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рд░рд▓ рдкрд░реАрдХреНрд╖рдг:

def test_dot():
    """
    Test the dot product
    """
    i = 1000
    a = random((i, i))
    b = numpy.linalg.inv(a)
    result = numpy.dot(a, b) - numpy.eye(i)

рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдХреНрд▓рд┐рдВрдЯ рд╡реНрд╣реЗрд▓реА рдиреЗ рдкрд╣рд▓реЗ рдЪреЗрддрд╛рд╡рдиреА рджреА рдереА - 64 рдмрд┐рдЯ рдПрдЯрд▓рд╕ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдирд╣реАрдВ рд╣реИред рдХреНрд░рд┐рд╕реНрдЯреЛрдлрд╝ рдЧреЛрд╣рд▓реНрдХреЗ рдХреЗ рдкрд╣рд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 64-рдмрд┐рдЯ рдПрдордХреЗрдПрд▓ рдХреЗ рд╕рд╛рде:

In [9]: %timeit test_dot()
1 loop, best of 3: 764 ms per loop

рдореЗрд░реЗ рдкрд╣рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде, 64-рдмрд┐рдЯ рдПрдЯрд▓рд╕ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд┐рдд:

In [10]: %timeit test_dot()
1 loop, best of 3: 2.41 s per loop

32-рдмрд┐рдЯ рдкрд╣рд┐рдпреЛрдВ (рдПрдХ рдЕрд▓рдЧ, 32-рдмрд┐рдЯ рдорд╢реАрди рдкрд░) рдХреЗ рд╕рд╛рде рдЕрдВрддрд░ рдмрд╣реБрдд рдХрдо рд╣реИред рдПрдордХреЗрдПрд▓:

In [3]: %timeit test_dot()
1 loop, best of 3: 663 ms per loop

рдмрдирд╛рдо рдПрдЯрд▓рд╕:

In [4]: %timeit test_dot()
1 loop, best of 3: 1 s per loop

@rcwhaley - рдпрджрд┐ рдЖрдк рдпрд╣рд╛рдВ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдПрдЯрд▓рд╕ 3.10.1 рд╣реИ ...

рдпрд╣рд╛рдБ рдПрдХ рдФрд░ рдЖрдзреБрдирд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ 64-рдмрд┐рдЯ рдорд╢реАрди рд╣реИ - ~ 3x рдордВрджреА рднреА рджрд┐рдЦрд╛рддреА рд╣реИред

рдПрдордХреЗрдПрд▓:

In [3]: %timeit test_dot()
1 loop, best of 3: 400 ms per loop

рдПрдЯрд▓рд╕:

In [3]: %timeit test_dot()
1 loop, best of 3: 1.28 s per loop

рд╣рд╛рдБ, рдЬрдЯрд┐рд▓ 256 рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдХрдард┐рди рдирд╣реАрдВ рд╣реИ: https://github.com/numpy/numpy/pull/7251

3x рдмрд╣реБрдд рд╣реИ, рд▓реЗрдХрд┐рди рд▓рдЧрднрдЧ рдЙрддрдирд╛ рдирд╛рдЯрдХреАрдп рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдХрд┐ lapack_lite рд╕рд╣реА рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИред рдФрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреБрд░рд╛рдиреЗ 32-рдмрд┐рдЯ .exe рдЗрдВрд╕реНрдЯрд╛рд▓рд░ рдХреЛрдИ рдмреЗрд╣рддрд░ рдереЗред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ BTW, рдпрд╣рд╛рдБ Windows DLL рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдо рд╕реНрдерд╛рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдПрдХ Windows delocate рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: https://github.com/njsmith/redll

рдЕрдЪреНрдЫрд╛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ :)

@gfyoung 'site.cfg' рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИ:

1) рдореБрдЦреНрдп setup.py рдлрд╝рд╛рдЗрд▓ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЪрд▓рд╛рдИ рдЬрд╛ рд░рд╣реА рд╣реИред
2) ~/.numpy-site.cfg . рдХреЗ рд░реВрдк рдореЗрдВ setup.py рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╣реЛрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
3) рд╕рд┐рд╕реНрдЯрдо рд╡рд╛рдЗрдб рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА (рдЗрд╕ рдлрд╛рдЗрд▓ рдХрд╛ рд╕реНрдерд╛рди...)

@rgommers рдмрд╛рддрдЪреАрдд рдХреЛ рдкрдЯрд░реА рд╕реЗ рдЙрддрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЦреЗрдж рд╣реИред

рдХреЛрдИ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ, рдХреБрдЫ рднреА рдкрдЯрд░реА рд╕реЗ рдирд╣реАрдВ рдЙрддрд░рд╛ред

рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╣реИрдВ, @ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рд╕рдорд╛рдзрд╛рди numpy рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдФрд░ @carlk рджреНрд╡рд╛рд░рд╛ mingwpy рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА num рдлреЛрдХрд╕ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддреНрдд рдкреЛрд╖рд┐рдд рд╣реИред рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЕрдкрдиреА рдХрдВрдкрдиреА рдХреЛ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдВрдХ рдлреЛрдХрд╕ рд╕рджрд╕реНрдп рд╣реВрдВред scipy 2829 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдзреЗ рд░рд╛рд╕реНрддреЗ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рд╣реА рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдЖрдпрд╛ рд╣реВрдБред рдореБрдЭреЗ рдмрд╕ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдЕрд▓реНрдкрд╛рд╡рдзрд┐ рдореЗрдВ рд╣рдо @cgohlke рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ рдпрд╛ рдПрдирд╛рдХреЛрдВрдбрд╛ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВрдЧреЗред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж!

рдардВрдбрд╛ред рдФрд░ рдпрд╣ рджреЗрдЦрдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ рдХрд┐ рдЖрдк MingwPy рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдм рдЗрд╕рдХрд╛ рдЕрдкрдирд╛ рдПрдордПрд▓ рд╣реИ, рдЬреЛ рд░реБрдЪрд┐ рдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: https://groups.google.com/forum/#!forum/mingwpy

@rgommers , @ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ: рдЖрд╣, рд╣рд╛рдБ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдПрдордХреЗрдПрд▓ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣рд╛ рдерд╛ред рдореИрдВрдиреЗ рд╕реАрдзреЗ рдЕрдкрдиреЗ site.cfg рдХреЛ рдПрдЯрд▓рд╕ рдмрд┐рд▓реНрдб рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд┐рдпрд╛, рдФрд░ scipy рдмрдирд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рджреМрд░рд╛рди segfaultsред рдмрд╣реБрдд рдХрд░реАрдм!

@rgommers - рд╣рд╛рдБ - рдПрдЯрд▓рд╕ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рджрд░реНрд╢рди рдмрд╣реБрдд рдЦрд░рд╛рдм рд╣реИ (lapack_lite рдХреЗ рд╕рд╛рде):

In [2]: %timeit test_dot()
1 loop, best of 3: 17.7 s per loop

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╢реЗрд╖ рдкреНрд░рд╢реНрди рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдУрдкрдирдмреАрдПрд▓рдПрдПрд╕ numpy (рд╕рднреА numpy рдкрд░реАрдХреНрд╖рдгреЛрдВ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде) рдХреЗ рдорд╛рдирдХреАрдХрд░рдг рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдЗрд╕ рдЬреЛрдЦрд┐рдо рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ numpy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирдиреЗ рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реЛрдЧреАред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реНрдХ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рд▓рдШреБ/рдордзреНрдпрдо рдЕрд╡рдзрд┐ рдореЗрдВ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдпрд╣ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ рдЕрднреА рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдЦреБрдж рдХреЛ рджрдпрдиреАрдп рдмрдЧ рд╢рд┐рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░реЗрдВ рдЬреЛ рдХрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред рдХрдо рд╕реЗ рдХрдо рд╣рдо рдЬреВрд▓рд┐рдпрд╛ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдХреА рдЕрдЪреНрдЫреА рд╕рдВрдЧрддрд┐ рдореЗрдВ рд░рд╣реЗрдВрдЧреЗред

рдЬреВрд▓рд┐рдпрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ Numpy рдХреЗ рдкрд╛рд╕ рдЬреЛрдЦрд┐рдо рд╕рд╣рдирд╢реАрд▓рддрд╛ рдмрдирд╛рдо рдкреНрд░рджрд░реНрд╢рди рдЯреНрд░реЗрдбрдСрдлрд╝ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрдкрд╛рдд рдХрд╛ рдПрдХ рдХрд╛рдлреА рдЕрд▓рдЧ рд╕реЗрдЯ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ numpy рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд░реВрдврд╝рд┐рд╡рд╛рджреА рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓реЗрдиреЗ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдзреАрдореА рд▓реЗрдХрд┐рди рднрд░реЛрд╕реЗрдордВрдж рдХреЗ рд╕рд╛рде рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ, рдУрдкрдирдмреНрд▓рд╛рд╕ рдХреЛ рдЧреИрд░-рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ 8 рдШрдВрдЯреЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдордЬреЗрджрд╛рд░ рдирд╣реАрдВ рд▓рдЧрддрд╛, рдХреЛрдИ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ рдХрд┐ рдХреЛрдИ рднреА рд╣рдорд╕реЗ рдЬреВрд▓рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдПрдЯрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдкреВрдЫ рд░рд╣рд╛ рд╣реИред

рдУрдкрдирдмреНрд▓рд╛рд╕ рдХреЛ рдЧреИрд░-рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд╕рдЪ рдореЗрдВ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИ: - /ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдмрд┐рд▓реНрдб рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ (рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдо pypi рдкрд░ numpy[openblas] рдЖрджрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдмрд┐рд▓реНрдб рд╡реЗрд░рд┐рдПрдВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЬрд▓реНрдж рд╣реА рдХрднреА рднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛) , рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдУрдкрдирдмреНрд▓рд╛рд╕ рдмрд┐рд▓реНрдб рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдПрдЯрд▓рд╕ рдмрд┐рд▓реНрдб рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдХрд▓реНрдк рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдПрдХ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рд╣реИрдВ, рдУрдкрдирдмреНрд▓рд╛рд╕ рдмрд┐рд▓реНрдб рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рдпрд╣ рдПрдордХреЗрдПрд▓ рд╣реЛрдЧрд╛ рдХрд┐рд╕реА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рд╕реЗ рдмрдирд╛рддрд╛ рд╣реИ: - /ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯреЗрдмрд▓ рдкрд░ рд░рдЦрдиреЗ рдХрд╛ рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рдмреАрдПрд▓рдЖрдИрдПрд╕ рдмрд┐рд▓реНрдб рдХреЛ рдЙрдирдХреЗ рд╕рдВрджрд░реНрдн/рдПрд╕рдПрд╕рдИ 2 рдХрд░реНрдиреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдХреНрдпреЛрдВрдХрд┐ BLIS рдореЗрдВ рдЕрднреА рднреА рдХреЗрд╡рд▓ рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ, рдпрд╣ рдУрдкрдирдмреНрд▓рд╛рд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ ATLAS рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ ATLAS рдмрдирд╛рдо рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рд░реНрдорд╛рдг рд╕рдордп _much_ рддреЗрдЬ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдХрдард┐рди рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдЯрд▓рд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реИ (рдЬрд┐рд╕реЗ рдореИрдВ рд╢реВрдиреНрдп рдкрд░ рд░рдЦреВрдВрдЧрд╛)ред рдЕрдЧрд░ рд╣рдо рд╡реИрд╕реЗ рднреА рдХреБрдЫ рдХреНрдпреВрдПрдЗрдВрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдХрдо рд╕реЗ рдХрдо рд╣рдо рдЙрд╕ рдКрд░реНрдЬрд╛ рдХреЛ рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬ рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ рдЬрд┐рд╕рдХрд╛ рднрд╡рд┐рд╖реНрдп рд╣реЛред

рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдкрд░ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рд╣реЛрдВрдЧреЗ:

(1) рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ BLIS рдХрд╛ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рд╕рдорд░реНрдерди ATLAS рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд╣реИ рдпрд╛ рдирд╣реАрдВ (рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╕реНрд░реЛрдд рдореЗрдВ рдХреБрдЫ рдорд▓реНрдЯреА-рдереНрд░реЗрдбрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореБрдЦреНрдп рдбреЗрд╡рд▓рдкрд░ рдЗрд╕реЗ рдЕрднреА рддрдХ "рдХрд┐рдпрд╛" рдирд╣реАрдВ рдорд╛рдирддрд╛ рд╣реИ , рдпрд╛рдиреА рдПрдордХреЗрдПрд▓ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА, рд▓реЗрдХрд┐рди рдПрдЯрд▓рд╕ рдФрд░ рдПрдордХреЗрдПрд▓ рдХреЗ рдмреАрдЪ рдмрд╣реБрдд рдЬрдЧрд╣ рд╣реИред)

(2) рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдпрд╣ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдХ рдЕрдирдЯреНрдпреВрди рдореЛрдб рдореЗрдВ BLIS рдЙрди рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд░ рдХреИрд╕реЗ рдХрд┐рд░рд╛рдпрд╛ рдХрд░рддрд╛ рд╣реИред

(3) рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдмреАрдПрд▓рдПрдПрд╕ рд╣реИ, рд▓реИрдкреИрдХ рдирд╣реАрдВ - рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рддрдиреА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдкреНрд░рддрд┐ BLIS рдХрд┐рддрдирд╛ рдЙрддреНрддрд░рджрд╛рдпреА рд╣реИ? рдУрдкрдирдмреНрд▓рд╛рд╕ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ
рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВред

рд╕реЛрдо рдкрд░, рдлрд░рд╡рд░реА 15, 2016 рдЕрдкрд░рд╛рд╣реНрди 3:48, рдирдерд╛рдирд┐рдПрд▓ рдЬреЗ. рд╕реНрдорд┐рде <
рд╕реВрдЪрдирд╛рдПрдВ@github.com> рдиреЗ рд▓рд┐рдЦрд╛:

рдУрдкрдирдмреНрд▓рд╛рд╕ рдХреЛ рдЧреИрд░-рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд╕рдЪ рдореЗрдВ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИ: - /ред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдмрд┐рд▓реНрдб рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ (рдореЗрдВ
рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдореИрдВ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдкреАрдкреАрдЖрдИ рдкрд░ numpy [openblas] рдХреЗ рд░реВрдк рдореЗрдВ рдмрд┐рд▓реНрдб рд╡реЗрд░рд┐рдПрдВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдФрд░ рдмрд╣реБрдд рдХреБрдЫ, рд▓реЗрдХрд┐рди рдпрд╣ рдЬрд▓реНрдж рд╣реА рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛), рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ
рдУрдкрдирдмреНрд▓рд╛рд╕ рдмрд┐рд▓реНрдб рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдмрдЧ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕реБрдзрд╛рд░реЗрдВ
рд░рд┐рдкреЛрд░реНрдЯ, рдФрд░ рдПрдЯрд▓рд╕ рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдХрд▓реНрдк рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ
рдУрдкрдирдмреНрд▓рд╛рд╕ рдмрд┐рд▓реНрдб рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдпрд╣ рдПрдордХреЗрдПрд▓ рдмрд┐рд▓реНрдб рд╣реЛрдЧрд╛
рдХрд┐рд╕реА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рд╕реЗ :-/.

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯреЗрдмрд▓ рдкрд░ рд░рдЦрдиреЗ рдХрд╛ рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк BLIS рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рдЙрдирдХреЗ рд╕рдВрджрд░реНрдн/SSE2 рдХрд░реНрдиреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ BLIS рдореЗрдВ рдЕрднреА рднреА рдХреЗрд╡рд▓ рдмрд┐рд▓реНрдб рд╣реИ
рд╕рдордп рд╡рд┐рдиреНрдпрд╛рд╕ рдпрд╣ рдУрдкрдирдмреНрд▓рд╛рд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдПрдЯрд▓рд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА, рдФрд░ рдПрдЯрд▓рд╕ рдмрдирд╛рдо рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдмрд┐рд▓реНрдб
рд╕рдордп _рдмрд╣реБрдд_ рддреЗрдЬ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛
рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдХрдард┐рди рд╣реИ рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдЯрд▓рд╕ рдХреЗ рдЕрдЪреНрдЫреЗ рд╣реЛрдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ
рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рдзрд╛рди (рдЬрд┐рд╕реЗ рдореИрдВ рд╢реВрдиреНрдп рдкрд░ рд░рдЦреВрдВрдЧрд╛)ред рдЕрдЧрд░ рд╣рдо QAing рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ
рд╡реИрд╕реЗ рднреА рдХреБрдЫ рддреЛ рдХрдо рд╕реЗ рдХрдо рд╣рдо рдЙрд╕ рдКрд░реНрдЬрд╛ рдХреЛ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ
рдХрд┐ _рд╢рд╛рдпрдж_ рдХрд╛ рднрд╡рд┐рд╖реНрдп рд╣реЛред

рдЗрд╕ рдкрд░ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдкреНрд░рд╢реНрди рдЬрд┐рдирдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
рд╡рд┐рдХрд▓реНрдк:

(1) рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ BLIS рдХрд╛ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рд╕рдорд░реНрдерди рд╣реИ рдпрд╛ рдирд╣реАрдВ
рдПрдЯрд▓рд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА (рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдмрд╣реБ-рдереНрд░реЗрдбрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ
рд╕реНрд░реЛрдд, рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореБрдЦреНрдп рдбреЗрд╡рд▓рдкрд░ рдЗрд╕реЗ рдирд╣реАрдВ рдорд╛рдирддрд╛ рд╣реИ
"рдХрд┐рдпрд╛" рдЕрднреА рддрдХ, рдпрд╛рдиреА рдПрдордХреЗрдПрд▓ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА, рд▓реЗрдХрд┐рди рдмреАрдЪ рдореЗрдВ рдмрд╣реБрдд рдЬрдЧрд╣ рд╣реИ
рдПрдЯрд▓рд╕ рдФрд░ рдПрдордХреЗрдПрд▓ред)

(2) рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдпрд╣ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ BLIS рдПрдХ рдЕрдирдЯреНрдпреВрди рдореЛрдб рдореЗрдВ рдХреИрд╕реЗ рдХрд┐рд░рд╛рдпрд╛ рдХрд░рддрд╛ рд╣реИ
рдЙрди рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд░ рдКрдкрд░ред

(3) рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ, рдФрд░ рд╡рд╣рд╛рдВ рд╣реИ
рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдмреАрдПрд▓рдПрдПрд╕ рд╣реИ, рд▓реИрдкреИрдХ рдирд╣реАрдВ - рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреИрд╕реЗ
рдПрдХ рдореБрджреНрджрд╛ рдпрд╣ numpy рдХреЗ рд▓рд┐рдП рд╣реИред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/numpy/numpy/issues/5479#issuecomment -184387401ред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд▓рд┐рдмрдлреНрд▓реЗрдо рдмреНрд▓рд┐рд╕ рдХреЗ рдмрд░рд╛рдмрд░ рд▓реИрдкреИрдХ рд╣реИред рд╕рдВрджрд░реНрдн рдбреЙрдХреНрд╕ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдПрдХ рд▓реИрдкреИрдХ2рдлреНрд▓реЗрдо рд╕рдВрдЧрддрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред

рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдкреНрд░рддрд┐ BLIS рдХрд┐рддрдирд╛ рдЙрддреНрддрд░рджрд╛рдпреА рд╣реИ?

рд╣рдо рдЕрднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗред

рдмреАрдПрд▓рдЖрдИрдПрд╕ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд┐рдП рдмрд┐рдирд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╛рдЧрд▓рдкрди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдХрдо рдЧрддрд┐рд╡рд┐рдзрд┐ рд╡рд╛рд▓реА рдПрдХ-рд╡реНрдпрдХреНрддрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рдмрдирд╛рдИ рдЧрдИ numpy рдмрд╛рдЗрдирд░реА рд╢рд┐рдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдЧрд▓рдкрди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдХрдо рд▓реЛрдЧ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ MingwPy + OpenBLAS рдпреЛрдЬрдирд╛ рд╕реЗ рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛрдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред No-scipy-ATLAS-MSVC-рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рд╕реНрдЯреЙрдкрдЧреИрдк рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдордзреНрдпрдо/рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ MingwPy рд╕рдорд╛рдзрд╛рди рд╕реЗ рдХрдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдФрд░ рдпрджрд┐ рд╕реНрдЯреЙрдкрдЧреИрдк рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рдмрдбрд╝реЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИ .

BLIS / libflame рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ рдХрд┐, рдпрджрд┐ рдореИрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдПрдХ рдкреВрд░реНрдг BLAS / LAPACK рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛, рддреЛ рдпрд╣ рдПрдХ рдЕрдХреЗрд▓рд╛ рд░рд╛рд╕реНрддрд╛ рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рдпрд╣ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ рдХрд┐ рдПрдХ рдмрд╛рд░ рдЬрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕рд╣рдордд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИред

ATLAS рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ Linux рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд░рд╣реА рд╣реИред рдпрд╣ рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдЕрдиреБрдЪрд┐рдд рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдмреАрдПрд╕рдбреА-рд╕рдВрдЧрдд рдмрд┐рд▓реНрдб рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@tkelman - рдЖрдкрдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдЙрд╕ numpy рдХреЛ рд╢реБрджреНрдзрддрд╛ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди, рдХреБрдЫ рдЕрдзрд┐рдХ рдердХрд╛рдК OpenBLAS рдмрдЧреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдФрд░ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдкрдХ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд▓реЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдпрд╣ OpenBLAS рдмрдЧ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддрд╛ рд╣реИ - рдХреБрдЫ рдЕрд╕реНрдкрд╖реНрдЯ, рдбреАрдмрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдХрдард┐рдиред

рдореИрдВ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рдХрд┐ рдкреАрдкреАрдЖрдИ рдкрд░ рдЦрд╕реНрддрд╛ рдкрд╣рд┐рдпреЗ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рддрд╛рдХрд┐ рдкреИрдХреЗрдЬ "x" рдХрд╛ рдПрдХ рдЖрдХрд╕реНрдорд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ "y" (рдЬреИрд╕реЗ: matplotlib) рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ numpy рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рдЖрдХрд╕реНрдорд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдлреЗрдВрдХрдирд╛ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛ред рдЕрдкрдиреА рдмрд╛рд╣реЛрдВ рдХреЛ рдКрдкрд░ рдЙрдард╛рдПрдВ рдФрд░ рдРрд╕рд╛ рдХреБрдЫ рдХрд╣реЗрдВ, "рдкрд╛рдпрдерди рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИред" рдФрд░ MATLAB рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред рдЕрдЬрдЧрд░ рдХреЗ рдЬрд╝реЗрди рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрд╕ рдиреЗ рдХрд╣рд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ numpy рджреНрд╡рд╛рд░рд╛ pypi рдкрд░ рдХреБрдЫ рднреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рднрд╛рд░ рд╡рд╣рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ _is_ рд╕реНрдерд┐рд░ рд╣реИ, рдпрд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рд╛рдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╣реИ, cgohlke рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рдеред рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрддреНрд╕рд╛рд╣реА рдФрд░ рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрд▓реНрдкрд╛рд╡рдзрд┐ рдореЗрдВ рдПрдЯрд▓рд╕ рдмрд┐рд▓реНрдб рдХреЛ рдЪреЗрддрд╛рд╡рдиреА рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕реЗ рд╕рд┐рдкреНрдкреА рдХреЗ рд╕рд╛рде рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдЗрд╕ рдмрд┐рд▓реНрдбрдмреЙрдЯ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдпрд╣ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рд╣реИ рдирд╛? рднрд╡рд┐рд╖реНрдп рдХреЗ 8hr ATLAS рдмрд┐рд▓реНрдб рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рджреБрд░реНрд▓рдн рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рд╢рд╛рдпрдж рдПрдХ рджрд┐рди рд╡рд┐рдВрдбреЛрдЬрд╝ 64 рдмрд┐рдЯ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧреАред SSE2 рдЕрдкрд╡рд╛рдж рд╕рдорд╕реНрдпрд╛ рдПрдХ рдЙрдмрд╛рдК рд╣реИ, рдЗрд╕рд▓рд┐рдП pypi рдкрд░ рдПрдХ рдФрд░ рдЪреЗрддрд╛рд╡рдиреА рд╕рдВрджреЗрд╢ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдЯрд▓рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд┐рдирдХреНрд╕ рдкрд░ рдорд╛рдирдХ рд╣реИ рдФрд░ рдкрд┐рдЫрд▓реЗ рд╕реБрдкрд░рдкреИрдХ bdist_winst рдкреИрдХреЗрдЬ рдореЗрдВ рдорд╛рдирдХ рдерд╛ рдЬреЛ рдЗрд╕ рдкрде рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╕рдорд░реНрдерди рджреЗрддрд╛ рд╣реИред

рдлрд┐рд░ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП, рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдорд┐рдВрдЧрд╡рдкреА рдкрд░ рдлреИрд╕рд▓рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрднреА рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдореЗрдВ рдореИрдВ рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реВрдВ рдХрд┐ рдЖрдирдВрдж/рд▓реМ рд╣реА рднрд╡рд┐рд╖реНрдп рд╣реИред рдпрд╣ рдереЛрдбрд╝рд╛ рдбрд░рд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдХрдИ рдЧрдгрд┐рддреАрдп рдЙрдкрдХрд░рдг 70 рдХреЗ рджрд╢рдХ рдХреЗ рдлреЛрд░рдЯреНрд░рд╛рди рдХреЛрдб рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВред рдПрд╕реА рдУрдирд▓реА рд╕реЙрд▓реНрдпреВрд╢рди рдПрдХ рдмрдбрд╝рд╛ рдмреНрд░реЗрдХ рдереНрд░реВ рд╣реИ рдФрд░ рдЙрддреНрд╕рд╛рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╣реИред

рд▓реЗрдХрд┐рди рдЕрдиреБрднрд╡реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЧреИрд░ рдорд╛рдирдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдЬреАрд╡рд┐рдд рд░рдЦрдирд╛ рднреА рдЕрдЪреНрдЫрд╛ рд╣реИ рдпрджрд┐ рдРрд╕реЗ рдЕрдиреБрднрд╡реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкрд╛рд╕ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдФрд░ рдЭреБрдХрд╛рд╡ рд╣реИред

рдпрджрд┐ рдЖрдк рдмреНрд▓рд┐рд╕ рдореЗрдВ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╢рд╛рдпрдж рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд┐рдЯ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ (рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдПрдХрд╡рдЪрди) рдореИрдВрдиреЗ 2014 рд╕реЗ рд╡рд╣рд╛рдВ рдЦреЛрд▓рд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗрд╡рд▓ рдЕрдиреБрдХреВрд▓рд┐рдд рдХреЗ рд▓рд┐рдП рд╕рд┐рдореНрд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдХрд░реНрдиреЗрд▓, рдЗрд╕рд▓рд┐рдП рдЖрдк msys2 рдХреЗ git рдХреЛ рднреНрд░рдорд┐рдд рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдпрджрд┐ рдЖрдк рд╡рд╣рд╛рдВ рдХреЗрд╡рд▓ рд╕рдВрджрд░реНрдн рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рд╕рд╛рдЗрдЧрд╡рд┐рди рд╕реЗ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдиреЗ рдЖрдЦрд┐рд░реА рдмрд╛рд░ рдХрд╛рдо рдХрд┐рдпрд╛, рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдерд╛ рдФрд░ рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдореБрдЭреЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрджрд┐ рд╡рд┐рдХрд▓реНрдк рдПрдЯрд▓рд╕ рд╣реИ, рддреЛ рдпрд╣ рдирд┐рд░реНрдорд╛рдг, рдкрд░реАрдХреНрд╖рдг рдФрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рдЖрдк рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддрдм рддрдХ рдЗрд╕реЗ рдЕрдкреНрд░рдорд╛рдгрд┐рдд рдФрд░ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдЙрдЪреНрдЪ рдЬреЛрдЦрд┐рдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

@mikofski рдирд┐рд╖реНрдкрдХреНрд╖ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд▓реИрдкреИрдХ 90 рдХреЗ рджрд╢рдХ рд╕реЗ рд╣реИ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдорд░реЗ рдореЗрдВ рдлреЛрд░рдЯреНрд░рд╛рди рд╣рд╛рдереА рд╣реИред

@tkelman : рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд╛рдпрд░ рдХрд┐рдП рдЧрдП рдореБрджреНрджреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝-рджреЗрд╢реА рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдереЗ, рд╣реИ рдирд╛? рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд╕реЗ рдмрд╛рд╣рд░ рдореИрдВрдиреЗ рд▓рд┐рдирдХреНрд╕ рд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕-рдХрдВрдкрд╛рдЗрд▓рд┐рдВрдЧ рдмреНрд▓рд┐рд╕ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА (рдбреЗрдмрд┐рдпрди рдкреИрдХреЗрдЬ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд mingw-w64 рдХреНрд░реЙрд╕-рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ), рдФрд░ рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдХрд░ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ ~ 2 рдорд┐рдирдЯ рд▓рдЧреЗред рдореИрдВрдиреЗ "./configure рд╕рдВрджрд░реНрдн; -j4 CC=x86_64-w64-mingw32-gcc AR=x86_64-w64-mingw32-ar CPICFLAGS=" рдХрд┐рдпрд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдмрд╕ рдХрд╛рдо рдХрд┐рдпрд╛ред ( CPICFLAGS= рдХреЗрд╡рд▓ " -fPIC рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ", рдФрд░ рд╢рд╛рдпрдж рдореБрдЭреЗ AR рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереА, рд▓реЗрдХрд┐рди рд╣реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВред) bli_pool.c рдФрд░ bli_fprintm.c рдореЗрдВ рдкреНрд░рд┐рдВрдЯрдлреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдорд┐рд▓реАрдВ, рдЬреЛ $ intptr рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП %ld рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдХреБрдЫ рдПрд▓рдПрд▓рдкреА 64 рдХрд┐рдВрдХ рд╣реИрдВ рдХрд╕рд░рдд рдХрд░рдирд╛ред

@rgommers :

рдмреАрдПрд▓рдЖрдИрдПрд╕ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд┐рдП рдмрд┐рдирд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╛рдЧрд▓рдкрди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдХрдо рдЧрддрд┐рд╡рд┐рдзрд┐ рд╡рд╛рд▓реА рдПрдХ-рд╡реНрдпрдХреНрддрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рдмрдирд╛рдИ рдЧрдИ numpy рдмрд╛рдЗрдирд░реА рд╢рд┐рдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдЧрд▓рдкрди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдХрдо рд▓реЛрдЧ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИ! рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рднреА рд╡рд┐рдХрд▓реНрдк рднрдпрд╛рдирдХ рд╣реИрдВ :-(ред

рддреЛ рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдПрдордХреЗрдПрд▓ рдХреЗ рдкрд╛рд╕ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╣реИред

рдПрдЯрд▓рд╕ рдХрд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм рдкреНрд░рджрд░реНрд╢рди рд╣реИ рдЬреЛ рдХрднреА рдирд╣реАрдВ рд╕реБрдзрд░реЗрдЧрд╛ред

рдФрд░ рдУрдкрдирдмреНрд▓рд╛рд╕, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмреВрдд рд╣реИрдВ, рдмрд╕ рд░рдЦрд░рдЦрд╛рд╡ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрддрдиреА рдЬрд▓реНрджреА рдмрдирдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ :-(ред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд╛рдВрдЪ рд╕рд╛рд▓ рдкреБрд░рд╛рдиреА рд╣реИ, рдЗрд╕рдореЗрдВ рдЕрднреА рднреА рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЯреВрдЯреА рд╣реБрдИ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреИрд╕реЗ рдЬреВрд▓рд┐рдпрди рдХреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ volatile рдХрд╛ рдЙрджрд╛рд╣рд░рдг

рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ BLIS рд▓рд╛рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ BLIS рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╛рдзрд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рддрд░рд╣ рдХреА рдЧрдгрдирд╛ рдХреА рдЧрдИ рдЖрд╢рд╛рд╡рд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ: BLIS _might_ MKL/OpenBLAS рдЬрд┐рддрдирд╛ рддреЗрдЬрд╝ рд╣реЛ, ATLAS/MKL рдЬрд┐рддрдирд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛ, рдФрд░ рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд╣реЛ- OpenBLAS рдХреЗ рд░реВрдк рдореЗрдВ рдпреЛрдЧрджрд╛рди; рдпрд╛ рдлрд┐рд░, рдпрд╣ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХреЛрдИ рдЕрдиреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЙрди рд╕рднреА рдорд╛рдирджрдВрдбреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрд╢рд╛ рд╣реЛред [рдФрд░ рдпрд╣ рдЕрдиреНрдп рд▓рд╛рднреЛрдВ рдХрд╛ рднреА рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреА рддрд░рд╣ рдХрд┐ рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕реНрдЯреНрд░рд╛рдЗрдбреЗрдб рд╕рд░рдгреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИ; рдпрд╣ рдЕрдХрд▓реНрдкрдиреАрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рд╕рднреА рднрдпрд╛рдирдХ рд╡рд┐рд╢реЗрд╖-рдХреЗрд╕ рдмреАрдПрд▓рдПрдПрд╕ рдкреНрд░реЗрд╖рдг рдХреЛрдб рдХреЛ рд╣рдЯрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред]

рдЖрдИрдЖрдИрдпреВрд╕реА, рдЧреЛрдЯреЛрдмреНрд▓рд╛рд╕ рдХреЛ рдпреВрдЯреА рдСрд╕реНрдЯрд┐рди рдореЗрдВ рдкреАрдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ рд░реЙрдмрд░реНрдЯ рд╡реИрди рдбреА рдЧреАрдЬрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдПрдХ рдкреВрд░реНрдгрдХрд╛рд▓рд┐рдХ рдбреЗрд╡рд▓рдкрд░ (рдХрд╛рдЬрд╝реБрд╢рд┐рдЧреЗ рдЧреЛрдЯреЛ) рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ред BLIS рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдПрдХ рдПрдХрд▓ рдкреВрд░реНрдгрдХрд╛рд▓рд┐рдХ рдбреЗрд╡рд▓рдкрд░ (рдлрд╝реАрд▓реНрдб G. Van-Zee) рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ UT рдСрд╕реНрдЯрд┐рди рдореЗрдВ рд░реЙрдмрд░реНрдЯ рд╡реИрди рдбреЗ рдЧреАрдЬрди рдХреЗ рд╕рд╛рде PI рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рддреЛ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ :-) рд▓реЗрдХрд┐рди рд╣рд╛рдБ, рдЕрдЧрд░ рд╣рдо рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╕рд┐рд░реНрдл рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ - рдЕрдЧрд░ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдПрдХ рд╕рдореБрджрд╛рдп рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рддреЛ рдРрд╕рд╛ рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рд╕рдореБрджрд╛рдп рдиреЗ рдЕрдкрдирд╛ рджрд┐рдЦрд╛рдпрд╛ рддрдВрдмреВ рдХреЗ рд╕рд╛рде рд╕рд╛рдордиреЗ рдХрд╛ рд▓реЙрди рдЬреИрд╕реЗ "рдЕрд░реЗ, рд╣рдо рдпрд╣рд╛рдБ рд╣реИрдВ, рд╣рдо рдЕрдВрджрд░ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ"ред рдФрд░ рдЗрд╕рдХреА рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ, "рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рддрдирд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИ" рдФрд░ "рд╡реЗ рдкреИрдЪ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреЗ рдЕрдиреБрдХреВрд▓ рд╣реИрдВ" рдФрд░ рд╕рд╛рдорд╛рди, рдЬрд┐рд╕реЗ рд╣рдо рддрдм рддрдХ рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддреЗ рдЬрдм рддрдХ рд╣рдо рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕рдмрдорд┐рдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддреЗ рдкреИрдЪ рдФрд░ рдЗрддрдиреЗ рдкрд░ред

рдЕрдВрдд рдореЗрдВ: рдореБрдЭреЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкреИрд░ рдХреА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдХреЛ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдкрд╛рдиреА рдореЗрдВ рдЪрд┐рдкрдХрд╛рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ; рдЕрдЧрд░ рд╣рдо рддрдп рдХрд░ рд▓реЗрдВ рдХрд┐ рд╣рдо рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рддреЛ рд╕реАрдЦреЗрдВрдЧреЗред

рдореИрдВрдиреЗ рдХрдИ рдореБрджреНрджреЗ рдФрд░ рдПрдХ рдпрд╛ рджреЛ рдкреАрдЖрд░ рджрд╛рдпрд░ рдХрд┐рдПред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рднрдВрдбрд╛рд░ рдореЗрдВ рд╕рд┐рдореНрд▓рд┐рдВрдХ рд╣реИрдВ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ msys2 рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИ (рдпрд╛ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЖрдк msys2 рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ)ред рд╕рд╛рдЗрдЧрд╡рд┐рди рдпрд╛ рд▓рд┐рдирдХреНрд╕ рд╕реЗ рдХреНрд░реЙрд╕ рдмрд┐рд▓реНрдбрд┐рдВрдЧ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд░рд╛рдм рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛) рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди 2014 рдореЗрдВ рдЧрдардмрдВрдзрди рдореЙрд▓реЛрдХ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ, рдФрд░ рд░реЗрддреАрд▓реЗ рдкреБрд▓ рдХрд░реНрдиреЗрд▓ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╕реЗрдЧрдлреЙрд▓реНрдЯ рдереЗред рдореИрдВрдиреЗ рд╕рд┐рдЧреНрд╡рд┐рди рдХреНрд░реЙрд╕ (рдПрдХ рдирдП рд╕реНрдХрд╛рдИрд▓реЗрдХ рд▓реИрдкрдЯреЙрдк рдкрд░) рдХреЗ рд╕рд╛рде рдмреНрд▓рд┐рд╕ рдХреЗ рдирд╡реАрдирддрдо рдорд╛рд╕реНрдЯрд░ рдкрд░ рд░реЗрддреАрд▓реЗ рдкреБрд▓ рдХрд░реНрдиреЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдФрд░ рд╕реЗрдЧрдлреЙрд▓реНрдЯ рдЕрдм рдЪрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХрдм рдпрд╛ рдХрд┐рд╕рдиреЗ рддрдп рдХрд┐рдпрд╛, рдЗрд╕реЗ рджреНрд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо SSE2, SSE3, AVX рдХреЗ рд▓рд┐рдП рдПрдЯрд▓рд╕ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ:

numpy/.lib/sse2/numpy-atlas.dll
numpy/.lib/sse3/numpy-atlas.dll
numpy/.lib/avx/numpy-atlas.dll

рдлрд┐рд░ рд╣рдо рд╡рд░реНрддрдорд╛рди рд╕реАрдкреАрдпреВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдФрд░ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдкреНрд░реА-рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП numpy/_distributor_init.py рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рд╡рд╣реА рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдПрдЯрд▓рд╕ рдХреЗ рдмрдЬрд╛рдп рдЖрдирдВрдж рдХреЗ рд▓рд┐рдП, @njsmith рдХреЛред рдпрд╣ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рднреА рд╣реИ рдХрд┐ рдПрдЯрд▓рд╕ рдмрдирд╛рдо рдмреНрд▓рд┐рд╕ рд╡рд░реНрдХреНрд╕ рдореЗрдВ рдереНрд░реЗрдбрд┐рдВрдЧ рдХрд┐рддрдиреА рдЕрдЪреНрдЫреА рд╣реИред рдмреНрд▓рд┐рд╕ рд╕рдВрджрд░реНрдн рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдереНрд░реЗрдбрд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВрдиреЗ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП Appveyor рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреАред рдмрд┐рд▓реНрдб рдХреА рд╡рд░реНрддрдорд╛рди рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдпрд╣рд╛рдВ рджреВрд░ рд╣реЛ рд░рд╣реА рд╣реИ: https://ci.appveyor.com/project/matthew-brett/np-wheel-builder/build/1.0.10

рдирд┐рд░реНрдорд┐рдд рдкрд╣рд┐рдП рдпрд╣рд╛рдВ рдкрд╣реБрдВрдЪреЗ: https://84c1a9a06db6836f5a98-38dee5dca2544308e91131f21428d924.ssl.cf2.rackcdn.com

Appveyor рдмрд┐рд▓реНрдб рдореЗрдВ рдХрд┐рд╕реА рднреА рдФрд░ рдХрд┐рдВрдХ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпреЗ рдкрд╣рд┐рдП pypi рдкрд░ рдЕрдкрд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ, рдЬрдм рдпрд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдВрднрд╡рддрдГ рдХрд▓ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдПред

@rgommers , @matthew-brett: site.cfg рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗрд╡рд▓ numpy рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ scipy рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ site.cfg рдХреА рдЦреЛрдЬ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ setup.py рдХреЗрд╡рд▓ site.cfg рдХреА рдЦреЛрдЬ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ numpy рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреА рд╣реЛрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдкрд╣рд▓реЗ

рдареАрдХ - рдмрд┐рдирд╛ рддреНрд░реБрдЯрд┐ рдХреЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╡реНрд╣реАрд▓ рдХреЗ рдкрд░реАрдХреНрд╖рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: https://ci.appveyor.com/project/matthew-brett/np-wheel-builder/build/1.0.10

рдпрд╣рд╛рдВ рдкрд╣рд┐рдП: http://58688808cd85529d4031-38dee5dca2544308e91131f21428d924.r12.cf2.rackcdn.com/

рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдФрд░ 64 рдмрд┐рдЯ рдорд╢реАрди рдФрд░ рджреВрд╕рд░реА 32-рдмрд┐рдЯ рдорд╢реАрди рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпреЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред рдореБрдЭреЗ рдЗрдиреНрд╣реЗрдВ pypi рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рд╣реИ?

рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреАрдкреАрдЖрдИ рдкрд░ рдЗрди рдкрд╣рд┐рдпреЛрдВ рдФрд░ рдЧреЛрд╣рд▓рдХреЗ (рдПрдордХреЗрдПрд▓) рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг/рд▓рд┐рдВрдХрд┐рдВрдЧ рдкрд░ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рднреНрд░рдо рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд┐рдП рдЕрдм рдкреАрдкреАрдЖрдИ рдкрд░ рдХреНрдпреЛрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ рдЙрдирдХреЗ рдмреАрдЪ рд╣реИрдВред

рдПрдХ рд╕рд╛рдЗрдб рдкреНрд░рд╢реНрди, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛

  # Pin wheel to 0.26 to avoid Windows ABI tag for built wheel
  - pip install wheel==0.26

appveyor рд▓рд┐рдкрд┐ рдореЗрдВ рдорддрд▓рдм рд╣реИ?

рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╕реБрдЭрд╛рд╡ - рдореИрдВ рдЗрд╕ рдореМрдЬреВрджрд╛ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред

рд╡реНрд╣реАрд▓> 0.26 рд╡рд┐рдВрдбреЛрдЬ рд╡реНрд╣реАрд▓ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдмреАрдЖрдИ рдЯреИрдЧ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рд╡реНрд╣реАрд▓ == 0.26 рдЗрд╕ рддрд░рд╣ рд╕реЗ рдПрдХ рдкрд╣рд┐рдпрд╛ рдирд╛рдо рджреЗрддрд╛ рд╣реИ:

numpy-1.10.4-cp27-none-win32.whl

рд╡реНрд╣реАрд▓> 0.26 рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд ABI рдЯреИрдЧ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреИрд╕реЗ:

numpy-1.10.4-cp27-cp27m-win32.whl

(рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ) - рдЬреЛ рд╡рд┐рдВрдбреЛрдЬ рдПрдмреАрдЖрдИ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ рдкрд╛рдЗрдк рдЗрди рд▓реЛрдЧреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдХреЗ рд▓рд┐рдП рдиреЛ-рдПрдмреАрдЖрдИ рдирд╛рдо рдмреЗрд╣рддрд░ рд╣реИред

рдареАрдХ рд╣реИ - рдореИрдВ рдЗрд╕ рдкрд╛рда рдХреЛ рд╡рд░реНрддрдорд╛рди pypi рдкреГрд╖реНрда рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ:

рдкреАрдкреАрдЖрдИ рд╕реЗ рд╡рд┐рддрд░рд┐рдд рд╕рднреА рд╕реБрдкреАрд░рд┐рдпрд░ рдкрд╣рд┐рдпреЗ рдмреАрдПрд╕рдбреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИрдВред

рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рдкрд╣рд┐рдпреЗ рдПрдЯрд▓рд╕ рдмреАрдПрд▓рдПрдПрд╕ / рд▓реИрдкреИрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рдЬреЛ рдПрд╕рдПрд╕рдИ 2 рдирд┐рд░реНрджреЗрд╢реЛрдВ рддрдХ рд╕реАрдорд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреА рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП http://docs.scipy.org/doc/numpy/user/install.html рджреЗрдЦреЗрдВред

рдореИрдВ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдХрд╣реВрдВрдЧрд╛:

рдЗрди рд╡рд┐рдВрдбреЛрдЬ рдкрд╣рд┐рдпреЛрдВ рдореЗрдВ рдЙрдк-рдЗрд╖реНрдЯрддрдо рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд рдкреНрд░рджрд░реНрд╢рди (http://speed.python.org рдЬреИрд╕реЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╕реЗ рд▓рд┐рдВрдХ) рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдПрдЯрд▓рд╕ рдмреАрдПрд▓рдПрдПрд╕ / рд▓реИрдкреИрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рдЬреЛ рдПрд╕рдПрд╕рдИ 2 рдирд┐рд░реНрджреЗрд╢реЛрдВ рддрдХ рд╕реАрдорд┐рдд рд╣реИрдВ (рдФрд░ рдХреМрди рд╕реЗ рдЧреИрд░-рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдирд┐рд░реНрджреЗрд╢ рдЪрд╛рд╣рд┐рдП рд╡рд╣рд╛рдБ рд╣реЛрдирд╛?)ред рдпрджрд┐ рдЖрдкрдХреЛ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк mingwpy рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЗрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╕рдВрдХрд▓рд┐рдд рдкрд╛рдпрдерди рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рдирд╛ рд╣реИред рджреЗрдЦреЛ ??? рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдФрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП http://docs.scipy.org/doc/numpy/user/install.html ред

рдЦреИрд░ - mingwpy рдХреЗ рд╡рд░реНрддрдорд╛рди numpy/scipy рд╕рдВрд╕реНрдХрд░рдг openblas рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ mingwpy рдмрдирд╛рдо рдПрдордПрд╕рд╡реАрд╕реА рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рд╣рдо рдЗрди рдкрд╣рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдУрдкрдирдмреНрд▓рд╛рд╕ рднреА рднреЗрдЬ рд╕рдХрддреЗ рдереЗ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рдереА рдХрд┐ рдУрдкрдирдмреНрд▓рд╛рд╕ рдЕрднреА рддрдХ рдПрдХ рдорд╛рдирдХ рдкрд╣рд┐рдпрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдирд╣реАрдВ рдерд╛ рдЬрд┐рд╕рдХрд╛ рд╣рдо рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред

рдУрдкрдирдмреНрд▓рд╛рд╕ рдХрд╛рдлреА рд╕реНрдерд┐рд░ рд▓рдЧрддрд╛ рд╣реИ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдПрдирд╛рдХреЛрдВрдбрд╛ рдЕрдкрдиреЗ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рд╣реИ
рдЕрдм рдмрдирд╛рддрд╛ рд╣реИред рдХреЛрдИ рдЕрджреНрдпрддрди Windows Python 3.5 x64 рдмрд┐рд▓реНрдб рдЖрдЙрдЯ рдирд╣реАрдВ рд╣реИ
рд╡рд╣рд╛рдВ, рдмреЗрдВрдЪрдорд╛рд░реНрдХ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдордХреЗрдПрд▓ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдЕрдЧрд░
рдХреЛрдИ рдПрдХ рд╕рд╛рде рдкрд╣рд┐рдпрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред
16 рдлрд░рд╡рд░реА 2016 рдХреЛ рд░рд╛рдд 10:36 рдмрдЬреЗ, "рдореИрдереНрдпреВ рдмреНрд░реЗрдЯ" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ - рдорд┐рдВрдЧрд╡рдкреА рдХреЗ рд╡рд░реНрддрдорд╛рди numpy/scipy рд╕рдВрд╕реНрдХрд░рдг рдУрдкрдирдмреНрд▓рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди I
рд╕реЛрдЪреЗрдВ рдХрд┐ рдпрд╣ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ mingwpy рдмрдирд╛рдо MSVC рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рд╣рдо рдЬрд╣рд╛рдЬ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЗрди рдкрд╣рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдУрдкрдирдмреНрд▓рд╛рд╕, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рдереА рдХрд┐ рдУрдкрдирдмреНрд▓рд╛рд╕ рдЕрднреА рддрдХ рдирд╣реАрдВ рдерд╛
рдПрдХ рдорд╛рдирдХ рдкрд╣рд┐рдпрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╣рдо рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/numpy/numpy/issues/5479#issuecomment -185017546ред

рдареАрдХред рдореИрдВ рдХреЗрд╡рд▓ рдЙрдк-рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВ - рдореИрдВ рдЙрди рдмреАрдПрд▓рдПрдПрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдирд╢реНрд╡рд░ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рд╕реЗ .. рдПрд░реНрдо, рдЕрдзрд┐рдХ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдмрдирдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИ, рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ . =) рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЗрд╖реНрдЯрддрдо рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдУрдкрди рдХрдВрдкрд╛рдЗрд▓рд░ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рд╕рдорд╕реНрдпрд╛ рд╣реИред

@mrslezak : рдУрдкрдирдмреАрдПрд▓рдПрдПрд╕ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рд╣рдордд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред рд╕рд┐рдЧреНрд╡рд┐рди рдкрд░ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдУрдкрдирдмреАрдПрд▓рдПрдПрд╕ рдкреИрдХреЗрдЬ, рд▓реИрдкреИрдХ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ NumPy рдФрд░ SciPy рджреЛрдиреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╕рдХреНрд╖рдо рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

@mrslezak : рдореБрдЭреЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ? рдореИрдВ scipy.org рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реЗ рд╕реНрд░реЛрдд рдХреЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдВрджрд░реНрдн рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╢рд╛рдпрдж рдмрдиреНрджреВрдХ рдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рд╣реА рд╡рд┐рдЪрд╛рд░ рд╣реИ? рдХреБрдЫ рдЗрд╕ рддрд░рд╣:

  • рд╕реНрдерд┐рд░: рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдПрдЯрд▓рд╕, sse2 рдЪреЗрддрд╛рд╡рдиреА
  • рджреЗрд╡: OpenBLAS рдорд┐рдВрдЧрд╡рдкреА рдФрд░ рдмрд┐рдирд╕реНрдЯрд╛рд░ рджреЗрдЦреЗрдВ
  • Alt: MKL @cgohlke , MKL @continuum рдФрд░ @enthinkt
    рдЪреЗрддрд╛рд╡рдиреА: рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИрдВред
    scipy рдФрд░ Matthew Brett's github numpy wiki рдкрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХреНрд╕

@techtonik рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЬреАрд╕реАрд╕реА рдПрдордПрд╕рд╡реАрд╕реА рдпрд╛ рдЖрдИрд╕реАрд╕реА рд╕реЗ рд╕рдордХрдХреНрд╖ рдХреЛрдб рдкрд░ рдХреБрдЫ рд╣рдж рддрдХ рдЦрд░рд╛рдм рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдЧреА рдХрд┐ рдЙрди рд╕рднреА рдХрдВрдкрд╛рдЗрд▓рд░реНрд╕ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред рдореБрджреНрджрд╛ рдПрдХ рдореБрдлреНрдд (python.org-cpython-рд╕рдВрдЧрдд) рд╕рдВрдХрд▓рдХ рдХреА рдХрдореА рд╣реИ рдЬреЛ рд▓реИрдкреИрдХ рдХрд╛ рдПрдХ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдлреЛрд░рдЯреНрд░рд╛рди рдореЗрдВ рд╣реИ (SciPy рдореЗрдВ рдЕрдиреНрдп рдлреЛрд░рдЯреНрд░рд╛рди рдШрдЯрдХ рднреА рд╣реИрдВ)ред рдУрдкрдирдмреАрдПрд▓рдПрдПрд╕ (рдФрд░ рд╢рд╛рдпрдж рдПрдЯрд▓рд╕ рднреА) рдХрд╛ рд╢реБрджреНрдз рдмреАрдПрд▓рдПрдПрд╕ рд╣рд┐рд╕реНрд╕рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдордПрд╕рд╡реАрд╕реА рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдордПрд╕рд╡реАрд╕реА рдЗрдирд▓рд╛рдЗрди рдЕрд╕реЗрдВрдмрд▓реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдЯреБрдХрдбрд╝реЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдореЗрд░реЗ рдкрд╛рд╕ 64 рдмрд┐рдЯ рдПрдордХреЗрдПрд▓ рдХрд╛рдо рдирд╣реАрдВ рд╣реИ (рдЕрдЧрд░ рдореИрдВ рдЦреБрджрд╛рдИ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдВрдбрд╛ рд╕реЗ 32 рдмрд┐рдЯ рдПрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдХреБрдЫ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╣реИрдВ рдЬреЛ рдЬреВрд▓рд┐рдпрд╛ рдореЗрдВ рдПрдЯрд▓рд╕ рдбреАрдПрд▓ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ @ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рд╕рдВрджрд░реНрдн рдФрд░ рд░реЗрддреАрд▓реЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ- BLIS рдХреЗ рдмреНрд░рд┐рдЬ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдФрд░ OpenBLAS рдмрд┐рд▓реНрдб рдЬреЛ рдЬреВрд▓рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ https://gist.github.com/54da587b01b7fb163103

рд╕рд╛рд░рд╛рдВрд╢: рдУрдкрдирдмреНрд▓рд╛рд╕ (рд╕реНрдХрд╛рдЗрд▓реЗрдХ рдкрд░, рдирд╡реАрдирддрдо рдУрдкрдирдмреНрд▓рд╛рд╕ рдХрд░реНрдиреЗрд▓ рд╣реИрд╡реЗрд▓ рд╣реИ) рдПрдЯрд▓рд╕ рд╕реЗ 23 рдЧреБрдирд╛ рддреЗрдЬ, рд░реЗрдлрд░реЗрдВрд╕ рдмреНрд▓рд┐рд╕ рд╕реЗ 44 рдЧреБрдирд╛ рддреЗрдЬ рдФрд░ рд╕реИрдВрдбреАрдмреНрд░рд┐рдЬ рдмреНрд▓рд┐рд╕ рд╕реЗ 5.5 рдЧреБрдирд╛ рддреЗрдЬ рд╣реИред рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрд╕рд╡реЗрд▓ рдмреНрд▓рд┐рд╕ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдХрд░реАрдм рд╣реИред

рд╣рдо - рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдмреАрдПрд▓рдЖрдИрдПрд╕ рд╕рдВрдХрд▓рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдИ рд╣реИ?

рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдХреЛ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдирд╛ рдФрд░ рд░рди-рдЯрд╛рдЗрдо рдкрд░ рдПрдХ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реЛрдЧрд╛? рдХреНрдпрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рдЙрдкрд╕рдореБрдЪреНрдЪрдп рд╣реИ рдЬреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░реЗрдЧрд╛?

рдпрд╣ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ (рд╕рд╛рдЗрдЧрд╡рд┐рди 64 рдореЗрдВ рдЪрд▓рд╛рдПрдВ)

cd build
for i in reference dunnington sandybridge haswell bulldozer piledriver carrizo; do
  mkdir -p ../build64$i
  cd ../build64$i
  ../configure $i
  cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/lib* .
  make -j8 all test CC=x86_64-w64-mingw32-gcc CPICFLAGS="" BLIS_ENABLE_DYNAMIC_BUILD=yes
done

рдпрд╣рд╛рдБ рд╡реЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ: https://github.com/flame/blis/tree/master/config

рдЗрдВрдЯреЗрд▓ x86 рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рд╕рдВрджрд░реНрдн, рдбрдирд┐рдВрдЧрдЯрди, рд╕реИрдВрдбреАрдмреНрд░рд┐рдЬ рдФрд░ рд╣реИрд╕рд╡реЗрд▓ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд░реЗрдВрдЬ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдВрдЧреЗред рдПрдПрдордбреА рдХреЗ рд▓рд┐рдП рдмреБрд▓рдбреЛрдЬрд░, рдкрд╛рдЗрд▓рдбреНрд░рд╛рдЗрд╡рд░ рдФрд░ рдХреИрд░рд┐рдЬрд╝реЛ рднреА (рдЬрд┐рд╕рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдПрд╕реАрдПрдордПрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдкрдХреНрд╖ рдореЗрдВ рдПрдХ рд╡реЛрдЯ рд╣реИ)ред

https://github.com/ рдлреНрд▓реЗрдо/рдмреНрд▓рд┐рд╕/рдЯреНрд░реА/рдорд╛рд╕реНрдЯрд░/рдмрд┐рд▓реНрдб/рдСрдЯреЛ-рдбрд┐рдЯреЗрдХреНрдЯ рдореЗрдВ рдХреБрдЫ рдСрдЯреЛ-рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЛрдб рд╣реИ рдЬреЛ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╕рдордп рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдЕрдиреНрдп рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреБрди: рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ), рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдерди рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реАрдкреАрдпреВ рдкрд░рд┐рд╡рд╛рд░ рдкрд╣рдЪрд╛рди рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдкрд╛рдЗрдерди рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реАрдкреАрдпреВ рдкрд░рд┐рд╡рд╛рд░ рдкрд╣рдЪрд╛рди рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдкрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ

рдХреНрдпрд╛ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ? http://stackoverflow.com/a/35154827/239247

рдЖрдк рдЬреНрдпрд╛рджрд╛рддрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░рд┐рд╡рд╛рд░ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдЙрд╕рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди https://github.com/flame/blis/blob/master/build/auto-detect/cpuid_x86.c рдмрд┐рд▓реНрдХреБрд▓ рд▓рдВрдмрд╛ рдпрд╛ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред SO рд╕реЗ рдЬреБрдбрд╝рд╛ numexpr рд╕реНрд░реЛрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЖрдЙрдЯрдкреБрдЯ (рдХрдо рд╕реЗ рдХрдо рд▓рд┐рдирдХреНрд╕ рдкрд░) рдкрд░ рд░реЗрдЧреЗрдХреНрд╕ рдорд┐рд▓рд╛рди рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХрдИ рд╣рд╛рд▓рд┐рдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВред

рдУрдкрдирдмреНрд▓рд╛рд╕ рд╣реИрд╕рд╡реЗрд▓ рдмреНрд▓рд┐рд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 3.4x рддреЗрдЬ рд╣реИ, рдФрд░ рдбрдирд┐рдВрдЧрдЯрди рд╕реЗ 17x рддреЗрдЬ рд╣реИ (рдореВрд▓ рд░реВрдк рд╕реЗ рдиреЗрд╣рд▓реЗрдо рдкреЗрдиреНрд░реАрди рдЬреИрд╕рд╛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ) рдмреНрд▓рд┐рд╕ред рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдЗрди рд░рдиреЛрдВ рдкрд░ рдЖрдирдВрдж рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрдЕрдк рд╕реИрдВрдбреАрдмреНрд░рд┐рдЬ рдФрд░ рд╣реИрд╕рд╡реЗрд▓ рдХреЗ рд▓рд┐рдП рдУрдкрдирдПрдордкреА рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ, рд╢рд╛рдпрдж рдорд┐рдВрдЧрд╡ рдкрд░реНрдереНрд░реЗрдб рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред OMP_NUM_THREADS рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдХреЛрдИ рдЦрд╛рд╕ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рд╛ред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдПрдЯрд▓рд╕ 3.11 рдХреЛ 3.10 рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 64 рдмрд┐рдЯ рдкрд░ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рд╕рдордп рдЗрд╕реЗ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛, рдХреНрд▓рд┐рдВрдЯ рд╡реНрд╣реЗрд▓ рд╕реЗ рдХреБрдЫ рдорджрдж рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдЯреЛрдиреА - рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ 32-рдмрд┐рдЯ рдПрдЯрд▓рд╕ рд╡реНрд╣реАрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп/рдКрд░реНрдЬрд╛ рд╣реИ? рдЗрд╕реЗ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореЗрд░реА рдЕрдкрдиреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЗрди рдПрдЯрд▓рд╕ рдкрд╣рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдиреНрдп рдкреИрдХреЗрдЬрд░ рд╣рдо рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд╣рд┐рдпреЗ рдХреА рд╢рд┐рдкрд┐рдВрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЬрд▓реНрдж рд╣реА рдПрдХ рдирдИ рдЕрдЪреНрдЫреА рд░рд┐рд▓реАрдЬ рдЖ рд░рд╣реА рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ 1.10.4 рдХреЗ рд▓рд┐рдП рднреА рд╣рдо рдкрд╣рд┐рдпреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рд░рдЦрд░рдЦрд╛рд╡ рд░рд┐рд▓реАрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ: рддреНрд╡рд░рд┐рдд рдкреНрд░рд╢реНрди, numpy рд╕рд╛рдЗрдЧрд╡рд┐рди рдкрд░ ATLAS рдмрд┐рд▓реНрдб рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВ рдореВрд▓ рд╡рд┐рдВрдбреЛрдЬ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рд╕рд┐рдЧрд╡рд┐рди рдореЗрдВ рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рддреЛ numpy ATLAS рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реБрдЖред

рдпрджрд┐ рдЖрдк рд╕рд┐рдЧреНрд╡рд┐рди рдХреЗ рдЕрдЬрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЪреАрдЬреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдЯрд▓рд╕ рдХреЗ рд╕рд╛рдЗрдмрд░рд╡рд┐рди-рдирд┐рд░реНрдорд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 32 рдмрд┐рдЯ рдЬреВрд▓рд┐рдпрд╛ 32 рдмрд┐рдЯ рдПрдЯрд▓рд╕ рдбреАрдПрд▓ рдХреЛ рдЦреЛрд▓рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣реА рд╣реИред рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рдХреНрдпреЛрдВ, рд╢рд╛рдпрдж рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 32 рдмрд┐рдЯ рдУрдкрдирдмреНрд▓рд╛рд╕ рд╣реИрдВ рдФрд░ рдкреНрд░рддреАрдХ рдирд╛рдо рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рд╣реИрдВ?

рд▓реЗрдХрд┐рди @ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╕рд┐рдЧрд╡рд┐рди рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВред

рд╕рд┐рдЧреНрд╡рд┐рди рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдорд┐рдВрдЧрд╡ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдХреНрд░реЙрд╕-рд╕рдВрдХрд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИред рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ cygwin1.dll рдХреЗ рдмрдЬрд╛рдп msvcrt.dll рд╕реЗ рдХреИрд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ?

atlas-depwalker

рдЬреИрд╕реЗ рд╣реА рдореИрдВрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдкреЛрд╕реНрдЯ рдХреА, рдореБрдЭреЗ рдЕрдЪрд╛рдирдХ рд╕рдВрджреЗрд╣ рд╣реБрдЖ рдХрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХрд╛рд╢, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рдзрдиреНрдпрд╡рд╛рдж @tkelman !

dlopen рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ (рд╕рдВрджрд░реНрдн https://github.com/matthew-brett/np-wheel-builder/pull/1, рдФрд░ https://github.com/JuliaLang/julia/issues/15117 рдХреЗ рдЙрдкрдпреЛрдЧреА рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЫрд┐рдкрд╛ рд░рд╣рд╛ рдерд╛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢)ред

32 рдмрд┐рдЯ рдкрд░, рдПрдЯрд▓рд╕ рдУрдкрдирдмреНрд▓рд╛рд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 3.6 рдЧреБрдирд╛ рдзреАрдорд╛ рд╣реИред 32 рдмрд┐рдЯ рдУрдкрдирдмреНрд▓рд╛рд╕ рд╕рдорд╛рди рдЖрдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП 64 рдмрд┐рдЯ рдУрдкрдирдмреНрд▓рд╛рд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 3x рдзреАрдорд╛ рд╣реИред рдирд╡реАрдирддрдо рдХреБрдЫ рдХрд░реНрдиреЗрд▓ рдкрд░рд┐рд╡рд╛рд░ 32 рдмрд┐рдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░ openblas рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВред

...
рдЕрдВрдд рдореЗрдВ: рдореБрдЭреЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкреИрд░ рдХреА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдХреЛ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдкрд╛рдиреА рдореЗрдВ рдЪрд┐рдкрдХрд╛рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ; рдЕрдЧрд░ рд╣рдо рддрдп рдХрд░ рд▓реЗрдВ рдХрд┐ рд╣рдо рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рддреЛ рд╕реАрдЦреЗрдВрдЧреЗред

рдпрд╣ рд╢рд╛рдпрдж рдЙрдкрдпреЛрдЧреА рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг/рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧред рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдордп рдпрд╣ рд╣рдорд╛рд░реЗ _Windows_ рдореБрджреНрджреЛрдВ рд╕реЗ рдХрд╛рдлреА рд╣рдж рддрдХ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИред BLIS рдЗрд╕ рд╕рдордп рдХреЗрд╡рд▓ Linux рд╣реИ; рдУрдПрд╕рдПрдХреНрд╕ рдмрд┐рд▓реНрдб рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рдкреАрдЖрд░ рд╣реИ, рдФрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдмрд╣реБрдд рджреВрд░ рд╣реИред рдФрд░ рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рдореИрдВрдиреЗ рдХрд▓ 32-рдмрд┐рдЯ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдпрд╣ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред ./configure auto && make рдХреБрдЫ рдЕрд╕реЗрдВрдмрд▓рд░ рдХреЛрдб ( sandybridge ) рдкрд░ рдмреБрд░реА рддрд░рд╣ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ reference рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВред

рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЪрд░рдг 0 numpy.distutils рдореЗрдВ BLIS рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдирд╛ рд╣реИ (рдЬреЛ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ), рдЪрд░рдг 1 рд▓рд┐рдирдХреНрд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрдо рд╕реЗ рдХрдо reference рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЪрд░рдг 2 рдХреБрдЫ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ, ..., рдХрджрдорд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдХреБрдЫред

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рдиреЗ рдкреАрдИрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкрд╛рда рдореБрдЭреЗ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИред рдХреМрди рд╕реЗ pip рд╕рдВрд╕реНрдХрд░рдг ABI рдЯреИрдЧ рд╡рд╛рд▓реЗ рдирд╛рдо рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВ? рдкрд┐рдк рдЖрдкрдХреЛ рдЗрди рджрд┐рдиреЛрдВ рдЦреБрдж рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдЧрд╛ред рдФрд░ рд╕рдВрд╕реНрдХрд░рдг> 1 (.5) рд╕рд╛рд▓ рдкреБрд░рд╛рдиреЗ рдиреЗ рднреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкрд╣рд┐рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред

@rgommers рдКрдкрд░ рдореЗрд░реЗ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдереЗред рдПрдордПрд╕рд╡реАрд╕реА рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдорд┐рдВрдЧрд╡рдкреА рдпрд╛ рдУрдкрдирдмреНрд▓рд╛рд╕ рд╡рд╣рд╛рдВ рдмрд╣реБрдд рдЕрд▓рдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ - рдХреНрд▓реИрдВрдЧ рд╢рд╛рдпрдж рдХрд╛рдо рдХрд░реЗрдЧрд╛ рд▓реЗрдХрд┐рди рд╕рд┐рдореНрд▓рд┐рдВрдХ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд▓рд┐рд╕ рдореЗрдВ рд░реЗрдкреЛ рдкреБрдирд░реНрдЧрдарди рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдореИрдВрдиреЗ рдЬреВрд▓рд┐рдпрд╛ рдпрд╛ numpy рдХреЗ рдкрд░реАрдХреНрд╖рдг рдмреНрд▓рд┐рд╕ рдХреЗ рдЦрд┐рд▓рд╛рдл рдирд╣реАрдВ рдЪрд▓рд╛рдП, рд▓реЗрдХрд┐рди рдмреНрд▓рд┐рд╕ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдерд╛ред 2014 рд╕реЗ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЪреАрдЬреЗрдВ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реБрдИрдВ, рдореБрдЭреЗ рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рд╡реЗ рдХрд░реЗрдВрдЧреЗред рдЕрднреА рднреА рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХреЛ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА рдЖрдкрдХреЗ рдкрд╛рд╕ рдмреНрд▓рд┐рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдкреНрд░рджрд░реНрд╢рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрджрд░реНрдн рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмреНрд▓рд┐рд╕ рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рдЪреАрдЬ рд╣реИ рдЬреЛ рдЕрднреА 32 рдмрд┐рдЯ x86 рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреА рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдирдП рдЕрд╕реЗрдВрдмрд▓реА рдорд╛рдЗрдХреНрд░реЛрдХрд░реНрдиреЗрд▓ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рдирд╣реАрдВ, рдиреАрдЪреЗ рдПрдирдЬреЗрд╕реНрдорд┐рде рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рджреЗрдЦреЗрдВред

@tkelman , 32 рдмрд┐рдЯ рдХреЗ рд▓рд┐рдП OpenBLAS рдХрд░реНрдиреЗрд▓ рдХреЗ рд╡рд┐рд╖рдп рдореЗрдВ https://github.com/numpy/numpy/issues/5479#issuecomment -185096062: рдПрдХ priv. рд╕рдВрджреЗрд╢ рдореБрдЭреЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рд╡рд░реНрдирд░ рд╕рд╛рд░ рд╕реЗ рдорд┐рд▓рд╛ рдерд╛, рдирдП рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯреЗрд▓ 32 рдмрд┐рдЯ рдХрд░реНрдиреЗрд▓ рдкрд░ рдХреЛрдИ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рддреЛ рдпрд╣ рдПрдХ рдРрд╕рд╛ рддрдереНрдп рд╣реИ рдЬрд┐рд╕рдХреЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рдлреЛрдХрд╕ рдЗрдВрдЯреЗрд▓ 64 рдмрд┐рдЯ рдФрд░ рдПрдЖрд░рдПрдо рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рд╣реИред

@tkelman , рд╕реА-рд░рдирдЯрд╛рдЗрдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд https://github.com/numpy/numpy/issues/5479#issuecomment -185055210: IMHO рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ ATLAS рдФрд░ OpenBLAS C-рд░рдирдЯрд╛рдЗрдо (рдлрд╝рд╛рдЗрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдФрд░ рд╣реАрдк) рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ ) _рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рд╕рд╣реА рд╣реВрдБ_ред рдпрд╣ рдПрдЯрд▓рд╕ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХрд╕рд╛рдЗрдЬ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди рдзреНрд╡рдЬ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд:

-Wl,--stack,16777216

ATLAS рдмрдирд╛рдо OpenBLAS рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ: @matthew-brett рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдЕрдм SSE2 рдЖрдзрд╛рд░рд┐рдд ATLAS DLL рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЗрд╕ рдПрдЯрд▓рд╕ рдмрд┐рд▓реНрдб рдХреА рддреБрд▓рдирд╛ рд╕реАрдкреАрдпреВ рд░рдирдЯрд╛рдЗрдо рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SSE2 рд╕рдХреНрд╖рдо рд▓рдХреНрд╖реНрдп (рдпрд╛ рдмрд╕ OPENBLAS_CORETYPE=NORTHWOOD - рдореВрд▓ рд░реВрдк рд╕реЗ PENTIUM4) рдХреЗ рд╡рд┐рд░реБрджреНрдз OpenBLAS рдмрд┐рд▓реНрдб рд╕реЗ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдмреЗрд╢рдХ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп OpenBLAS рдмрд┐рд▓реНрдб CPU рд░рдирдЯрд╛рдЗрдо рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ CPU рд╡реЗрд░рд┐рдПрдВрдЯ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдХрд╛рд░рдг рд╣реИ рдХрд┐ OpenBLAS ATLAS рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рдирдХрд╛рд░реА рд╣реИред рдПрдХ рдЕрдиреНрдп рдкреНрд░рд╢реНрди OpenBLAS рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХрд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХрддреНрд░рд┐рдд рдмреАрдПрд▓рдПрдПрд╕, рд▓реИрдкреИрдХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рднрдВрдбрд╛рд░ рдорджрдж рдХрд░ рд╕рдХреЗред

рдмреАрдПрд▓рдЖрдИрдПрд╕/рд▓реМ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд: рджрд┐рд▓рдЪрд╕реНрдк, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдЖрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪреНрдЪ рд▓рдЯрдХрд╛ рд╣реБрдЖ рдлрд▓ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░реЗ рд▓рд┐рдП рдПрдЯрд▓рд╕ рдФрд░ рдУрдкрдирдмреНрд▓рд╛рд╕ рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред

рд░рд╛рд▓реНрдл - рдкрд╛рдЗрдк 8 рдирдП рд╡рд┐рдВрдбреЛрдЬ рдПрдмреАрдЖрдИ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдкрд╣рд┐рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛, рдкрд╛рдЗрдк 7 рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдкрд┐рдк 7 рдФрд░ рдкрд┐рдк 8 рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЪреЗрддрд╛рд╡рдиреА рдХреЗ, рдмрд┐рдирд╛ рдПрдмреАрдЖрдИ рдЯреИрдЧ рдХреЗ рдкрд╣рд┐рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗред

рд╡рд╣рд╛рдБ рдЕрднреА рднреА рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрд╛рдЗрдк 7 рд╣реИрдВ, рдЗрд╕реЗ рдЕрдЧрд╕реНрдд 2015 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХрдо рд╕реЗ рдХрдо рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдВрдЧрдд рдирд╛рдо рд╕реЗ рдЪрд┐рдкрдХрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдмреАрдПрд▓рдЖрдИрдПрд╕ рдХреА рдЬрд╛рдВрдЪ рдкрд░ +1ред рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдХреНрдпрд╛ рд╣рдордиреЗ рдИрдЬрд┐рди рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ? рд╡реЗ рдЖрдВрд╢рд┐рдХ LAPACK рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдб рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрд╕реЗрдВрд╕ MPL2 рд╣реИред рдпрд╣ NumPy рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдмреАрдПрд▓рдЖрдИрдПрд╕ рд╕реАрдкреАрдпреВ рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЛрдб рд╕реЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдХреНрд╕рд░ рд╕рдВрджрд░реНрдн рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ рдЕрдЧрд░ рдЗрд╕реЗ рдПрд╡реАрдПрдХреНрд╕ рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдЬреЛ рдЕрднреА рднреА рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╣реИрдВред

рдЗрдпрд╛рди: рдпрд╣ рдПрдХ рд╕рд╛рд▓ рдпрд╛ рдЙрд╕рд╕реЗ рднреА рдкрд╣рд▓реЗ рдИрдЬрд┐рди рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреНрдп рд╣реИ: http://mingwpy.github.io/blas_lapack.html#eigen - рддреЛ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ numpy рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рдо рд╣реЛрдЧрд╛ред

рдФрд░ рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рдореИрдВрдиреЗ рдХрд▓ 32-рдмрд┐рдЯ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдпрд╣ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред ./configure auto && make рдХреБрдЫ рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЛрдб (рд╕реИрдВрдбреАрдмреНрд░рд┐рдЬ рдХреЗ рд▓рд┐рдП) рдкрд░ рдмреБрд░реА рддрд░рд╣ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ рд╕рдВрджрд░реНрдн рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВред

рдпрджрд┐ рдЖрдк config/ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ - рд╡рд┐рднрд┐рдиреНрди рдирд╛рдорд┐рдд "рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди" (рдЬреИрд╕реЗ "рд╕реИрдВрдбреАрдмреНрд░рд┐рдЬ", "рд╣реИрд╕рд╡реЗрд▓") рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдкреИрдХ рдХрд┐рдП рдЧрдП "рд╕реНрдЯрд╛рд░реНрдЯрд░" рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдкреВрд░реНрд╡-рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╢рд╛рдорд┐рд▓ рд╣реИ (рди рдХреЗрд╡рд▓ рд╕реАрдкреАрдпреВ-рдЯреНрдпреВрдирд┐рдВрдЧ-рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рд▓реЗрдХрд┐рди рдереНрд░реЗрдбрд┐рдВрдЧ рдореЛрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдЖрджрд┐)ред рдФрд░ "рд╕реИрдВрдбреАрдмреНрд░рд┐рдЬ" рдирд╛рдордХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдПрдХ x86-64 рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИред рдПрдХ рдмрдЧ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдСрдЯреЛ-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдиреЗ рдЗрд╕реЗ рдЪреБрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рд╛рдБ рдпрд╣ x86-32 :-) рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред BLIS 32-рдмрд┐рдЯ x86 рдХрд░реНрдиреЗрд▓ рдХреЗ рд╕рд╛рде рд╢рд┐рдк рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ (рджреЗрдЦреЗрдВ kernels/x86 ), рд╣рд╛рд▓рд╛рдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдордп рдХреЛрдИ рднреА рдкреНрд░реАрдкреИрдХреНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдирдП рд╡рд┐рдиреНрдпрд╛рд╕ рдмрдирд╛рдирд╛ рдЬреНрдпрд╛рджрд╛рддрд░ рддреБрдЪреНрдЫ рд╣реИ; рдЬрд╛рджреВ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ bli_kernel.h рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИ рдЬреЛ рдирд╛рдо рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрдВрддрд░рд┐рдХ рдХрд░реНрдиреЗрд▓ + рдХреБрдЫ рдмрдлрд░ рдЖрдХрд╛рд░ред рдпрджрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ x86-32 рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рд╣реИ рддреЛ рд╣рдо рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╕реЗ рдкреВрдЫрддрд╛рдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рднреА:

BLIS рдЗрд╕ рд╕рдордп рдХреЗрд╡рд▓ Linux рд╣реИ; OSX рдмрд┐рд▓реНрдб рд╕рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рдкреАрдЖрд░ рд╣реИ, рдФрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдмрд╣реБрдд рджреВрд░ рд╣реИ

рдКрдкрд░ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ, @tkelman рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХрд░ рд░рд╣реА рд╣реИ :-)

OpenBLAS 0.2.12 рдХреЗ рд╕рд╛рде рдкрд┐рдЫрд▓рд╛ рдХрдЪреНрдЪрд╛ рддреЗрд▓ test_dot рдмреЗрдВрдЪрдорд╛рд░реНрдХ:

In [2]: %timeit test_dot()
1 loop, best of 3: 449 ms per loop

(рдкрд┐рдЫрд▓реЗ рдкрд░рд┐рдгрд╛рдо рд╕реЗ) рдПрдордХреЗрдПрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ

In [9]: %timeit test_dot()
1 loop, best of 3: 764 ms per loop

64-рдмрд┐рдЯ рдПрдЯрд▓рд╕:

In [10]: %timeit test_dot()
1 loop, best of 3: 2.41 s per loop

рддреЛ рдЬрдм рдореИрдВ рд╕реАрд░рд┐рдпрд▓ рдореЗрдВ рдУрдкрдирдмреНрд▓рд╛рд╕ рдФрд░ рдПрдордХреЗрдПрд▓ (рдзрдиреНрдпрд╡рд╛рдж, рдХреЛрдВрдбрд╛) рдХреА рддреБрд▓рдирд╛ рд╣реИрд╕рд╡реЗрд▓ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рд╡реЗ рд╕рднреА рдбреАрдЬреАрдПрдордПрдо рдкрд░ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рдЕрдзрд┐рдХрддрдо 10-20% рдХреЗ рднреАрддрд░ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдПрдХ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╡рд┐рдВрдбреЛрдЬ рдбреАрдПрд▓ рдХреЛ рдХреНрд░реЙрд╕-рдХрдВрдкрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рд╣рдм рдкрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдмреБрд▓рдбреЛрдЬрд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЬреЛ рдареАрдХ рд╕реЗ рд▓рд┐рдВрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ https://github.com/flame/blis/pull/37#issuecomment-185480513, рдУрд╣ рд╡реЗрд▓) : https://github.com/tkelman/docker-mingw/blob/09c7cadd5d682066cea89b3b97bfe8ba783bbfd5/Dockerfile.opensuse

рдЖрдк рдЯреНрд░реИрд╡рд┐рд╕ рдХреЗ services: docker рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬреАрдердм рд░рд┐рд▓реАрдЬ/рдмрд┐рдВрдЯреНрд░реЗ/рдЬреЛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдирд░реА рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рддреЗ рд╣реИрдВред

рдореИрдВ рдмреАрдПрд▓рдЖрдИрдПрд╕ рд╕реАрдкреАрдпреВ рдбрд┐рдЯреЗрдХреНрд╢рди -> рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛрдб рджреЗрдЦ рд░рд╣рд╛ рдерд╛: https://raw.githubusercontent.com/flame/blis/master/build/auto-detect/cpuid_x86.c

рдпрд╣рд╛рдВ рдПрдХ рдкрд╛рдпрдерди рдкреБрдирд░реНрд▓реЗрдЦрди рд╣реИ, рдЬреЛ рдЙрдиреНрдирдд рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЙрджрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╣ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдУрдПрд╕ рд╕реА рдХреЛрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрд╡реАрдПрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ): https://gist.github.com/matthew-brett /рдП53778рдПрдл99рдмреА7062рд╕реАрд╕реА332рдбреА

рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдкрд░реАрдХреНрд╖рдг рдХреА рдЧрдИ рд╕рднреА рдорд╢реАрдиреЛрдВ рдкрд░, рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рджрдо 'рд╕рдВрджрд░реНрдн' рджреЗрддрд╛ рд╣реИ - рд╢рд╛рдпрдж рдЗрд╕рд▓рд┐рдП рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдкреБрд░рд╛рдиреА рдорд╢реАрдиреЗрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХреЛрдИ рдФрд░ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдореЗрд░реЗ рдмрд┐рд▓реНрдбрдмреЙрдЯ рдлрд╛рд░реНрдо рдХреЗ рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдПред

рд╕рдВрджрд░реНрдн рдмреАрдПрд▓рдЖрдИрдПрд╕ рдХреЗ рдЦрд┐рд▓рд╛рдл numpy рд╕рдВрдХрд▓рди, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд▓реИрдкреИрдХ рдХреЗ, рдореЗрд░реЗ рдХрдЪреНрдЪреЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрддрд╛ рд╣реИ:

In [6]: %timeit test_dot()
1 loop, best of 3: 16.2 s per loop

рдмрд╕ рджреЛ (1000, 1000) рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдбреЙрдЯ рдЙрддреНрдкрд╛рдж 12 рд╕реЗрдХрдВрдб рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдЯреЛрдиреА рдиреЗ рднреА рдкрд╛рдпрд╛, рд╕рдВрджрд░реНрдн рдмреАрдПрд▓рдЖрдИрдПрд╕ рд╣рдорд╛рд░реЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╣реИ, рд▓реИрдкреИрдХ_рд▓рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА numpy рдХреЗ рдиреЛ-рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрд┐рд▓реНрдб рдХреЗ рдЖрд╕рдкрд╛рд╕ред

рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдпрд╛ рддреЛ рдкреБрд░рд╛рдиреА рдорд╢реАрдиреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдпрд╛ рдЕрдзрд┐рдХ рдЙрджрд╛рд░ рд╕реАрдкреАрдпреВ рдбрд┐рдЯреЗрдХреНрд╢рди -> рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореИрдкрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рддрд╛рдХрд┐ рдорд╢реАрдиреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд░ рдЙрдЪрд┐рдд рдкреНрд░рджрд░реНрд╢рди рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рд╣рдо рдХрдм рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдирдП рдПрдЯрд▓рд╕ 64-рдмрд┐рдЯ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╡реНрд╣реАрд▓ рдКрдкрд░ рд╣реЛрдВрдЧреЗ? рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг? v1.10.2? рдХреНрдпрд╛ рд╡реЗ рдХреЗрд╡рд▓ рдкреАрдкреАрдЖрдИ рдпрд╛ рд╕реЛрд░реНрд╕ рдлреЛрд░реНрдЬ рдореЗрдВ рд╣реЛрдВрдЧреЗ? рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ? рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рдПрдХ рд╣реА рдорд╢реАрди рдкрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдЯрд▓рд╕ рдФрд░ рд╕рдВрджрд░реНрдн рдмреНрд▓рд┐рд╕ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдиреБрдкрд╛рдд рдХреНрдпрд╛ рдерд╛? рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ рдХрд┐ рд▓рдЧрднрдЧ 2 рдХреЗ рдХрд╛рд░рдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ? рдореБрдЭреЗ рдмреНрд▓рд┐рд╕ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдорд┐рд▓реА, рдореИрдВрдиреЗ рдЕрднреА рдареАрдХ рд╕реЗ рдЖрд░рдЯреАрдПрдлрдПрдо рдирд╣реАрдВ рдХрд┐рдпрд╛ (https://github.com/flame/blis/wiki/Multithreading), рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП 4 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдирд╡реА рд╡рд░реНрд░реНрд╕ рд╣реИрдВ . рдЗрд╕ рдкреИрдЪ рдХреЗ рд╕рд╛рде https://gist.github.com/0fc9497a75411fcc0ec5 рд╕рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП pthreads-рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдирд╛рдВрддрд░ рдмреНрд▓рд┐рд╕ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдФрд░ BLIS_JC_NT=1 BLIS_IC_NT=2 BLIS_JR_NT=2 BLIS_IR_NT=2 рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣реИрд╕рд╡реЗрд▓ рдмреНрд▓рд┐рд╕ рдореВрд▓ рд░реВрдк рд╕реЗ рдореЗрд░реА рдорд╢реАрди рдкрд░ рдПрдордХреЗрдПрд▓ рдФрд░ рдУрдкрдирдмреНрд▓рд╛рд╕ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдХреЗрд╡рд▓ BLIS_JR_NT рд╕реЗ 2 рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рд╕рдорд╛рдВрддрд░ рд╕рдВрджрд░реНрдн рдЖрдирдВрдж рдПрдЯрд▓рд╕ рддрдХ рдкрдХрдбрд╝рд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рддрд░реАрдХрд╛ рд╣реИ, рдФрд░ рдпрд╣ 3 рдзрд╛рдЧреЗ рдХреЗ рд╕рд╛рде рддреЗрдЬрд╝ рд╣реИред

@tkelman IMO рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк NumPy GitHub рд╡рд┐рдХреА рдкреГрд╖реНрдареЛрдВ рдореЗрдВ BLIS рдкрд░ рдЕрдкрдиреА рдкреНрд░рдЧрддрд┐ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ NumPy-BLIS-FLAME рд╡реНрд╣реАрд▓ (рдФрд░ рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ SciPy-BLIS-FLAME рд╡реНрд╣реАрд▓) рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП mingwpy рдЬреИрд╕реА рдпреЛрдЬрдирд╛ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@tkelman : рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд╣реВрдВ - рдЖрдкрдХрд╛ рдПрдЯрд▓рд╕ рдереНрд░реЗрдбреЗрдб рд╣реИ, рд╣реИ рдирд╛?
рдПрдХ рдФрд░ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реИ -msse2 рдпрд╛ reference рдмрд┐рд▓реНрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рдорд╛рди - рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдЕрдзрд┐рдХрддрдо рд╕рдВрдЧрдд рд╣реИ рдФрд░ рд╕рдВрдХрд▓рдХ рдХреЛ рдПрд╕рдПрд╕рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдореЗрдВ numpy-land рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрдиреНрдп рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╡реИрд╕реЗ рднреА рдиреНрдпреВрдирддрдо рд╕рдорд░реНрдерд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ SSE2 рддрдХ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ ...

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдлреНрд▓реЗрдо рдЕрднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдпрд╛ рдирд╣реАрдВ рдмрдирд╛рдо рд░реЗрдЧреБрд▓рд░ рд▓реИрдкреИрдХ -- рд╣рдо рдкреВрдЫрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╣рдореЗрдВ рдЗрд╕реЗ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдмреАрдПрд▓рдЖрдИрдПрд╕ рд╕рд╛рдорд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП :-)

рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рд▓рд┐рдП - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рди-рдЯрд╛рдЗрдо рдкрд░ рдЪреБрдиреЗ рдЧрдП рд╡рд┐рднрд┐рдиреНрди рдмреАрдПрд▓рдЖрдИрдПрд╕ рдХрд░реНрдиреЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд╣рд┐рдпрд╛ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдмреАрдПрд▓рдЖрдИрдПрд╕ рд╕рдВрджрд░реНрдн рд╡рд╛рд▓реА рдХрдИ рдорд╢реАрдиреЗрдВ рд╣реЛрдВрдЧреА, рдФрд░ рдЗрд╕рд▓рд┐рдП рдмрджрддрд░ рд╣реЛ рд░рд╣реА рд╣реИ 64-рдмрд┐рдЯ рдПрдЯрд▓рд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди, рднрд▓реЗ рд╣реА рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ 64-рдмрд┐рдЯ рдПрдЯрд▓рд╕ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм рд╣реИ (рдПрдЯреАрдПрд▓рдПрдПрд╕ рдХреЗ рд▓рд┐рдП)ред

рд▓реЗрдХрд┐рди - рдпрджрд┐ рд╕рдВрджрд░реНрдн рдирд┐рд░реНрдорд╛рдг 64-рдмрд┐рдЯ рдПрдЯрд▓рд╕ рд╕реЗ рддреЗрдЬ рд╣реИ - -msse2 рдХреЗ рд╕рд╛рде рдХрд╣реЗрдВ - рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ред

SSE2 64-рдмрд┐рдЯ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ рдЗрд╕рд▓рд┐рдП рд╕рдВрджрд░реНрдн рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП -mfpmath=sse -msse2 рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред

рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╣рдореЗрдВ рдЗрд╕реЗ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдмреАрдПрд▓рдЖрдИрдПрд╕ рд╕рд╛рдорд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП :-)

рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ (рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдХреНрдпрд╛ рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ "рдСрдХреНрдпреВрдкрд╛рдИ рдмреАрдПрд▓рдЖрдИрдПрд╕" рд╢реАрд░реНрд╖рдХ рджрд┐рдпрд╛ рдЬрд╛рдП, рдЬреЛ рдХрд┐ https://github.com/numpy/numpy/issues/5479#issuecomment-184472378 рдореЗрдВ рд▓реЙрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ @njsmith рдХреА рднрд╛рд╡рдирд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рд╣реИ?) . рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдПрдЯрд▓рд╕ рдкрд╣рд┐рдпреЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛, рднрд╡рд┐рд╖реНрдп рдХреЗ рдХрд╛рдо рдХреЛ рдирдП рдореБрджреНрджреЛрдВ рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд╣реВрдВ -- рдЖрдкрдХрд╛ рдПрдЯрд▓рд╕ рдереНрд░реЗрдбреЗрдб рд╣реИ, рд╣реИ рдирд╛?

рдореЗрд░рд╛ рдПрдЯрд▓рд╕ https://github.com/matthew-brett/np-wheel-builder/tree/d950904f19309db103e676d876ea681b6a6b882e/atlas-builds рд╕реЗ dll рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ 1 рд╕реЗ рдЕрдзрд┐рдХ рдереНрд░реЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред рдХреНрдпрд╛ рдореБрдЭреЗ рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ?

рдПрдХ рдФрд░ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реИ -msse2 рдпрд╛ reference рдмрд┐рд▓реНрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рдорд╛рди - рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдЕрдзрд┐рдХрддрдо рд╕рдВрдЧрдд рд╣реИ рдФрд░ рд╕рдВрдХрд▓рдХ рдХреЛ рдПрд╕рдПрд╕рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ

SSE2 x86_64 рдпреБрдХреНрддрд┐ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреЗрд╡рд▓ 32 рдмрд┐рдЯ рдкрд░ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрдЧрд╛ред рдЬреВрд▓рд┐рдпрд╛ рдореЗрдВ рд╣рдо рдЕрдкрдиреЗ 32 рдмрд┐рдЯ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП -march=pentium4 рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдлреНрд▓реЗрдо рдЕрднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдпрд╛ рдирд╣реАрдВ рдмрдирд╛рдо рд░реЗрдЧреБрд▓рд░ рд▓реИрдкреИрдХ -- рд╣рдо рдкреВрдЫрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рдЕрднреА рддрдХ рд▓реМ рдХреЛ рдирд╣реАрдВ рдЫреБрдЖ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЦреЗрд▓рдиреЗ рд▓рд╛рдпрдХ рд╣реИред рдЕрдВрддрддрдГ рдЖрдк mingwpy рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдиреНрдбреЛрдЬрд╝ рдХреНрд▓реИрдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреИрдХрдЕрдк рдпреЛрдЬрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред (рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ scipy рдореЗрдВ рдлреЛрд░рдЯреНрд░рд╛рди рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╢рд╛рдпрдж рдирд╣реАрдВ)

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ: рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ (рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ) dunnington рдХрд░реНрдиреЗрд▓ рдХреЛ рдХреЗрд╡рд▓ SSE3 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдХрд┐ рд╕реНрдЯреАрдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХрд╛ рджрд╛рд╡рд╛ 99.94% рдорд╢реАрдиреЛрдВ (SSE2 рдХреЗ рд▓рд┐рдП 99.99% рдмрдирд╛рдо) рдкрд░ рдореМрдЬреВрдж рд╣реИред рддреЛ рдпрд╣ рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд┐рд╕реНрдЯрдо рдЗрд╕реЗ рд╕рдВрднрд╛рд▓ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдЙрдирдХреЗ рд╕реАрдкреАрдпреВ рдХреЛрдб рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИ, рдЖрдкрдХреЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдкрд░реАрдХреНрд╖рдг рдорд╢реАрдиреЛрдВ рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧреИрд░-рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рдкреВрд░реНрдг рд╕реЗрдЯ рд╣реИ, рдпрд╛ рдореЗрд░реА рд╕рдордЭ рдореЗрдВ рдЙрд╕ рдХрд░реНрдиреЗрд▓ рдХреА рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕рд╛рд░ рдореЗрдВ рд╕реАрдкреАрдпреВ рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЛрдб рдХрд╛ рдПрдХ рдкрд╛рдпрдерди рд░реАрд░рд╛рдЗрдЯ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЪрдпрди рд░реВрдврд╝рд┐рд╡рд╛рджреА рд╣реИ, рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЬрд╣рд╛рдВ рдПрдХ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЦреБрдж рдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, BLIS рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдПрдХ site.cfg рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ:

[blas]
blas_libs = numpy-blis-reference
library_dirs = c:\code\blis\test\lib
include_dirs = c:\code\blis\test\include

рдореИрдВрдиреЗ рдпрд╣ рднреА рдХрд┐рдпрд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рд╕реБрдиреНрди 1.10.4 рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдкреИрдЪ):

diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
index d7eb49e..3cb7f95 100644
--- a/numpy/distutils/system_info.py
+++ b/numpy/distutils/system_info.py
@@ -1680,18 +1680,11 @@ class blas_info(system_info):
         info = self.check_libs(lib_dirs, blas_libs, [])
         if info is None:
             return
-        if platform.system() == 'Windows':
-            # The check for windows is needed because has_cblas uses the
-            # same compiler that was used to compile Python and msvc is
-            # often not installed when mingw is being used. This rough
-            # treatment is not desirable, but windows is tricky.
-            info['language'] = 'f77'  # XXX: is it generally true?
-        else:
-            lib = self.has_cblas(info)
-            if lib is not None:
-                info['language'] = 'c'
-                info['libraries'] = [lib]
-                info['define_macros'] = [('HAVE_CBLAS', None)]
+        lib = self.has_cblas(info)
+        if lib is not None:
+            info['language'] = 'c'
+            info['libraries'] = [lib]
+            info['define_macros'] = [('HAVE_CBLAS', None)]
         self.set_info(**info)

     def has_cblas(self, info):

рд╕реАрдкреАрдпреВ рдХреЗ рд░рди-рдЯрд╛рдЗрдо рдбрд┐рдЯреЗрдХреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛: https://github.com/matthew-brett/x86cpu

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ numpy рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдПрдХрд▓ рд╕рдВрдХрд▓рд┐рдд cpuinfo рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рд╡реНрд╣реАрд▓ рдХреЗ рд▓рд┐рдП numpy рдкреЗрдбрд╝ рдореЗрдВ рднреА рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдирдорд╕реНрддреЗред рдПрдХ рд╡рд┐рдЪрд╛рд░: рдпрджрд┐ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рд╡реЗрдХреНрдЯрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд┐рдд рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЦрд╕реНрддрд╛ рдкрд╣рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╡рд┐рднрд┐рдиреНрди PyPI рдкреИрдХреЗрдЬ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

  1. https://pypi.python.org/pypi/numpy/1.8.1
  2. https://pypi.python.org/pypi/numpy-mkl
  3. https://pypi.python.org/pypi/numpy-atlas

рдореИрдВрдиреЗ рдЧреЛрд╣рд▓рдХреЗ рдХреЗ рдкрд╣рд┐рдпреЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 2 рдкрдВрдЬреАрдХреГрдд рдХрд┐рдП, рд▓реЗрдХрд┐рди рдкреАрдИрдкреАрдЖрдИ рдиреЗ рдЙрдиреНрд╣реЗрдВ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ред рдпреВрдЖрд░рдПрд▓ рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

gh-7294 numpy.distutils рдореЗрдВ BLIS рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдХреЛрдИ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХреЗ рдХрд┐ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╡рд╣рд╛рдБ рдЕрднреА рднреА рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрд╛рдЗрдк 7 рд╣реИрдВ, рдЗрд╕реЗ рдЕрдЧрд╕реНрдд 2015 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХрдо рд╕реЗ рдХрдо рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдВрдЧрдд рдирд╛рдо рд╕реЗ рдЪрд┐рдкрдХрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдкрд┐рдк 7.0 рдЕрднреА рдкреБрд░рд╛рдирд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

... рдмреАрдПрд▓рдЖрдИрдПрд╕ 32-рдмрд┐рдЯ x86 рдХрд░реНрдиреЗрд▓ (рдХрд░реНрдиреЗрд▓/x86 рджреЗрдЦреЗрдВ) рдХреЗ рд╕рд╛рде рд╢рд┐рдк рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдордп рдХреЛрдИ рднреА рдкреНрд░реАрдкреИрдХреЗрдЬреНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдпрд╣ рдЗрд╕реЗ рд╕рдордЭрд╛рддрд╛ рд╣реИ, рдзрдиреНрдпрд╡рд╛рджред

рдзрдиреНрдпрд╡рд╛рдж рд░рд╛рд▓реНрдл - рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдБрдЧрд╛ред

рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдПрдХ рдирдП рдзрд╛рдЧреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдмреАрдПрд▓рдЖрдИрдПрд╕ рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рд╣рдо рд╕рднреА рдХреА рдЬрд░реВрд░рдд рд╣реИ рдПрдХ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдЬрд┐рд╕рдореЗрдВ рдПрд╕рдПрд╕рдИ 2 рд╣реИ, рдФрд░ рдПрдХ рдорд╢реАрди рдЬреЛ рдПрд╕рдПрд╕рдИ 3 рд╣реИ, рдЬреЛ рдПрдЯрд▓рд╕ 64-рдмрд┐рдЯ рд╡рд┐рдВрдбреЛрдЬ рдмрд┐рд▓реНрдб рд╕реЗ рдХреБрдЫ рд╣рдж рддрдХ рддреЗрдЬ рдХрд╛рдо рдХрд░рддреА рд╣реИред

рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдПрдХ рдирдП рдзрд╛рдЧреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдмреАрдПрд▓рдЖрдИрдПрд╕ рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рд╣реИрдВред

рдПрд╣, рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреА рджреАрд╡рд╛рд░ рдкрд░ рдирд┐рд░реНрдорд╛рдг рдлреЗрдВрдХрдиреЗ рдХреА рдЕрднреА рднреА рдПрдХ рдЕрдЪреНрдЫреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред рд╣рдордиреЗ рдЕрднреА рддрдХ Linux рдпрд╛ OS X рдкрд░ BLIS рдХрд╛ рдЧрдВрднреАрд░ рдкрд░реАрдХреНрд╖рдг рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рддреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░, рдЬрд╣рд╛рдВ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдПрдлрдПрдХреНрдпреВ рдХрд╣рддрд╛ рд╣реИ :

Support for building in Windows is also a long-term goal of ours. 
The Windows build system exists as a separate entity within the top-level
windows directory. However, this feature is still experimental and should not 
(yet) be expected to work reliably. Please contact the developers on the blis-devel 
mailing list for the latest on the Windows build system.

, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдЬрд▓реНрджреА рд╣реИред рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рднреА рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИред

рдЬрд╝рд░реВрд░ - рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЯреЛрдиреА рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рд╣реИ, рдХреНрд░реЙрд╕-рдХрдВрдкрд╛рдЗрд▓рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдмреАрдПрд▓рдЖрдИрдПрд╕ рдмрдирд╛рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдЪреАрдЬ - рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ - рдЙрдирдХреА рдПрдордПрд╕рд╡реАрд╕реА рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬ рд╡реНрд╣реАрд▓ рдХреЗ рд▓рд┐рдП рдмреАрдПрд▓рдЖрдИрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдХрдИ рд▓рд┐рдирдХреНрд╕ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░реЗред

рдореИрдВ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐, рдЕрдЧрд░ рд╣рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдФрд╕рдд рдкреНрд░рджрд░реНрд╢рди рдмрдврд╝рд╛рд╡рд╛ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдлрд┐рд▓рд╣рд╛рд▓, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдо рдмрд╣реБрдд рдирдП рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╣реИрдВред рдпрд╣ рдХреБрдЫ рдирдП рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдорд╛рдореВрд▓реА рд░реВрдк рд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдРрд╕рд╛ рдерд╛ред

рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рднреА рд╕рд╣рдордд рд╣реВрдВред рдХреИрд╕рд╛ рд░рд╣реЗрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдЙрд╕реЗ рджрд┐рдЦрд╛рдПрдБ

рдП) рд╕рднреА рд╕реБрдиреНрди рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд╕рднреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдкрд╛рд╕ рд╣реЛрддреЗ рд╣реИрдВ;
рдмреА) рд╕рднреА рд╕реБрдиреНрди рдФрд░ рддреАрдЦреЗ рдкрд░реАрдХреНрд╖рдг рдХрдИ рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкрд╛рд╕ рд╣реЛрддреЗ рд╣реИрдВ?

рд╣рдо рд░рди-рдЯрд╛рдЗрдо рдкрд░ BLIS рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдЪрдпрди рдпреЛрдЧреНрдп рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рдЖрдзреБрдирд┐рдХ рдорд╢реАрди рдкрд░ рд╕рднреА рдХрд░реНрдиреЗрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдХреБрдЫ рдкреБрд░рд╛рдиреА рдЦрд░рд╛рдм рдорд╢реАрдиреЛрдВ рдкрд░ рднреА рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬ рд╡реНрд╣реАрд▓ рдХреЗ рд▓рд┐рдП рдмреАрдПрд▓рдЖрдИрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдХрдИ рд▓рд┐рдирдХреНрд╕ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░реЗред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ manylinux рдХрдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкреВрд░реНрдг рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рд╣реИрдВ рдФрд░ рд╕рд╛рде рд╣реА рдРрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднреА рд╣реИрдВ рдЬреЛ рдЪреАрдЬреЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдЗрд╕ numpy + BLAS/LAPACK рд╕рдВрджрд░реНрдн рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░реЗрдВ, рдЖрдЗрдП рдкрд╣рд▓реЗ рдкреВрд░реА рдХрдИ рд▓рд┐рдирдХреНрд╕ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рджреЗрдЦреЗрдВ :)

рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкреНрд░рд┐рдп рд╣реИрдВ:

1) рдПрдХ рдкреВрд░реНрдг-рд╕реНрдЯреИрдХ рд╕рдорд╛рдзрд╛рди (рдУрдкрдирдмреНрд▓рд╛рд╕/рдПрдЯреАрдПрд▓рдПрдПрд╕/рдмреАрдПрд▓рдЖрдИрдПрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рд╛рде рдорд┐рдВрдЧрд╡рдкреА рдХреА рдЬрд░реВрд░рдд рд╣реИ)
2) рд╕реНрдЯреЙрдкрдЧреИрдк рдмрд╛рдЗрдирд░реА рд╡реНрд╣реАрд▓реНрд╕ (рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдкрдХреЗ рдПрдЯрд▓рд╕ рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рдКрдкрд░ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ)
3) (1) рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╡реГрджреНрдзрд┐ред рдпрд╣реАрдВ рдкрд░ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдЖ рд╕рдХрддрд╛ рд╣реИред

рддреЛ рдЗрдореНрд╣реЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдХреЗ рд╕рд╛рде рдмрдбрд╝реА рднреАрдбрд╝ рдореЗрдВ рд╣реЛрдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐, рдЕрдЧрд░ рд╣рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдФрд╕рдд рдкреНрд░рджрд░реНрд╢рди рдмрдврд╝рд╛рд╡рд╛ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдмреАрдПрд▓рдЖрдИрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдлрд┐рд▓рд╣рд╛рд▓, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдо рдмрд╣реБрдд рдирдП рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╣реИрдВред рдпрд╣ рдХреБрдЫ рдирдП рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдорд╛рдореВрд▓реА рд░реВрдк рд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдРрд╕рд╛ рдерд╛ред

рд╕рд╣рдордд рд╣реВрдВ, рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рджреЗрдЦрдирд╛ рдереЛрдбрд╝рд╛ рдХрдард┐рди рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рддрдирд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рднреА рд╕рд╣рдордд рд╣реВрдВред рдХреИрд╕рд╛ рд░рд╣реЗрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдЙрд╕реЗ рджрд┐рдЦрд╛рдПрдБ

рдП) рд╕рднреА рд╕реБрдиреНрди рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд╕рднреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдкрд╛рд╕ рд╣реЛрддреЗ рд╣реИрдВ;
рдмреА) рд╕рднреА рд╕реБрдиреНрди рдФрд░ рддреАрдЦреЗ рдкрд░реАрдХреНрд╖рдг рдХрдИ рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкрд╛рд╕ рд╣реЛрддреЗ рд╣реИрдВ?

рдпрд╣ рдЕрдЪреНрдЫрд╛ рд░рд╣реЗрдЧрд╛ред scikit-learn рдХреЛ рднреА рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╕рдордЭрджрд╛рд░реА рд╣реЛрдЧреА, рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг linalg рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдмреНрд▓рд┐рд╕ рдФрд░ рд▓рд┐рдмрдлреНрд▓реЗрдо рдПрд╕реАрдПрдордПрд▓ рдХреЛрдбрдмреЗрд╕ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

http://developer.amd.com/community/blog/2015/08/07/open-source-strikes-again-accelerated-math-libraries-at-amd/
http://developer.amd.com/tools-and-sdks/opencl-zone/acl-amd-compute-libraries/

рдлрд┐рд░ рднреА: рдХрдИ рд╕реАрдкреАрдпреВ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдордПрд╕рд╡реАрд╕реА рдпрд╛ рдорд┐рдВрдЧрд╡рдкреА рдХреЗ рд╕рд╛рде numpy/scipy рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП 4 рдЕрд▓рдЧ-рдЕрд▓рдЧ рддреНрд╡рд░рд┐рдд рдмреАрдПрд▓рдПрдПрд╕/рд▓реИрдкреИрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ: рдкреЗрдВрдЯрд┐рдпрдо 4 рд╕реНрдХрд╛рдИрд▓реЗрдХ рддрдХ?

рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ @carlk , рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ acml рдЫреЛрдбрд╝рдиреЗ рдФрд░ acl рдХреЛ рдЦреЛрд▓рдиреЗ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ blis/libflame рдЕрдкрдирд╛рдиреЗ рдХреА рдпрд╛рдж рдирд╣реАрдВ рдЖрдИред рдмреАрдПрд╕рдбреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИ! рдХреНрдпрд╛ рд╕реБрдиреНрди рдФрд░ рдЬреВрд▓рд┐рдпрд╛ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрд╕реНрдЯрд┐рди рдореЗрдВ рдПрдПрдордбреА рдФрд░ рдПрд╕рдкреАрд╕реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рд╣реИ?

рдореИрдВ рдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд╣рд░ msys2 рдФрд░ рд╣реИрд╕рд╡реЗрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ libblis.a рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдФрд░ рдХрд░реНрдиреЗрд▓ рд╕рд┐рдореНрд▓рд┐рдВрдХ рдХреЛ рдкреИрдЪ рдХрд░рдХреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ libflame рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрд╛ - рдореБрдЭреЗ рд╡рд╣реА "рддрд░реНрдХ рд╕реВрдЪреА рд▓рдВрдмреА" рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рдореЗрд░реА рдкрд░рдорд╛рдирдВрдж-рдЪрд░реНрдЪрд╛ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдкреЛрд╕реНрдЯред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрд╛ рдХрд┐ рд▓реИрдкреИрдХ рд╕реЗ libblis.a рд╕реЗ рдХреИрд╕реЗ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдмрд╣реБрдд рдореЗрд╣рдирдд рдирд╣реАрдВ рдХреАред

рдПрдордХреЗрдПрд▓ рдХреЗ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рд╕рд╛рде, рдХреНрдпрд╛ рдкреАрдкреАрдЖрдИ рдкрд░ рдПрдордХреЗрдПрд▓ рд╡реНрд╣реАрд▓ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдХреНрдпрд╛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрд╕рдВрдЧрдд рд╣реИрдВ? рдпрд╛ рдЗрдлреЛрд░реНрдЯ рдХреЗ рдмрд┐рдирд╛ рд╕рд┐рдкреНрдкреА рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ?

рдПрдХ рдореБрджреНрджрд╛, рдФрд░ рдпрд╣ рд╢рд╛рдпрдж scipy рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ scipy рдореЗрдВ рд╢реЗрд╖ рдлреЛрд░рдЯреНрд░рд╛рди рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВред рдиреЛрдм рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдореЗрд░реЗ рд▓рд┐рдП рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлреЛрд░рдЯреНрд░рд╛рди, рдФрд░ рдПрдХ рдореБрдлреНрдд рдорд▓реНрдЯреАрдкреНрд▓рд╛рдлреНрдлрд╝реНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреА рдХрдореА, рдпрд╣рд╛рдВ рдЕрд╕рд▓реА рдореБрджреНрджрд╛ рд╣реИред рдХреНрдпрд╛ рдорд┐рдВрдЧрд╡рдкреА рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣рд▓ рдХрд░рдирд╛ рдирд╣реАрдВ рд╣реИред рдпрд╛ рддреЛ рдореБрдлреНрдд рдПрдордХреЗрдПрд▓ рдпрд╛ рдХреБрдЫ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЬрд╛рджреВ рдПрд╕реАрдПрд▓ рдмреНрд▓рд┐рд╕/рд▓реМ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рд╕реА-рдХрдВрдкрд╛рдЗрд▓рд░ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ * .f рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдерд╛ред

@mikofski , рд╕реБрдирдХрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛, рдХрд┐ рдЖрдирдВрдж рдХреЛ msys2 рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рд▓рд┐рдмрдлреНрд▓реЗрдо рдХреЗ рд▓рд┐рдП рднреА рд╕рд╣реА рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд▓реИрдкреИрдХ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП libflame рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ _рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдПрдХ рдПрдордПрд╕рд╡реАрд╕реА рд╕рдВрдХрд▓рд┐рдд numpy рд╣реЛ рдФрд░ рдЗрд╕реЗ рдПрдХ рдорд┐рдВрдЧрд╡рдкреА рд╕рдВрдХрд▓рд┐рдд scipy рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд▓рдВрдмреЗ рдбрдмрд▓реНрд╕ == рдбрдмрд▓ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЬреАрд╕реАрд╕реА рдЭрдВрдбреЗ рдореЗрдВ -mlong-double-64 рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред

рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЬреАрд╕реАрд╕реА рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрдирд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдореИрдВ рдПрдХ рд╕рдкреНрддрд╛рд╣ рд╕реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдкрд░ рдЦреЗрд▓ рд░рд╣рд╛ рд╣реВрдВ :(

рдореИрдВ рдХрд▓ scipy рдкрд╣рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдКрдВрдЧрд╛ред рдпреЗ @matthew-brett рдХреЗ рд╕реБрдиреНрди рдкрд╣рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдПрдЯрд▓рд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрдВрдЧреЗред

рдлрд┐рд░ рднреА, рдореИрдВ рдЕрднреА OpenBLAS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реВрдВред

рдПрдХ рдореБрджреНрджрд╛, рдФрд░ рдпрд╣ рд╢рд╛рдпрдж scipy рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ scipy рдореЗрдВ рд╢реЗрд╖ рдлреЛрд░рдЯреНрд░рд╛рди рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВред рдиреЛрдм рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдФрд░ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рдХреЛрдб рд╣реИред рдФрд░ рдпрд╣ рд╕рд┐рд░реНрдл BLAS/LAPACK рдирд╣реАрдВ рд╣реИ - рдмрд╣реБрдд рд╕рд╛рд░реЗ scipy.sparse.linalg , scipy.linalg , scipy.special рдФрд░ scipy.interpolate рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдлреЛрд░рдЯреНрд░рд╛рди рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлреЛрд░рдЯреНрд░рд╛рди рдХреЛрдб рдХреЗ рд╕рд╛рде Scipy рдПрдХрдорд╛рддреНрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИ, bvp_solver рдЬреИрд╕реЗ рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд▓реЛрдЧреЛрдВ рдХреЗ рдЕрдкрдиреЗ рдлреЛрд░рдЯреНрд░рд╛рди рдХреЛрдб рднреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ f2py рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯрд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрд╛рд░реНрд▓ рдХреЛ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ред

рдлрд┐рд░ рднреА: рдХрдИ рд╕реАрдкреАрдпреВ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдордПрд╕рд╡реАрд╕реА рдпрд╛ рдорд┐рдВрдЧрд╡рдкреА рдХреЗ рд╕рд╛рде numpy/scipy рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП 4 рдЕрд▓рдЧ-рдЕрд▓рдЧ рддреНрд╡рд░рд┐рдд рдмреАрдПрд▓рдПрдПрд╕/рд▓реИрдкреИрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ: рдкреЗрдВрдЯрд┐рдпрдо 4 рд╕реНрдХрд╛рдИрд▓реЗрдХ рддрдХ?

рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рднреНрдп рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдирд┐рд░реНрдорд╛рдг/рдкрд░реАрдХреНрд╖рдг/рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдврд╛рдВрдЪреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рдореЗрдВ рдмрд╣реБрдд рдкреБрд░рд╛рдиреЗ рд╕реАрдкреАрдпреВ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕реЗ рдкрд░реЗрд╢рд╛рди рд╣реЛрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ (рдЬрдм рддрдХ рдЪреАрдЬреЗрдВ рд╡рд╣рд╛рдВ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ рддреЛ рдпрд╣ рдареАрдХ рд╣реИ) рдФрд░ рдПрдордПрд╕рд╡реАрд╕реА рдХреЗ рд╕рд╛рде рднреА рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЗрд╕реЗ рдареАрдХ рд╕реЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рдо рд╣реЛрдЧрд╛ред

@rgommers рдзрдиреНрдпрд╡рд╛рдж!

рдирдорд╕реНрддреЗред рдПрдХ рд╡рд┐рдЪрд╛рд░: рдпрджрд┐ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рд╡реЗрдХреНрдЯрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд┐рдд рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЦрд╕реНрддрд╛ рдкрд╣рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╡рд┐рднрд┐рдиреНрди PyPI рдкреИрдХреЗрдЬ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

https://pypi.python.org/pypi/numpy/1.8.1
https://pypi.python.org/pypi/numpy-mkl
https://pypi.python.org/pypi/numpy-atlas

рдореИрдВрдиреЗ рдЧреЛрд╣рд▓рдХреЗ рдХреЗ рдкрд╣рд┐рдпреЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 2 рдкрдВрдЬреАрдХреГрдд рдХрд┐рдП, рд▓реЗрдХрд┐рди рдкреАрдИрдкреАрдЖрдИ рдиреЗ рдЙрдиреНрд╣реЗрдВ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ред рдпреВрдЖрд░рдПрд▓ рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

@hickford рдХреГрдкрдпрд╛ рдРрд╕рд╛ рдордд рдХрд░реЛред рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЛ рдкреБрдирд░реНрд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдордХреЗрдПрд▓ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЛ рддреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рди рд╣реЛ), рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рд╕рд╣реА рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдо рдЕрддрд┐рд░рд┐рдХреНрдд ( numpy[atlas] , numpy[openblas] рдЖрджрд┐) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдЫ рд╕реНрд╡рд╛рдж рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рд╛рде рд╣реА, рдкреАрдкреАрдкреАрдЖрдИ рдкрд░ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдкрд╣рд┐рдпреЛрдВ рдХреЛ рдмрд┐рдирд╛ рдкреВрдЫреЗ рдкреБрдирд░реНрд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рд╢рд╛рдпрдж рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ ....

Mingwpy рдФрд░ рдХреЛрдИ рднреА рдлреЛрд░рдЯреНрд░рд╛рди рдореБрджреНрджреЗ рдЬреЛ cpython рдХреЗ рд╕рдорд╛рди c рд░рдирдЯрд╛рдЗрдо рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ, @carlkl рдкрд░ рд╕реАрдорд┐рдд рд╣реИрдВ, BLIS рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдХрдо рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣рд▓ рд╣реЛрддреА рд╣реИрдВ рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВрдиреЗ рдЕрднреА BLIS рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдордп рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди #7294 рджреЗрдЦреЗрдВред

рдЯреЛрдиреА - рдЖрдкрдХреА рд╕рднреА рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдЕрдореВрд▓реНрдп рд░рд╣рд╛ рд╣реИред

рдореИрдВрдиреЗ 64-рдмрд┐рдЯреНрд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ рдПрдЯрд▓рд╕ (3.11.38) рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЬреЛрдбрд╝рд╛

https://github.com/matthew-brett/np-wheel-builder

рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ 3.11.38 рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдПрдХ рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ (рдмрд┐рдирд╛ рдкрдврд╝реЗ) рдирд┐рд░реНрдорд╛рдг рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ 3.10.1 рд╕реЗ рдереЛрдбрд╝рд╛ рддреЗрдЬ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣ рдореЗрд░реЗ рд╕рд╛рдзрд╛рд░рдг рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд░ рд╣реИ:

In [2]: %timeit test_dot()
1 loop, best of 3: 1.65 s per loop

рдкрд╣рд▓реЗ рдХреЗ 3.10.1 рдмрд┐рд▓реНрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ (рдКрдкрд░ рджреЗрдЦреЗрдВ):

In [10]: %timeit test_dot()
1 loop, best of 3: 2.41 s per loop

@tkelman - рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрд┐рд▓реНрдб рдХреЛ рдЬреВрд▓рд┐рдпрд╛ рдкрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдПрдордХреЗрдПрд▓ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдкрд░ рдПрдХ рдкреВрд░реНрд╡ рдиреЛрдЯ рдХреЗ рд╕рд╛рде рдпрд╣рд╛рдВ рдХреВрджрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ - рдЗрдВрдЯреЗрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ
рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдЬрд┐рд╕реЗ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рднреА рдХреЗ рд▓рд┐рдП рдореБрдлрд╝реНрдд рд╣реИ ...
2 рдорд╛рд░реНрдЪ 2016 рдХреЛ рдЕрдкрд░рд╛рд╣реНрди 3:08 рдмрдЬреЗ, "рдореИрдереНрдпреВ рдмреНрд░реЗрдЯ" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореИрдВрдиреЗ 64-рдмрд┐рдЯреНрд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ рдПрдЯрд▓рд╕ (3.11.38) рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЬреЛрдбрд╝рд╛

https://github.com/matthew-brett/np-wheel-builder

3.11.38 . рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдПрдХ рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ (рдмрд┐рдирд╛ рдкрд┐рд░реЛрдпрд╛ рд╣реБрдЖ) рдирд┐рд░реНрдорд╛рдг рд╣реИ
рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░, рд▓реЗрдХрд┐рди рдпрд╣ 3.10.1 рд╕реЗ рдереЛрдбрд╝рд╛ рддреЗрдЬ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣ рдореЗрд░реЗ рд╕рд░рд▓ рдкрд░ рд╣реИ
рддрд▓ рдЪрд┐рд╣реНрди:

рдореЗрдВ [2]: %timeit test_dot()
1 рд▓реВрдк, рд╕рд░реНрд╡реЛрддреНрддрдо 3: 1.65 рд╕реЗрдХреЗрдВрдб рдкреНрд░рддрд┐ рд▓реВрдк

рдкрд╣рд▓реЗ рдХреЗ 3.10.1 рдмрд┐рд▓реНрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ (рдКрдкрд░ рджреЗрдЦреЗрдВ):

[10] рдореЗрдВ: %timeit test_dot()
1 рд▓реВрдк, рд╕рд░реНрд╡реЛрддреНрддрдо 3: 2.41 s рдкреНрд░рддрд┐ рд▓реВрдк

@tkelman https://github.com/tkelman - рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрд┐рд▓реНрдб рдХреЛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЬреВрд▓рд┐рдпрд╛?

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/numpy/numpy/issues/5479#issuecomment -191431331ред

@mrslezak - рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЗрдВрдЯреЗрд▓ рдкрд░ рдореБрдХрджрдорд╛ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдкреБрдирд░реНрд╡рд┐рддрд░рдгрдХрд░реНрддрд╛ рдХреЛ рдХрд┐рд╕реА рднреА рдХрд╛рдиреВрдиреА рд╢реБрд▓реНрдХ рдХреЗ рд▓рд┐рдП рдЙрддреНрддрд░рджрд╛рдпреА рдмрдирд╛рддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, рдкрд░рд┐рдгрд╛рдореА рдмрд╛рдЗрдирд░реА рдмреАрдПрд╕рдбреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред рджреЗрдЦреЗрдВ: http://mingwpy.github.io/blas_lapack.html#intel -math-kernel-library

рдХреНрдпрд╛ рдЗрд╕реЗ 'рдмрд╢рд░реНрддреЗ рдЬреИрд╕рд╛ рд╣реИ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рджрд╛рдпрд┐рддреНрд╡ рдХреЗ' рдЬреЛрдбрд╝рдХрд░ рдЯрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдореМрджреНрд░рд┐рдХ рдиреБрдХрд╕рд╛рди рдЬреЛ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ' рдпрд╛ рдЗрд╕рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХреЛрдИ рдЪреАрдЬ?
2 рдорд╛рд░реНрдЪ 2016 рдХреЛ рд╢рд╛рдо 6:22 рдмрдЬреЗ, "рдореИрдереНрдпреВ рдмреНрд░реЗрдЯ" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

@mrslezak https://github.com/mrslezak - рд▓рд╛рдЗрд╕реЗрдВрд╕ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рдкреБрдирд░реНрд╡рд┐рддрд░рдг, рд▓реЗрдХрд┐рди рдкреБрдирд░реНрд╡рд┐рддрд░рдгрдХрд░реНрддрд╛ рдХреЛ рдХрд┐рд╕реА рднреА рдХрд╛рдиреВрдиреА рд╢реБрд▓реНрдХ рдХреЗ рд▓рд┐рдП рдЙрддреНрддрд░рджрд╛рдпреА рдмрдирд╛рддрд╛ рд╣реИ рдпрджрд┐
рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЗрдВрдЯреЗрд▓ рдкрд░ рдореБрдХрджрдорд╛ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░рд┐рдгрд╛рдореА
рдмрд╛рдЗрдирд░реА рдмреАрдПрд╕рдбреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред рджреЗрдЦреЛ:
http://mingwpy.github.io/blas_lapack.html#intel -math-kernel-library

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/numpy/numpy/issues/5479#issuecomment -191505500ред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдЗрдВрдЯреЗрд▓ рдХреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рд▓рд┐рдП рд╕рд╣рдордд рд╣реЛрдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрдВрдЯреЗрд▓ рдХрд╛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╡реЗ рдореБрдХрджрдорд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдЙрдирдХреА рдХрд╛рдиреВрдиреА рдлреАрд╕ рдХреЗ рд▓рд┐рдП рдЙрддреНрддрд░рджрд╛рдпреА рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╕рдордЭреМрддреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрдВрдЯреЗрд▓ рдкрд░ рдореБрдХрджрдорд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдЧрд░ рд╡реЗ рдЗрдВрдЯреЗрд▓ рдкрд░ рдореБрдХрджрдорд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрдВрдЯреЗрд▓ рд╣рдорд╕реЗ рдкреИрд╕реЗ рдорд╛рдВрдЧрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЙрди рд╢реБрд▓реНрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдореБрдХрджрдорд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА - рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рдКрдкрд░ рдбрд╛рд▓рддреЗ рд╣реБрдП рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╣рдореЗрдВ рдмреАрдПрд╕рдбреА рд╕реЗ рдФрд░ рднреА рдЖрдЧреЗ рд▓реЗ рдЬрд╛рдПрдЧрд╛, рдФрд░ рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рд╣рдордд рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬреЛ рдХрд┐ рдкрд╛рдЗрдк рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдкрд╣рд┐рдпреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реИред

SSE3 рдХреЗ рд▓рд┐рдП ATLAS рдХрд╛ рдирд┐рд░реНрдорд╛рдг SSE2 ATLAS рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреЗрд╡рд▓ 5% рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рдн рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд░реНрдорд╛рдг рдореБрд╢реНрдХрд┐рд▓ рдерд╛ рдФрд░ рдореБрдЭреЗ SSE3 рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╕рдХреНрд╖рдо рдлрд╝реНрд▓реИрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдмрд╕ -msse3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдореИрдВрдиреЗ рдЗрди рдкрд╣рд┐рдпреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддреЗ рд╣реБрдП рдЦрд╕реНрддрд╛ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдХреЛ рдПрдХ рдореЗрд▓ рд▓рд┐рдЦрд╛: https://mail.scipy.org/pipermail/numpy-discussion/2016-March/075125.html

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ рдкрд╛рдЗрдерди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдзрдиреНрдпрд╡рд╛рджред

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ, рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдПрдЯрд▓рд╕-рдмрд┐рд▓реНрдб-рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ 2 рдореБрджреНрджреЗ рдЬреЛрдбрд╝реЗ рд╣реИрдВред
рджреЗрдЦреЗрдВ https://github.com/matthew-brett/atlas-build-scripts/issues

рдкрд╣рд▓рд╛ https://github.com/matthew-brett/atlas-build-scripts/issues/1 рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ numpy-atlas.dll рдЕрдзрд┐рдХ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрдпрд╛рдд рдХреА рд╣реИрдХрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ mingwpy рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдпред

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╡реНрдпрд╕реНрдд рд╣реВрдВред рдХреНрдпрд╛ рдкрд╣рд▓реЗ рдХрд╛ рдХреЛрдИ рдПрдЯрд▓рд╕ рдмрд┐рд▓реНрдб рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рдерд╛? рдореИрдВ рдХрдИ рдХреЛрд░ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░ рдкрд╛ рд░рд╣рд╛ рдерд╛ред рдпрджрд┐ рдЖрдк рдЬреВрд▓рд┐рдпрд╛ рд╕реЗ рдмрд╣реБрдд рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рднреА рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рд░ рдмрд╣реБрдд рд╕реАрдзрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛ рдЖрдкрдХреА рдкрд╣реБрдВрдЪ рд╕реЗ рдЕрдзрд┐рдХ рдирдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдореЗрдВ рдЖрдкрдХреА рд░реБрдЪрд┐ рдереА?

рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ - рдЖрдкрд╕реЗ рдпрд╣ рдЙрдореНрдореАрдж рдирд╣реАрдВ рдереА рдХрд┐ рдЖрдк рд╕рдм рдХреБрдЫ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ рдФрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЪрд▓рд╛рдПрдВрдЧреЗред

рдЕрд╕рд▓ рдореЗрдВ рдореЗрд░рд╛ рдирд╡реАрдирддрдо рдПрдЯрд▓рд╕ рдмрд┐рд▓реНрдб рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рдирд╣реАрдВ рдерд╛ - рдПрдЯрд▓рд╕ 3.11 рдХреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдереНрд░реЗрдбрд┐рдВрдЧ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред

рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪрд▓рд╛рдП рдЧрдП рдЕрдиреНрдп рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛, рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдкреБрд░рд╛рдирд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣реИ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрдкрдХреА рдорд╢реАрди рдкрд░ рд╣рд┐рдЯ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИред

рд╡рд┐рдВрдбреЛрдЬрд╝ рд╡реНрд╣реАрд▓ рдЕрдм рдкреАрдкреАрдЖрдИ рдкрд░ рд╣реИрдВ: https://pypi.python.org/pypi/numpy/1.10.4

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЯреЛрдиреА - рд╣рд╛рдБ рдкрд┐рдЫрд▓реЗ 3.10 рдПрдЯрд▓рд╕ рдмрд┐рд▓реНрдб (рдпрд╛ рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ) рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рдереЗред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ @ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рдЖрдкрдХреЛ рдЕрдкрдиреЗ https://github.com/matthew-brett/np-wheel-builder рдХреЛ numpy org рдХреЗ рддрд╣рдд рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЯреВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рддрд╣рдд numpy рд░реЗрдкреЛ рдореЗрдВ рдкреАрдЖрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдВред

рд░рд╛рд▓реНрдл - np-wheel-builder рдХрд╣рд╛рдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕реБрдЭрд╛рд╡? рд╕реБрдиреНрди/рд╡рд┐рдХреНрд░реЗрддрд╛ рд╢рд╛рдпрдж?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ numpy org рдХреЗ рддрд╣рдд рдореИрдВ рдПрдХ рдЕрд▓рдЧ рдирдпрд╛ рд░реЗрдкреЛ ( numpy-wheel-builder ?) рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред рдЙрджреНрджреЗрд╢реНрдп рдореЗрдВ numpy-vendor рдХреЗ рд╕рд╛рде рдУрд╡рд░рд▓реИрдк рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдб рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рд╡рд╣ рд░реЗрдкреЛ рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╛рдЗрди рдХреЗ рддрд╣рдд рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдЬреАрд╕реАрд╕реА рдЯреВрд▓рдЪреЗрди рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реИред

рдореЗрд░реЗ рд╕рд╛рде рдареАрдХ рд╣реИ - рдареАрдХ рд╣реИ рдХрд┐ рдЖрдк рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдФрд░ рдЗрд╕реЗ рдмрдирд╛рдПрдВ?

рдореЗрд░реЗ рд╕рд╛рде рдареАрдХ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдЧрд░ рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ (рдЕрднреА рдпрд╣ AFAICT рд╣реИ?) рддреЛ рд░реЗрдкреЛ рдирд╛рдо рдореЗрдВ "рд╡рд┐рдВрдбреЛрдЬрд╝" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП :-)ред рдпрд╛ рдлрд┐рд░ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрдиреНрдп рдкрд╣рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рд╕рдорд╛рди рдЖрдзрд╛рд░рднреВрдд рд╕рдВрд░рдЪрдирд╛ рдбрд╛рд▓рддреЗ рд╣реИрдВред рдореИрдВ рдЗрд╕реЗ рд╕реАрдзреЗ numpy рд░реЗрдкреЛ рдореЗрдВ рдХрд╣реАрдВ рднреА рдбрд╛рд▓рдиреЗ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВ рдЕрдЧрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЫреЛрдЯрд╛ рд╣реИред рдЬреЛ рдХреБрдЫ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ :-)

рд░реЗрдкреЛ рдореЗрдВ рдХрд╛рдлреА рдмрдбрд╝реА рдПрдЯрд▓рд╕ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЪреНрдЫреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП numpy рд░реЗрдкреЛ рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдХреИрд╕реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ win-wheel-builder ?

рдХреИрд╕реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ windows-wheel-builder ред рдореИрдВ win рдХрд╛ рдкреНрд░рд╢рдВрд╕рдХ рдирд╣реАрдВ рд╣реВрдВ;)

рдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╡рд┐рд╢рд┐рд╖реНрдЯ рди рдмрдирд╛рдиреЗ рдФрд░ macosx рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдХрдИ linux1 рд╡реНрд╣реАрд▓ рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧ рдХреЛ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд░рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдЕрдиреНрдпрдерд╛ "рдЬреАрдд" рдкрд░ "рд╡рд┐рдВрдбреЛрдЬрд╝" рдХреЗ рд▓рд┐рдП +1ред

рдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╡рд┐рд╢рд┐рд╖реНрдЯ рди рдмрдирд╛рдиреЗ рдФрд░ macosx рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдХрдИ linux1 рд╡реНрд╣реАрд▓ рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧ рдХреЛ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд░рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рд╕рднреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪреАрдЬреЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдУрдПрд╕ рдПрдХреНрд╕ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдХреЛ рдХреЗрд╡рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬрдмрдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рд╢рд╛рд▓ рдПрдЯрд▓рд╕ рдмрд╛рдЗрдирд░реА рд╣реИрдВред рдпрджрд┐ рдпрд╣ рд╕рдм рдПрдХ рд░реЗрдкреЛ рдореЗрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдПрдЯрд▓рд╕ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╢рд╛рдпрдж рдЧрд┐рдЯ-рдПрд▓рдПрдлрдПрд╕ рдХреЗ рд╕рд╛рде)?

рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЗ рд▓рд┐рдП рдЬреАрдердм рдкрд░ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓ рд╕рдВрдЧреНрд░рд╣рдг (рдПрд▓рдПрдлрдПрд╕) рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ

@rgommers : рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЬрд▓реНрдж рд╣реА рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдЯрд▓рд╕-рдпрд╛-рдХреБрдЫ-рдЕрдиреНрдп-рдмреНрд▓рд╛рд╕ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рднреА рд▓реЗ рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рд╕рдВрднрд╡рддрдГ рдУрдПрд╕рдПрдХреНрд╕ рднреА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рд╣рдо рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЛ рддреЛрдбрд╝рдиреЗ рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреЗ рдердХ рдЧрдП рд╣реИрдВ)ред

рдЬреАрдердм рд░рд┐рд▓реАрдЬ рдпрд╛ рдмрд┐рдВрдЯреНрд░реЗ рдпрд╛ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЙрдиреНрд╣реЗрдВ рдЪреЗрдХ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ ... рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рд╕рднреА рдмрдбрд╝реЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬрдм рддрдХ рдЖрдк DYNAMIC_ARCH рд╕рдХреНрд╖рдо рдУрдкрдирдмреНрд▓рд╛рд╕ рдмрд┐рд▓реНрдб рдпрд╛ рдПрдХрд╛рдзрд┐рдХ рдмреНрд▓рд┐рд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рдордХрдХреНрд╖ рд╕рдВрдпреЛрдЬрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ

рд░реЗрдкреЛ рдХреЛ рдЕрднреА рдХреЗ рд▓рд┐рдП windows-wheel-builder рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рд░рдЦрд╛ рдЬрд╛рдП, рдФрд░ рдЬрдм рдпрд╣ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдХрд┐ рд╣рдо рд▓рд┐рдирдХреНрд╕/рдУрдПрд╕рдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рддреЛ рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ/рдирд╛рдо рдмрджрд▓рдирд╛?

рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред

рдореЗрд░реЗ рд╕рд╛рде рднреА рдареАрдХ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд╕реБрдиреНрди рд╕рдВрдЧрдарди рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХреАрдп рдЕрдзрд┐рдХрд╛рд░ рдЪрд╛рд╣рд┐рдП - рдпрд╛ рдореИрдВ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд░реЗрдкреЛ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд░рдЦрддрд╛ рд╣реИ, рдФрд░ рд╡реЗ рдЗрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредтАЛ

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ: рдореИрдВ рдЬреАрдердм рдХреЗ рдЕрдиреБрдорддрд┐ рдкреГрд╖реНрда рд╕реЗ рдмрд╣реБрдд рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВ (рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ numpy рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рд╣реИ), рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдореБрдЭреЗ рд░реЗрдкреЛ рдкрд░ рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рд░реЗрдкреЛ рдХреЛ рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рдЗрд╕реЗ numpy/

рдореИрдВрдиреЗ рд░реЗрдкреЛ рдХреЛ @njsmith рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ ...

рдХреНрдпрд╛ рдХреЛрдИ рд╕реБрдиреНрди рдРрдкрд╡реЗрдпрд░ рдЦрд╛рддрд╛ рд╣реИ? рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕ рд░реЗрдкреЛ рдХреЗ рд▓рд┐рдП Appveyor рдмрд┐рд▓реНрдб рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо @charris рдХреЗ Appveyor рдЦрд╛рддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ...

рд╣рд╛рдБ, рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВ https://ci.appveyor.com/project/charris/numpy/history

рдмреБрдз, рдорд╛рд░реНрдЪ 16, 2016 рдкреВрд░реНрд╡рд╛рд╣реНрди 12:15 рдмрдЬреЗ, рдирдерд╛рдирд┐рдПрд▓ рдЬреЗ. рд╕реНрдорд┐рде <
рд╕реВрдЪрдирд╛рдПрдВ@github.com> рдиреЗ рд▓рд┐рдЦрд╛:

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо @charris https://github.com/charris рдХреЗ Appveyor рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдХрд╛рд░рдг...

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/numpy/numpy/issues/5479#issuecomment -197064930

рдЕрд╕рд▓ рдореЗрдВ, рдореИрдВрдиреЗ рдРрдкрд╡реЗрдпрд░ рдкрд░ numpy рдХреЗ рд▓рд┐рдП рдЕрднреА рдПрдХ рдирдпрд╛ рд╕рдореВрд╣ рдЦрд╛рддрд╛ рдмрдирд╛рдпрд╛ рд╣реИ (рд╡реИрд╕реЗ рднреА рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ, рдФрд░ рдЗрд╕рдиреЗ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ :-)), рдФрд░ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛:
https://ci.appveyor.com/project/numpy/windows-wheel-builder

@njsmith рдЖрдкрдиреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛? рдЕрдВрдд рдореЗрдВ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХреЛрдВ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦрд╛рддреЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рджреВрд╕рд░реЛрдВ рдХреЛ рдЗрд╕рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рд░рджрд░реНрд╢реА рдирд╣реАрдВ рдерд╛ред

рдпрджрд┐ рдЦрд╛рддрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рд╕реБрдиреНрди рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

@charris : рдЕрдкрдирд╛ рдИрдореЗрд▓ рдЬрд╛рдВрдЪреЗрдВ :-)ред рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА numpy-steering-council @googlegroups.com рдкрд░ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЦрд╛рддрд╛ рдмрдирд╛рдпрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦрд╛рддреЗ рдореМрдЬреВрдж рдереЗ... рдХреНрдпрд╛ рд╣рдореЗрдВ рдПрдХ рдЪрд╛рд╣рд┐рдП?

рдХрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдЖрдк рд╢рд╛рдпрдж рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЦрд╛рддреЛрдВ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлреИрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ

рд╕реБрдиреНрди-рд╕реНрдЯреАрдпрд░рд┐рдВрдЧ-рдХрд╛рдЙрдВрд╕рд┐рд▓ рдореЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдорд░реНрдЬ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдРрдкреНрд╡реЗрдпрд░ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрддрд╛ рд╣реИред рдЕрдЧрд░ рдРрдкрд╡реЗрдпрд░ рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдЗрди рджрд┐рдиреЛрдВ рдХреБрдЫ рдмреЗрд╣рддрд░ рд╣реИ рддреЛ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЧрдбрд╝рдмрдбрд╝реА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЙрдирдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЕрддреАрдд рдореЗрдВ рд░рд╣рд╛ рд╣реИ, рдореИрдВ рдЙрд╕ рдкрд░ рд╢рд░реНрдд рдирд╣реАрдВ рд▓рдЧрд╛рдКрдВрдЧрд╛ред

@tkelman рдЕрдЪреНрдЫрд╛ рдмрд┐рдВрджреБред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рд╣рдо рддреЗрдЬреА рд╕реЗ рдХрддрд╛рд░ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрд╕рд╛ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рддреЛ рд╣рдо рд╢рд╛рдпрдж рдХреБрдЫ рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

@charris : рдореИрдВрдиреЗ рдЕрднреА рдирдП appveyor рдЦрд╛рддреЗ рдореЗрдВ numpy/numpy рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рд╕рднреА рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдЦрд╛рддреЗ рдкрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ numpy github рдЯреАрдореЛрдВ рдХреЛ рднреА рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ - рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ I рдЕрдиреБрдорд╛рди...

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ: рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдмреАрдПрд▓рдПрдПрд╕ рдХреЛ рдХрд╣реАрдВ рднреА numpy/windows-build-tools рдХреА рддрд░рд╣ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реБрдВрджрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрд╣реАрд▓ рдмрд┐рд▓реНрдб рдЯреВрд▓реНрд╕ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ numpy/numpy рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдмрд╛рд╣рд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкрд╡рд┐рдпрд░ рдмрд┐рд▓реНрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ - рд╡реЗ рдорд╛рдВрдЧ рдкрд░ рдмреАрдПрд▓рдПрдПрд╕ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЛ рдиреАрдЪреЗ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рднреА рдорд╣рд╛рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдХреНрдпрд╛ numpy 1.11.0 рд╡рд┐рдВрдбреЛ рд╡реНрд╣реАрд▓ рдЬрд▓реНрдж рд╣реА pypi рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рдПрдВрдЧреЗ? https://pypi.python.org/pypi/numpy

рдУрд╣ рд╣рд╛рдБ, рд╣рдореЗрдВ рд╕рдВрднрд╡рддрдГ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдпрд╣рд╛рдБ рдХреИрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдП... IIUC рдХрд╛ рдЕрднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдпрд╣ рд╣реИ рдХрд┐ рдЬреИрд╕реЗ рд╣реА 1.11 рд╕реНрд░реЛрдд рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛, рд╡рд╣рд╛рдБ рдХреА рд╕рднреА рд╡рд┐рдВрдбреЛрдЬрд╝ рдорд╢реАрдиреЗрдВ рдЕрдЪрд╛рдирдХ рдбрд╛рдЙрдирд▓реЛрдбрд┐рдВрдЧ рд╡реНрд╣реАрд▓реНрд╕ рд╕реЗ рд╕реНрд╡рд┐рдЪ рд╣реЛ рдЧрдИрдВ (рдпрд╛рдп) ) рд╕реНрд░реЛрдд (рдмреВ) рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ "рд╕рд╣реА" рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдмрд╛рд░ рдЕрдВрддрд┐рдо рд░рд┐рд▓реАрдЬ рдХреЛ рдЯреИрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо sdist рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ _before_ рд╕рднреА рдмрд╛рдЗрдирд░реА рд╡реНрд╣реАрд▓реНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред рдЙрддрдирд╛ рд╣реА рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛...

@njsmith рдЬреЛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд┐рдирдЯ рдЕрдВрддрд░рд╛рд▓ (рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХреБрдЫ рдШрдВрдЯреЗ) рдЕрдВрддрд░рд╛рд▓ рдореЗрд░реЗ рд╕рд╛рде рдареАрдХ рд░рд╣реЗрдЧрд╛ред

рдПрдЯрд▓рд╕ рдХреЗ рдЦрд┐рд▓рд╛рдл 1.11.0 рд░рд┐рд▓реАрдЬ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдкреАрдИрдкреАрдЖрдИ рдкрд░ рдореМрдЬреВрджрд╛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдбрдмреНрд▓реНрдпреВрдПрд▓рдПрд▓ рдлрд╛рдЗрд▓реЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рд╕реНрдкрд╖реНрдЯ рд╣реИрдВ? рдХреНрдпрд╛ рдХреЛрдИ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рд╣рд╛рдВ, рдкрд╣рд┐рдпреЛрдВ рдХреЛ рдПрдЯрд▓рд╕ рдХреЗ рдЦрд┐рд▓рд╛рдл рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╣рдо рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд╢реНрд╡рд╕реНрдд рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдУрдкрдирдмреАрдПрд▓рдПрдПрд╕ рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВред

рдмрд┐рд▓реНрдб рдХреЛ Appveyor рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://github.com/numpy/windows-wheel-builder

23735 downloads in the last day ред =)

hidden рд░рд┐рд▓реАрдЬ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдХрдо рд╕реЗ рдХрдо рдкреАрдкреАрдкреАрдЖрдИ рдлреЙрд░реНрдо https://pypi.python.org/pypi?%3Aaction=submit_form рдкрд░ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдФрд░ рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдЕрдирд╣рд╛рдЗрдб рдХрд░реЗрдВред

рдЕрдлрд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдЫрд┐рдкреА рд╣реБрдИ рд░рд┐рд▓реАрдЬрд╝ рд╕реБрд╡рд┐рдзрд╛ рд▓реЛрдЧреЛрдВ рдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрд╕ рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддреА рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдЙрдиреНрд╣реЗрдВ pypi GUI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рджреЗрдЦрдирд╛ рдмрдВрдж рдХрд░ рджреЗрддреА рд╣реИ:

https://sourceforge.net/p/pypi/support-requests/428/

рдореИрдВрдиреЗ 64-рдмрд┐рдЯ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрди рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред

рдореИрдВ рдХреНрдпрд╛ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЕрднреА рднреА рд╡рд╣реА рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ рдХрд┐ scipy рд╡реНрд╣реАрд▓реНрд╕ рдХреЗ рд╕рд╛рде рд╣реИ? рдХреНрдпрд╛ рдпрд╣ OpenBLAS рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдирд┐рд░реНрдгрдп рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ?

https://bitbucket.org/carlkl/mingw-w64-for-python/downloads рдкрд░ scipy-0.17.0 рдХреЗ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдкрд╣рд┐рдП рд╣реИрдВред рдЗрди рдкрд╣рд┐рдпреЛрдВ рдХреЛ mingwpy рдХреЗ рд╕рд╛рде @matthew-brett рдХреЗ рдмрд┐рд▓реНрдб рдСрдл numpy https://pypi.python.org/pypi/numpy/1.10.4 рдХреЗ рдЦрд┐рд▓рд╛рдл рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЧреБрд░реБ, 28 рдЕрдкреНрд░реИрд▓, 2016 рдХреЛ рджреЛрдкрд╣рд░ 12:48 рдмрдЬреЗ, carlkl [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

https://bitbucket.org/carlkl/mingw-w64-for-python/downloads рдкрд░ рд╣реИрдВ
scipy-0.17.0 рдХреЗ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдкрд╣рд┐рдПред рдЗрди рдкрд╣рд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ рдХреЗ рдЦрд┐рд▓рд╛рдл mingwpy https://github.com/matthew-brett 's
рдЦрд╕реНрддрд╛ рдмрдирд╛рддрд╛ рд╣реИ https://pypi.python.org/pypi/numpy/1.10.4

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдерд╛, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдпрд╛рдж рдХрд┐рдпрд╛ - рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреЛрдИ рдкрд░реАрдХреНрд╖рдг рдорд┐рд▓рддрд╛ рд╣реИ?
рдЗрди рдкрд╣рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдлрд▓рддрд╛рдПрдВ?

рдХреНрдпрд╛ рдЖрдк рдиреБрдХреАрд▓реЗ рдкрд╣рд┐рдпреЛрдВ рдХреЗ рдЕрдВрджрд░ рднреЗрдЬреЗ рдЧрдП рдПрдЯрд▓рд╕ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ, рдореИрдВрдиреЗ рдПрдХ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдЗрди рдмрд┐рд▓реНрдбреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдереА, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд╣рд╛рдВ рд╣реИред рд╡реИрд╕реЗ рднреА, рдпреЗ рдЖрдкрдХреЗ рд╕реБрдиреНрди рдкрд╣рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЖрдкреВрд░реНрддрд┐ рдХрд┐рдП рдЧрдП numpy-atlas рдХреЗ рдЦрд┐рд▓рд╛рдл рд▓рд┐рдВрдХ рдмрдирд╛рддрд╛ рд╣реИред

scipy-0.17.0-cp35-cp35m-win##.whl _wrong_ C-runtime msvcrt.dll рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред scipy рдХреЗ рд▓рд┐рдП рдпрд╣ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рд▓реЙрдЧ рдпрд╣рд╛рдБ рд╣реИрдВ: https://gist.github.com/carlkl/9e9aa45f49fedb1a1ef7

рдХреНрдпрд╛ рдпрд╣ рд╕рд╣реА рд▓реЙрдЧ рд╣реИ? рдЗрд╕рдХреЗ рдЕрдВрдд рдореЗрдВ NumPy is installed in D:\devel\py\python-3.4.4\lib\site-packages\numpy рд╣реИред

рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдПрдХ рдбрд░рд╛рд╡рдирд╛ рдкрд╣рд┐рдпрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд░реАрдм рд╣реИрдВ, рднрд▓реЗ рд╣реА рдпрд╣ рдЧрд▓рдд рдПрдордПрд╕рд╡реАрд╕реА рд░рдирдЯрд╛рдЗрдо рдХреЗ рдЦрд┐рд▓рд╛рдл рдЦрддрд░рдирд╛рдХ рд░реВрдк рд╕реЗ рд▓рд┐рдВрдХ рд╣реЛ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдкрдХреЛ 64-рдмрд┐рдЯ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдХрдо рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓рддреА рд╣реИрдВ? рдУрдкрдирдмреНрд▓рд╛рд╕ 0.2.18 рдХреЗ рдЦрд┐рд▓рд╛рдл рд╡рд░реНрддрдорд╛рди рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП?

64 рдмрд┐рдЯ рдореЗрдВ рдХреЗрд╡рд▓ 6 рд╡рд┐рдлрд▓рддрд╛рдПрдБ рд╣реИрдВ:

FAIL: test_continuous_basic.test_cont_basic(<scipy.stats._continuous_distns.nct_gen object ...

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ: рдпрд╣ OpenBLAS рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рд░реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдкрд┐рдЫрд▓реЗ 4 рд╕рдкреНрддрд╛рд╣ рд╕реЗ рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЕрдЯрдХрд╛ рд╣реБрдЖ рд╣реВрдБ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛ред

@ рдореИрдереНрдпреВ-рдмреНрд░реЗрдЯ, рдореИрдВ рдУрдкрдирдмреАрдПрд▓рдПрдПрд╕ рдХреЗ рд╕рд╛рде numpy MSVC рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВред рдореЗрд░реЗ рдирд╡реАрдирддрдо рдирд┐рд░реНрдорд╛рдг рдпрд╣рд╛рдВ рд╣реИрдВ:

рдЬреИрд╕реЗ рдХрд┐ рдорд┐рдВрдЧрд╡рдкреА, рдХреЛрдВрдбрд╛-рдлреЛрд░реНрдЬ, рдПрдирд╛рдХреЛрдВрдбрд╛ рдФрд░ рдХреИрдиреЛрдкреА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдереЗ, рдпрд╣рд╛рдБ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдЗрдВрдЯреЗрд▓ рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди рдЖрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдлрд╝реНрдд рд╣реИ ред рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЙрдкрдХрд░рдг (SciPy, NumPy, Numba, Scikit-Learn) рдФрд░ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд (mpi4py Intel mp рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ pyDAAL рдбреЗрдЯрд╛ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕) рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдФрд░ conda рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдХреЛрдИ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд▓рд╛рдЗрд╕реЗрдВрд╕ 10/29/16 рдХреЛ рд╕рдорд╛рдкреНрдд рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпреЗ рдЗрдВрдЯреЗрд▓ рдмрд┐рд▓реНрдб рд╕рд┐рд░реНрдл рдПрдХ рд╣реИрдВ
рдмреАрдЯрд╛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж рд╢рд╛рдпрдж MKL+ рдЖрджрд┐ рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╢реБрд▓реНрдХред рдУрдкрдирдмреНрд▓рд╛рд╕ рдмрдирд╛рддрд╛ рд╣реИ
рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╕рдорд╛рдзрд╛рди рд░рд╣реЗрдЧрд╛ рдЗрд╕рд▓рд┐рдП рдЗрдиреНрд╣реЗрдВ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
рдмрдирд╛рддрд╛ рд╣реИред
28 рдЕрдкреНрд░реИрд▓ 2016 рдХреЛ рд╢рд╛рдо 7:21 рдмрдЬреЗ, "рдорд╛рд░реНрдХ рдорд┐рдХреЛрдлрд╝реНрд╕реНрдХреА" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдорд╛рдиреЛ рдорд┐рдВрдЧрд╡рдкреА, рдХреЛрдВрдбрд╛-рдлреЛрд░реНрдЬ, рдПрдирд╛рдХреЛрдВрдбрд╛ рдФрд░ рдХреИрдиреЛрдкреА рдпрд╣рд╛рдБ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдереЗ
рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдЗрдВрдЯреЗрд▓ рд╡рд┐рддрд░рдг
https://software.intel.com/en-us/python-distribution рдФрд░ рдпрд╣ рдореБрдлрд╝реНрдд рд╣реИ
рдбрд╛рдЙрдирд▓реЛрдб
https://software.intel.com/en-us/articles/intel-distribution-for-python-support-and-documentationред
рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЙрдкрдХрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (SciPy, NumPy, Numba, Scikit-Learn)
рд╕рд╛рде рд╣реА рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд (mpi4py Intel mp рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ pyDAAL рдбреЗрдЯрд╛ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕) рдФрд░
рдХреЛрдВрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/numpy/numpy/issues/5479#issuecomment -215600103

1.11.1 рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Python 3.5 amd64 рдХреЗ рд▓рд┐рдП PyPi рдкрд░ рдПрдХ рдЧрд╛рдпрдм рд╡рд┐рдВрдбреЛрдЬ рд╡реНрд╣реАрд▓ рд╣реИред

рдХреНрдпрд╛ рдЗрд╕рдХреА рдХреЛрдИ рдЦрд╛рд╕ рд╡рдЬрд╣ рд╣реИ? рдЕрдЧрд░ рдореИрдВ 1.11.0 (https://pypi.python.org/pypi/numpy/1.11.0) рдкрд░ рдЬрд╛рддрд╛ рд╣реВрдВ, рддреЛ рдкрд╣рд┐рдпрд╛ рд╡рд╣рд╛рдВ рд╣реИред

рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдмрд╣реБрдд рдЬрд▓реНрдж рдЕрдкрд▓реЛрдб рдХрд░ рджрд┐рдпрд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕рднреА рдкрд╣рд┐рдпреЛрдВ рдХреЗ рдмрдирдиреЗ рд╕реЗ рдкрд╣рд▓реЗред рдореИрдВрдиреЗ рд▓рд╛рдкрддрд╛ рдкрд╣рд┐рдпрд╛ рдЕрдкрд▓реЛрдб рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рджреЛрдмрд╛рд░рд╛ рди рд╣реЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рд▓рд╛рдкрддрд╛ рдкрд╣рд┐рдпрд╛ рдЕрдкрд▓реЛрдб рдХрд░ рджрд┐рдпрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд╣рд┐рдпреЛрдВ рдХреЛ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЧрдП рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдореБрджреНрджреЗ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ - рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдкрд╣рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╕реНрдпрд╛ рдмрдиреА рд╣реБрдИ рд╣реИ, рдЬреЛ рдХреЛрдВрдбрд╛ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓рд┐рдП рдмрд┐рдирд╛ рдЕрдкрдиреЗ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд╕реНрдЯреИрдХ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рдЕрднреА рднреА @cgohlke 'MKL' рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд scipy рд╕рдорд╕реНрдпрд╛ рджреЗрдЦреЗрдВ рдЬреЛ рдЦреБрд▓рд╛ рд░рд╣рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд╣рд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд╕реНрдХрд┐рдк рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдХрд┐рдП рдмрд┐рдирд╛, рд╡реЗ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИрдВред

@wayneilsen рдЖрдкрдХреЗ рдкрд╛рд╕ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдереНрд░реЗрдб рдореЗрдВ рдирдП рдкрд╣рд┐рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЕрднреА рдмрддрд╛рдП рдЧрдП рдореБрджреНрджреЗ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ:

https://github.com/scipy/scipy/issues/5461#issuecomment -326744515

рддреЛ рдЕрдЧрд░ рдЖрдк рдХрд░рддреЗ рд╣реИрдВ

pip install -f https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com/ --pre scipy

рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

Numpy рдХреЗ рд▓рд┐рдП рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд╣реАрдВ рдмрдЪрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ рд╣реИред
Scipy рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдЦреБрд▓реА рд╣реИ, рдФрд░ рд╕рдВрднрд╡рдд: рдЗрд╕реЗ рдЕрдЧрд▓реЗ рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рд░рд┐рд╣рд╛рдИред

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ @ рдЬреБрдЖрдирд▓реБ001 рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдЧреЗ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдкреАрдкреАрдЖрдИ рдкрд░ рдХрдм рд╣реЛрдЧрд╛!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

manuels picture manuels  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MorBilly picture MorBilly  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

qualiaa picture qualiaa  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

marcocaccin picture marcocaccin  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Kreol64 picture Kreol64  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ