我最近在具有 2 个处理器的 Linux 服务器上进行了几次测试,每个处理器具有 20 个物理内核(下面给出了一个处理器的完整硬件描述)以及 20 个额外的逻辑内核(因此总共 80 个内核)。进行这项调查的原因是我在一个研究实验室工作,那里的大部分代码都是用 Python 编写的,并且我发现了许多与从计算机到另一台计算机的 Python 性能变化相关的在线帖子。
这是我的设置:
我对 numpy 和 scipy 的各种基本功能进行了比较,特别是:
scipy.sparse.linal.spsolve : 线性系统 (Ax=b) 的解,其中 A 为 68000x68000 稀疏矩阵,xa 为 68000x50 稀疏矩阵, scipy.sparse.linalg.eigsh : 68000x68000 稀疏矩阵的广义特征值问题的解决方案,numpy.dotscipy.linalg.cholesky 和 scipy.linalg.svd基本上,考虑到测试脚本timeit的默认执行及其使用不同数量(x-1)的内核执行,我决定为每个版本的 Python运行测试脚本(每个运行 25 到 100 次以获取相关结果)命令taskset --cpu-list 0-x ...。
以下是我的结果的简要总结:
scipy.sparse.linal.spsolve …我已经下载了新的IntelPython并按照页面上的说明安装了该软件包。
因此,在安装该应用程序后,我按照 Windows 的以下说明进行操作:
到目前为止一切都很好,然后当我激活root环境时,我开始安装 、keras、tensorflow 等软件包pip。在这些软件包中我也安装了spyder。
问题是,当我在环境中时,root我可以输入 python 并正常启动 python 3.6,然后我可以import安装我安装的所有软件包。但是,当在命令窗口中(当我在根环境中时)我输入spyder时,什么也没有发生。相反,我收到一条消息
Spyder 未被识别为内部命令
如果我在 C:\IntelPython3 中输入,conda list那么我可以看到spyder,但正如我所说,该命令不起作用。我试图spyder.exe在 C:\IntelPython3\Scripts 文件夹中找到该文件,但没有。
有什么建议么?谢谢
编辑:我也可以从 Windows 终端启动 Jupyter Notebook,唯一的问题是 Spyder,这很奇怪。
我用过这个
conda create --name intelpy --channel intel --override-channels intelpython
Run Code Online (Sandbox Code Playgroud)
创建环境并安装 intelpython
并conda info --envs显示
# conda environments:
#
intelpy * /home/admin-pc/anaconda3/envs/intelpy
py27 /home/admin-pc/anaconda3/envs/py27
root /home/admin-pc/anaconda3
Run Code Online (Sandbox Code Playgroud)
然而,当我 source activate intelpy
admin-pc@Precision-Tower:~$ source activate intelpy
(intelpy) admin-pc@Precision-Tower:~$ which python
/home/admin-pc/anaconda3/bin/python
Run Code Online (Sandbox Code Playgroud)
它仍然使用anaconda python,有什么问题?
感谢橙色墨水。添加 python=3.6 有效
conda create --name intelpy --channel intel --override-channels intelpython python=3.6
Run Code Online (Sandbox Code Playgroud) intel-python ×3
python ×3
anaconda ×1
conda ×1
core ×1
intel-mkl ×1
pip ×1
python-3.x ×1
spyder ×1