51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

C++ Taskflow QuickStart

Taskflow 可以帮助您在现代 C + + 中快速编写并行和异构的任务程序 。

简介 {#简介}

下载使用 {#下载使用}

  • Taskflow 使用需要源码

下载 {#下载}

Release {#Release}
Clone Repository {#Clone-Repository}
  • 也可以直接获取整个仓库:

  • 下载仓库后切换到 v3.5.0 版本

使用 {#使用}

  • 使用时仅需引入源码目录中的 taskflow/taskflow.hpp 即可

  • Taskflow 源码目录添加到系统环境变量,在项目中添加引用目录,代码中直接 include 就可以使用了

  • 命名空间叫 tf

C++环境 {#C-环境}

  • 注意:Taskflow 需要 C++17 编译环境
g++ {#g}
  • 如果使用 g++ 需要在命令行添加参数 -std=c++17
Visual Studio {#Visual-Studio}
  • 如果是在 Visual Studio 下需要开启 C++17 环境,需要在项目属性 -> C/C++ -> 语言 -> C++ 语言标准 中修改:

入门用法 {#入门用法}

Demo {#Demo}

  • 官网的 Demo 代码:
  • 输出:

流程图 {#流程图}

  • Taskflow 可以输出代码运行拓扑图
  • 为了不让用户额外安装流程图绘制的工具, Taskflow 提供了解释流程图的网页工具
  • 使用时,在代码中加入 taskflow.dump(std::cout); 可以输出流程图代码
  • 上述代码输出:
  • 上述代码在 GraphViz 类工具中都可以识别为流程图
  • 官方提供了访问流程图绘制工具网页:https://dreampuf.github.io/GraphvizOnline/
  • 将代码粘贴到网页中,就可以看到流程图了

Profile {#Profile}

  • Taskflow 还提供了 Profile 工具 (需要较高的 Taskflow 版本)
  • 使用时需要设置系统环境变量 TF_ENABLE_PROFILER 指向一个 json 文件位置(路径可以相对、可以绝对)

  • 这样在运行程序时会向目标位置输出 json 文件,类似:

原始论文 {#原始论文}

《Taskflow:A Lightweight Parallel and Heterogeneous Task Graph Computing System》

参考资料 {#参考资料}



文章链接:
https://www.zywvvd.com/notes/coding/cpp/taskflow/taskflow/

赞(0)
未经允许不得转载:工具盒子 » C++ Taskflow QuickStart