问题标签 [intel-python]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
322 浏览

python - Python、英特尔 Python 和多核处理器

我最近在具有 2 个处理器的 Linux 服务器上进行了几次测试,每个处理器具有 20 个物理内核(下面给出了一个处理器的完整硬件描述)以及 20 个额外的逻辑内核(因此总共有 80 个内核)。进行这项调查的原因是我在一个研究实验室工作,那里的大部分代码都是用 Python 编写的,并且我发现了许多与计算机之间的 Python 性能变化相关的在线帖子。

这是我的设置:

  • 操作系统:CentOS 7.7.1908
  • 比较了两个python版本:Python 3.6.8Python Intel 3.6.9(2019更新5)
  • 处理器:Intel(R) Xeon(R) CPU E5-2698 v4 @ 2.20GHz

我对 numpy 和 scipy 的各种基本功能进行了比较,具体来说:

  • scipy.sparse.linal.spsolve:线性系统 (Ax=b) 的解,A 为 68000x68000 稀疏矩阵,xa 为 68000x50 稀疏矩阵,
  • scipy.sparse.linalg.eigsh: 68000x68000 稀疏矩阵的广义特征值问题的解决方案,
  • numpy.dot
  • scipy.linalg.choleskyscipy.linalg.svd

基本上,我决定timeit为每个版本的 Python 运行测试脚本(每个运行 25 到 100 次以获得相关结果),考虑到测试脚本的默认执行及其使用不同数量(x-1)的内核的执行命令taskset --cpu-list 0-x ...

以下是我的结果的简要总结:

  • scipy.sparse.linal.spsolve

计算时间与核心数量有关

  • scipy.sparse.linalg.eigsh

计算时间与核心数量有关

  • numpy.dot

计算时间与核心数量有关

  • scipy.linalg.cholesky

计算时间与核心数量有关

  • scipy.linalg.svd

计算时间与核心数量有关

我应该补充一点,黑点和虚线表示默认执行时间,而不使用taskset命令。

正如预期的那样,Python Intel 的性能优于 Python 3。然而,令我惊讶的是,使用 Python Intel 执行代码的默认执行速度可能比在有限(3 到 5)个内核上的执行速度要慢(尤其是对于 spsolve 和 eigsh )。

这正常吗(我猜在计算时间和核心之间的通信时间之间找到平衡点)?有什么方法可以优化 Python 代码在多核处理器上的默认执行?

以下是我的服务器核心之一的规格:

另外,这是我使用的代码:(1)对于spsolve

(2) 为eigsh

(3)对于cholesky和SVD,我在网上找到了脚本:

(4) dot:

0 投票
1 回答
53 浏览

python - 英特尔模型动物园的 launch_benchmark.py 因 resnet34 失败

使用以下参数在英特尔模型动物园 github( https://github.com/IntelAI/models)中运行 launch_benchmark.py 时

我收到以下错误:

0 投票
1 回答
169 浏览

python - 如何在我的 python 代码中启用 Intel Extension for Pytorch(IPEX)?

我想在我的代码中使用 Intel Extension for Pytorch 来提高整体性能。参考此 GitHub ( https://github.com/intel/intel-extension-for-pytorch ) 进行安装。

目前,我正在尝试一个拥抱人脸摘要 PyTorch 示例(https://github.com/huggingface/transformers/blob/master/examples/pytorch/summarization/run_summarization.py)。下面是用于训练的训练器 API。

我不知道在此代码中启用 Ipex。谁能帮我这个?

提前致谢!

0 投票
1 回答
85 浏览

performance - 测试 Intel Extension for Pytorch(IPEX) 从 huggingface / transformers 中的多项选择

我正在尝试使用 SWAG 数据集 https://github.com/huggingface/transformers/tree/master/examples/pytorch/multiple-choice的一个拥抱脸样本

我想在我的代码中使用 Intel Extension for Pytorch 来提高性能。

在这里,我使用的是未经培训的(run_swag_no_trainer)

在 run_swag_no_trainer.py 中,我做了一些更改以使用 ipex 。#修改前的代码如下:

#添加ipex后:

运行以下命令时,它花费了太多时间。

有没有其他方法可以在 intel ipex 上进行相同的测试?

0 投票
1 回答
398 浏览

anaconda - 让 IntelOneAPI 在 Windows 10 中工作

我已在我的 Windows 10 机器上成功安装了离线 Intel OneAPI 基础包。我进行了自定义安装,只选择了以下安装;

英特尔® oneAPI 数据分析库。
英特尔® oneAPI 深度神经网络库。
英特尔® oneAPI 数学内核库。
英特尔® oneAPI 线程构建模块。
适用于 Python 的英特尔® 分发版。

但我不知道如何让这些东西加速工作流程?我不使用 VisualStudio,但由于此安装要求安装 Visual Studio 2019,然后我下载并安装了 VisualStudio 2019,并已成功“集成 IDE”,如 OneAPI 安装程序所述。

但是当我打开 VisualStudio 时,它只显示我的独立 Python 3.10 安装。当我提供 Python 3.7 版本显示在环境中的 Intel Python 目录的路径时,但我不知道哪些模块可用于 Intel Python 预装并且不知道如何查看它们?
(相当于 pip list)??

我的问题是如何让这些工作?Intel Python 没有出现在“开始”菜单中的任何位置,当我浏览目录并打开 Intel python.exe 时,shell 说这个 Python 在 Conda 环境中并要求我安装 Anaconda(我没有安装在我的机器上)。

假设我现在安装 Anaconda,那安装不会带来它自己的 Python 和模块吗?我可以让它检测和使用英特尔 OneAPI 附带的 Python 和模块吗?

是否可以通过提供路径将此 Intel Python 链接到我通常使用的其他 IDE(VSCode、独立 Spyder)?

有人可以帮我完成这个,还是我应该坚持使用标准的 Python 和 pip?
OneAPI 显示的基准很诱人,所以我决定尝试,但现在我不知所措。

如果有人需要,这些是我的系统规格,Intel i5 第 11 代 i5-1135G7 @ 2.40GHz CPU。
NVIDIA MX330 和 Iris Xe GPU(启用 Optimus)
16 GiB RAM