英特尔LOGO

英特尔 oneAPI 线程构建块

intel-oneAPI-Threading-Building-Blocks-产品

产品信息

一个 API 线程构建块(XNUMX TB)

oneAPI 线程构建块 (oneTBB) 是一种基于运行时的并行编程模型,适用于使用线程的 C++ 代码。 它是一个基于模板的运行时库,旨在帮助利用多核处理器的潜在性能。 oneTBB 通过将计算分解为并行运行的任务来简化并行编程。 并行是通过线程在单个进程中执行的,线程是一种操作系统机制,可以同时执行相同或不同的指令集。

oneTBB 可以作为独立产品或作为英特尔(R) oneAPI 基础工具包的一部分下载。 该产品附带一组系统要求,安装前应满足这些要求。

系统要求

  • 请参阅 oneTBB 系统要求。

安装

  • 下载 oneTBB 作为独立产品或作为英特尔(R) oneAPI 基础工具包的一部分。
  • 请参阅独立版本(Windows* 操作系统和 Linux* 操作系统)的安装指南和英特尔(R) oneAPI 工具包安装指南。

使用说明

    • 安装 oneTBB 后,进入 oneTBB 安装目录设置环境变量。 默认安装目录如下:

对于 Linux* 操作系统:/opt/intel/Konami/tab/latest/env/vars.sh

对于 Windows* 操作系统:%ProgramFiles(x86)%InteloneAPItbblatestenvvars.bat

    • 使用 pkg-config 工具在 Linux* OS 和 macOS* 上使用 oneTBB 编译程序。 提供完整的搜索路径,包括 files 和库,或者提供像这样的简单行:

g++ -o test test.cpp $(pkg-config –libs –flags 选项卡)

  • 对于 Windows* 操作系统,另外使用 -msvc-syntax 选项标志,该选项标志以适当的模式转换编译和链接标志。
  • 有关详细说明、已知问题和更改,请参阅 GitHub 上的开发人员指南和 API 参考。

开始使用一个 API 线程构建块(XNUMX TB)

  • oneAPI 线程构建块 (oneTBB) 是一种基于运行时的并行编程模型,适用于使用线程的 C++ 代码。 它包含一个基于模板的运行时库,可帮助您利用多核处理器的潜在性能。
    oneTBB 使您能够通过将计算分解为并行运行的任务来简化并行编程。
  • 在单个进程中,并行是通过线程实现的,线程是一种允许同时执行相同或不同指令集的操作系统机制。
  • 在这里,您可以看到线程可能执行的任务之一。intel-oneAPI-Threading-Building-Blocks-FIG-1

使用一个选项卡编写可扩展的应用程序:

  • 指定逻辑并行结构而不是线程
  • 强调数据并行编程
  • 采取提前tag并发集合和并行算法
  • oneTBB 支持嵌套并行和负载均衡。 这意味着您可以使用该库而不必担心过度订阅系统。 oneTBB 可作为独立产品和英特尔® oneAPI 基础工具包的一部分提供。

系统要求

  • 请参阅 oneTBB 系统要求。

下载英特尔(R) oneAPI 线程构建模块 (oneTBB)

  • 下载 oneTBB 作为独立产品或作为英特尔(R) oneAPI 基础工具包的一部分。 请参阅独立版本(Windows* 操作系统和 Linux* 操作系统)的安装指南和英特尔(R) oneAPI 工具包安装指南。
开始之前

安装oneTBB后,需要设置环境变量:

  1. 转到oneTBB安装目录( ). 默认情况下, 是以下内容:
    1. 在 Linux* 操作系统上:
    2. 对于超级用户(root): /选择/英特尔/科乐美
    3. 对于普通用户(非root): $HOME/英特尔/科乐美
    4. 在 Windows* 操作系统上:
    5. <程序 Files>\Intel\oneAPI
  2. 设置环境变量,使用脚本, 通过运行
    • 在 Linux* 操作系统上: vars.{sh|csh} 在/待定/最新/环境
    • 在 Windows* 操作系统上: vars.bat 中/待定/最新/环境

Example
你可以在下面找到一个典型的前任amponeTBB 算法的文件。 的ample 计算从 1 到 100 的所有整数的总和。intel-oneAPI-Threading-Building-Blocks-FIG-2

oneAPI 线程构建块 (oneTBB) 和 pkg-config 工具

  • pkg-config 工具用于通过从中检索有关包的信息来简化编译行
    特殊元数据 file秒。 它有助于避免大型硬编码路径,并使编译更具可移植性。

使用 pkg-config 编译程序

  • 要在 Linux* OS 和 macOS* 上使用 oneTBB 编译测试程序 test.cpp,请提供搜索 include 的完整路径 files 和库,或者提供像这样的简单行:intel-oneAPI-Threading-Building-Blocks-FIG-3

在哪里:

  • cflags 提供 oneTBB 库,包括路径:intel-oneAPI-Threading-Building-Blocks-FIG-4
  • libs 提供英特尔(R) oneTBB 库名称和查找它的搜索路径:intel-oneAPI-Threading-Building-Blocks-FIG-4
  • 笔记 对于 Windows* 操作系统,另外使用 -msvc-syntax 选项标志,该选项标志以适当的模式转换编译和链接标志。
查找更多
  • 一个TBB 社区论坛
  • 产品常见问题解答
  • 支援要求
  • 如果您需要 oneTBB 的支持,请使用这些资源。
  • 发行说明 查找有关产品的最新信息,包括详细说明、已知问题和更改。
  • 文档: 开发人员指南和 API 参考
  • 学习使用 oneTBB。
  • GitHub* 在开源中找到 oneTBB 实现。

声明和免责声明

  • 英特尔技术可能需要启用硬件,软件或服务才能激活。
  • 没有任何产品或组件是绝对安全的。
  • 您的费用和结果可能会有所不同。
  • © 英特尔公司。 英特尔、英特尔徽标和其他英特尔标志是英特尔公司或其子公司的商标。 其他名称和品牌可能会被视为他人的财产。
  • 本文件不授予任何知识产权许可(无论是明示的、暗示的、禁止反言的还是其他方式)。
  • 所描述的产品可能包含设计缺陷或称为勘误表的错误,这可能会导致产品偏离已发布的规格。 当前特征勘误表可应要求提供。
  • 英特尔否认所有明示和暗示的保证,包括但不限于对适销性、特定用途的适用性和非侵权的暗示保证,以及因性能过程、交易过程或贸易使用而产生的任何保证。

在 Windows* 操作系统上安装 oneTBB

  • 本节介绍如何在 Windows* 操作系统机器上部署 oneAPI 线程构建块 (oneTBB) 库。
  • 如果您计划安装 oneTBB 作为英特尔® oneAPI 基础工具包的一部分,请参阅英特尔(R) oneAPI 工具包安装指南的相应部分。
  • 如果您计划将 oneTBB 作为独立产品安装,请按照以下说明使用安装程序 GUI 或您选择的包管理器进行操作。
  • 了解如何使用 GUI 和包管理器安装 oneTBB:* 使用 GUI 安装 * 使用包管理器安装

使用 GUI 安装

步骤 1. 选择首选安装程序

  1. 转到下载页面。 显示可用安装程序列表。
  2. 确定您将使用的 Windows 安装程序类型:
    • 在线安装程序具有更小的 file 大小,但在运行时需要永久​​的 Internet 连接。
    • 离线安装程序有更大的 file 大小,但仅需要 Internet 连接才能下载安装程序 file,然后离线运行。
  3. 确定安装程序类型后,单击相应的链接开始下载。
  4. 等待下载完成。

步骤 2. 准备安装程序

对于离线安装程序:

  1. 运行.exe file 你已经下载了。 安装包提取器将启动。
  2. 指定解压包的路径——默认为 C:\Users\ \下载\w_tbb_oneapi_p_ _离线。
  3. 如有必要,选择 Remove temporary extracted file安装后复选框。
  4. 单击“提取”。
    对于在线安装程序,下载会在您运行 .exe 后自动开始 file.

第 3 步。运行安装程序

  1. 如果您正在运行脱机安装程序,请单击继续以继续。 在线安装程序将自动进行。
  2. 在摘要步骤中,选中我接受许可协议的条款复选框。
  3. 选择安装方式:
  • 要使用默认安装设置,请选择推荐安装。 oneTBB 将安装在默认位置:%Program FIles (x86)%\英特尔\oneAPI\。 单击 Continue 并继续执行 Integrate IDE 步骤。
  • 要修改安装设置,请选择自定义安装并单击自定义。 您将继续执行“选择组件”步骤。 但是,由于解决方案的性质,无法选择除 oneTBB 之外的任何组件。 在此模式下,您可以通过单击窗口左下角的更改来更改默认安装位置。intel-oneAPI-Threading-Building-Blocks-FIG-5
  1. 在集成 IDE 步骤中,程序检查是否可以部署与 Microsoft Visual Studio IDE 完全集成的 oneTBB——为此,必须在目标机器上安装受支持的 IDE 版本。 如果未安装,您可以在安装 IDE 后退出安装程序并重新启动它,或者不集成而继续。
  2. 在“软件改进计划”步骤中,选择您喜欢的选项。 然后点击安装开始安装。
  3. 等待该过程完成。 然后单击完成关闭安装程序或转到已安装的产品以检查更新或采取其他操作。

笔记 安装后记得配置环境变量。 请参阅“开始之前”部分以了解相关信息。

使用包管理器安装

  • 要使用包管理器安装 oneTBB,请运行文档中描述的相应命令:
  • 康达
  • 点数
  • NuGet
  • 笔记 安装后记得配置环境变量。 请参阅开始之前部分以了解它。

升级一个TBB

  • oneTBB 2021.1及之后版本支持无缝升级。 要将 oneTBB 升级到最新版本,请运行安装程序,如上所述。
  • 如果您曾经使用旧版本 (TBB),请考虑新版本的 oneTBB 不提供向后兼容性。 见待定版本amp:背景、变化和现代化以获取详细信息。 另外,请参阅
  • 从 TBB 迁移以获取有关迁移到 oneTBB 的更多信息。

卸载一个TBB

  • 要卸载 oneTBB,请使用应用程序和功能或程序和功能。

在 Linux* 操作系统上安装 oneTBB

  • 本节介绍如何在 Linux* 机器上部署 oneAPI 线程构建块 (oneTBB) 库。 选择首选方式:
  • 使用命令行安装 oneTBB
  • 使用选择的包管理器安装 oneTBB:
  • 康达
  • 易于
  • 百胜
  • 画中画
  • NuGet
  • 笔记 您还可以使用 GUI 在 Linux* 操作系统机器上安装一个 TB。 请参阅英特尔(R) oneAPI 安装指南了解更多信息。

使用命令行安装 oneTBB

  • 要安装 oneTBB,请根据您的角色运行以下命令之一:
  • 根:intel-oneAPI-Threading-Building-Blocks-FIG-6
  • 用户:intel-oneAPI-Threading-Building-Blocks-FIG-7

在哪里:

  • 沉默的 – 以非交互(静默)模式运行安装程序。
  • 欧拉 - 接受或拒绝最终用户许可协议 (EULA),支持的值:接受或拒绝(默认)。
  • 成分 - 让您自定义安装的组件。

例如amp乐:intel-oneAPI-Threading-Building-Blocks-FIG-8

使用包管理器安装 oneTBB

  • 按照说明使用您选择的包管理器。

康达

  • 本节提供有关通过以下方式安装 oneAPI 线程构建块 (oneTBB) 的一般说明
  • Conda* 包管理器。 有关其他安装说明,请参阅 Conda 文档。
  • 要安装 oneTBB,请运行以下命令:intel-oneAPI-Threading-Building-Blocks-FIG-9
  • 您还可以使用:conda install -c intel/label/intel tbb-devel
  • 笔记 请参阅 Intel(R) oneAPI 安装指南以了解如何配置 Conda。

易于

  • 要使用 APT* 安装 oneTBB,请运行:intel-oneAPI-Threading-Building-Blocks-FIG-10
  • 例如amp乐:

intel-oneAPI-Threading-Building-Blocks-FIG-11

笔记 请参阅 Intel(R) oneAPI 安装指南以了解如何配置 YUM。

要使用 PIP* 安装 oneTBB,请运行:intel-oneAPI-Threading-Building-Blocks-FIG-14

例如amp乐:

intel-oneAPI-Threading-Building-Blocks-FIG-15

NuGet

要使用命令行从 NuGet* 安装 oneTBB,请执行以下操作:

  1. 转到 nuget.org
  2. 跑步:intel-oneAPI-Threading-Building-Blocks-FIG-16

笔记 请参阅英特尔(R) oneAPI 安装指南以了解如何配置 NuGet*。
笔记 安装后记得配置环境变量。 请参阅“开始之前”部分以了解相关信息。

升级一个TBB
  • oneTBB 2021.1及之后版本支持无缝升级。 要将 oneTBB 升级到最新版本,请运行安装程序,如上所述。
  • 如果您曾经使用旧版本 (TBB),请考虑新版本的 oneTBB 不提供向后兼容性。 见待定版本amp:背景、变化和现代化以获取详细信息。 此外,请参阅从 TBB 迁移以获取有关迁移到一个 TB 的更多信息。

文件/资源

英特尔 oneAPI 线程构建块 [pdf] 用户指南
oneAPI 线程构建块,线程构建块,构建块,块

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *