在 Dart / Flutter 中使用 GPU 而非图形

Fra*_*cca 3 multithreading gpu dart flutter

是啊是好人,

如果我可以“使用”(“调用”,“线程”?),我就在徘徊

带有 Dart 和 Flutter 的 GPU。

文件指出

GPU 线程执行来自 Flutter 引擎的图形代码。该线程获取层树并通过与 GPU(图形处理单元)交谈来显示它。您无法直接访问 GPU 线程或其数据,但如果此线程速度较慢,则是您在 Dart 代码中执行某些操作的结果。图形库 Skia 运行在该线程上,该线程有时称为光栅化线程。[...] 有关分析 GPU 线程的更多信息,请访问 flutter.dev。(这不会增加太多)

但是如果我不想将它用于图形呢?

例如,假设我想使用蒙特卡罗方法进行一些计算,

我可以打电话或向 GPU 发送一个线程吗?

感谢您的关注

fil*_*iph 9

“GPU 线程”是一个令人困惑的名称,因此我们将其重命名为“光栅线程”。这个线程实际上是运行在一个 CPU 核上,它的功能是将图形光栅化发送GPU。许多人认为线程在 GPU 本身上运行,但事实并非如此。于是,改名。

(我们最近对其进行了重命名。您最初的问题当时使用了正确的术语。)

不幸的是,您无法编译 Dart 代码以在 GPU 上运行(如 CUDA),例如,您可以使用 C++执行此操作。

一种选择是用 C++ 之类的东西编写您的 Monte Carlo 例程,然后使用 Dart 的FFI从 Dart 代码中调用该例程。这将同步运行,并尽可能快地运行 C++ 代码。