小编Nin*_*ino的帖子

Numpy dot产品使用整数非常慢

抱歉这么多问题.我在Intel core 2 Duo上运行Mac OSX 10.6.我正在为我的研究运行一些基准测试,我遇到了另一件令我困惑的事情.

如果我跑

python -mtimeit -s 'import numpy as np; a = np.random.randn(1e3,1e3)' 'np.dot(a,a)'

我得到以下输出: 10 loops, best of 3: 142 msec per loop

但是,如果我跑

python -mtimeit -s 'import numpy as np; a = np.random.randint(10,size=1e6).reshape(1e3,1e3)' 'np.dot(a,a)'

我得到以下输出: 10 loops, best of 3: 7.57 sec per loop

然后我跑了

python -mtimeit -s 'import numpy as np; a = np.random.randn(1e3,1e3)' 'a*a' 然后

python -mtimeit -s 'import numpy as np; a = np.random.randint(10,size=1e6).reshape(1e3,1e3)' 'a*a'

两个都在每个循环运行大约7.6毫秒,所以它不是乘法.添加也有类似的速度,所以这些都不应该影响点积,对吧?那么为什么使用整数计算点积比使用浮点数慢50多倍呢?

python floating-point int numpy dot-product

14
推荐指数
2
解决办法
3214
查看次数

假设自动线程scipy和numpy函数没有使用多个内核

我正在运行Mac OS X 10.6.8并使用Enthought Python Distribution.我想要numpy函数来利用我的核心.我遇到了类似于这篇文章的问题:python/numpy中的多线程blas但是在完成该海报的步骤之后,我仍然遇到同样的问题.这是我的numpy.show_config():

lapack_opt_info:
    libraries = ['mkl_lapack95_lp64', 'mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'mkl_mc', 'mkl_mc3', 'pthread']
    library_dirs = ['/Library/Frameworks/EPD64.framework/Versions/1.4.2/lib']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/Library/Frameworks/EPD64.framework/Versions/1.4.2/include']
blas_opt_info:
    libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'mkl_mc', 'mkl_mc3', 'pthread']
    library_dirs = ['/Library/Frameworks/EPD64.framework/Versions/1.4.2/lib']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/Library/Frameworks/EPD64.framework/Versions/1.4.2/include']
lapack_mkl_info:
    libraries = ['mkl_lapack95_lp64', 'mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'mkl_mc', 'mkl_mc3', 'pthread']
    library_dirs = ['/Library/Frameworks/EPD64.framework/Versions/1.4.2/lib']
    define_macros = [('SCIPY_MKL_H', None)]
    include_dirs = ['/Library/Frameworks/EPD64.framework/Versions/1.4.2/include']
blas_mkl_info:
    libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'mkl_mc', 'mkl_mc3', 'pthread']
    library_dirs = …
Run Code Online (Sandbox Code Playgroud)

python multithreading numpy scipy intel-mkl

7
推荐指数
1
解决办法
5695
查看次数