是否有任何工具可以显示函数中的数据依赖关系
Is there any tool which can show data dependencies within a function
我有这种代码。我感兴趣的是找到循环之间的数据依赖关系,以便我可以猜测是否可以并行运行循环。有什么工具可以帮助我解决这个问题。
void some_func()
{
for( ... )
{
...
}
for( ... )
{
...
}
for( ... )
{
...
}
}
请参阅我们的 DMS 软件再造工具包及其 C 前端计算的数据流结果。(我们的C++战线还没有完全做到这一点)。
如果您只想对一个或两个循环执行此操作,这可能是查看这些依赖项的昂贵方法。 你显然可以用手做到这一点,是的,这很痛苦。
你可以检查这个实验工具ParTools,它在图形环境中显示了C程序中的数据依赖关系。它允许对 C 程序执行配置文件和数据依赖关系进行交互式分析,以促进在手动并行化过程中发现和选择合适的并行化候选者。该流程不采用任何特定的并行化技术,因此可以广泛应用。
我还没有尝试过这个,但bp
可能会有所帮助。从文档中:
开发并发、并行且正确运行的软件 设计时通常需要大量的知识和关注 这些。BP 会自动尝试并行化您的某些部分 程序,如果编译器认为值得这样做,它将替换 具有多线程的顺序代码。
相关文章:
- 链表,反向函数,数据结构
- C++浮点数据类型和字符串数据类型无法子到模板函数中
- C++LinkedList问题.数据类型之间存在冲突?没有匹配的构造函数
- 如何解决指针数组中的数据依赖关系
- C++ 使函数调用依赖于模板参数
- 使用函数数据类型键入别名和别名模板
- 如何让成员函数实现依赖于类的模板参数?
- 从循环返回char函数数据
- 通过包装器对象的构造函数将依赖关系传递给包装器对象
- c++从非成员调用类函数/数据
- C++成员函数的依赖非限定名的两阶段查找
- 在依赖类的构造函数中使用抽象类作为数据类型
- 是否有任何工具可以显示函数中的数据依赖关系
- 为什么构造函数调用依赖于默认析构函数的存在?
- GCC 为依赖于默认构造函数的模板化类中的静态数据成员提供"undefined reference"错误
- C++类构造函数数据传递
- 在c++中,当组合对象构造函数有依赖关系时,如何在初始化列表中强制它们的顺序
- 循环数据依赖关系析构函数
- 通过构造函数进行依赖注入的最佳实践
- 用于检查 R 函数是否依赖于 C/C++ 编译代码的函数