使用虚幻引擎4进行并行计算
Parallel computation with unreal engine 4
我目前正在为一个计算密集型项目研究虚幻引擎的可用性,谷歌并没有提供太多帮助。
我需要在游戏循环的背景下为该项目做一些繁重的计算,该项目目前使用OpenMP实现。流体模拟。
windows上的虚幻引擎使用visual studio进行编译和构建,因此应该支持visual studio编译器的功能,但我不清楚您是否可以使用OpenMP的正确设置进行UE编译。或者,我可以很容易地使用Intels线程构建块TBB,它显然已经在UE中使用了。。。尽管可能只是内存分配器部分?
一般来说,我想我的问题是,对UE的跨平台高度并行化计算有什么支持。如果你需要在所有可用的核心上运行大量相同的计算,你如何在UE中做到这一点?我对手动创建一些线程,在块代码上运行它们,通过连接等待完成,然后继续前进不感兴趣。出于我的目的,我更喜欢并行_for循环。
此外,我想知道在UE"脚本"中使用CUDA或OpenCL等其他框架有多容易。
我来自Unity,在那里我围绕用c++编写的原生dll制作了c#包装器,以获得高性能,但我有点厌倦了用c#包装原生dll,所以我更喜欢基于c++的引擎。。。但如果这本身在我的c++代码中所能做的事情上是有限的,那么这并没有多大帮助。。。我想当我学会如何操作时,这一切都会奏效,但我有点困惑,因为我找不到关于上述任何问题的任何信息。任何带有"平行"一词的东西通常都会产生蓝图。
UE中有一个ParallelFor.(),定义如下:"Engine\Source\Runtime\Core\Public\Async\ParallelFor.h"
签名为void ParallelFor(int32 Num, TFunctionRef<void(int32)> Body, bool bForceSingleThread = false)
示例使用可以很容易地在源代码中找到。
- 我们如何并行运行算法的 n 个实例并以有效的方式计算结果函数的平均值?
- 使用与 openmp C++并行的循环计算矩阵中每一行的最小值
- 在 Vulkan 中执行并行计算着色器?
- C++ openmp 并行计算计算错误的结果
- 指针警告(并行计算)
- C++:快速/并行计算两个"std::vector<double>"向量之间的L1距离
- 使用C 中的线程并行计算
- 并行计算奇偶校验
- 三任务并行计算
- 如何在Google计算引擎上编写C 程序
- 使用OpenMP C++并行计算程序的积分
- 并行计算一个大矢量的和
- 用于并行计算的C++代码优化示例
- 通过集成与OpenMP并行计算
- 并行计算--混乱的输出
- 并行计算内存访问瓶颈
- 并行计算的二次形式在RcppParallel
- 分区是一个类似生活游戏的程序,用于负载平衡的并行计算
- 使用虚幻引擎4进行并行计算
- 编译器本身使用并行计算方法运行