我有2台电脑:
然后,我还有Python程序,它广泛使用numpy的库,可以在两台计算机上运行。这个程序适用于非常大的浮动张量(比如形状500 X 500 X 500
)
我担心以下事实:在所有观点下,即使我期待相反的行为,成为最强大的PC,这个代码的执行速度明显快于2012戴尔然后2016年的mac。
这种行为可能就是这种情况? 可能重要的是我使用了预编译的numpy安装戴尔,而我只是使用
pip install numpy
对于mac?
修改
这可能是由于两台计算机上安装了不同的Blas / Lapack库。如果我在Mac上运行,我运行np.show_config()
我获得了
lapack_opt_info:
extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
extra_compile_args = ['-msse3']
define_macros = [('NO_ATLAS_INFO', 3), ('HAVE_CBLAS', None)]
openblas_lapack_info:
NOT AVAILABLE
atlas_3_10_blas_threads_info:
NOT AVAILABLE
atlas_threads_info:
NOT AVAILABLE
atlas_3_10_threads_info:
NOT AVAILABLE
atlas_blas_info:
NOT AVAILABLE
atlas_3_10_blas_info:
NOT AVAILABLE
atlas_blas_threads_info:
NOT AVAILABLE
openblas_info:
NOT AVAILABLE
blas_mkl_info:
NOT AVAILABLE
blas_opt_info:
extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
extra_compile_args = ['-msse3', '-I/System/Library/Frameworks/vecLib.framework/Headers']
define_macros = [('NO_ATLAS_INFO', 3), ('HAVE_CBLAS', None)]
atlas_info:
NOT AVAILABLE
atlas_3_10_info:
NOT AVAILABLE
lapack_mkl_info:
NOT AVAILABLE
但我不知道如何解释这个......
答案 0 :(得分:3)
有效问题imo。如果我不得不猜测,最不可能的是:
2012系统上的numpy使用更快的BLAS / LAPACK库。您可以在两个系统上运行numpy.show_config()
来检查使用的是哪个。
2012系统中的处理器实际上可能比2016系统中的处理器更快。您的macbook最有可能是i5-5287U,具有2.7 ghz基本时钟和3.1 ghz增强。在2012年,已经有i5笔记本电脑发送器,基本时钟为2.9 ghz,增压为3.6 ghz。
由于各种原因,2016年系统的运行速度可能比平时慢。也许它过热或者有膨胀软件等。