是否有任何类似于Erlang的VM的实现\原型不仅可以在CPU上运行,还可以在gpu上运行?

是否有任何类似于Erlang的VM的实现\原型不仅可以在CPU上运行,还可以在gpu上运行?,erlang,gpu,distributed,distributed-computing,elixir,Erlang,Gpu,Distributed,Distributed Computing,Elixir,我使用诸如MPI、ZepoMQ、RabbitMQ等消息传递库,用OOP语言创建分布式系统。现在,我发现自己在观察Erlang,并理解了许多我们在OOP语言中使用C++(如C++和C语言)使用的库(每进程1到000个Socket连接,分布式消息和分布式进程监控可视化)的许多东西,在Erlang已经有很多年了。而且更好地了解这门语言似乎是合理的。我发现自己在问最后一个问题:是否有类似于Erlang的VM的实现\原型可以在CPU和GPU上运行/生成某些进程 因为这肯定会使Erlang(对于我的OOP背

我使用诸如MPI、ZepoMQ、RabbitMQ等消息传递库,用OOP语言创建分布式系统。现在,我发现自己在观察Erlang,并理解了许多我们在OOP语言中使用C++(如C++和C语言)使用的库(每进程1到000个Socket连接,分布式消息和分布式进程监控可视化)的许多东西,在Erlang已经有很多年了。而且更好地了解这门语言似乎是合理的。我发现自己在问最后一个问题:是否有类似于Erlang的VM的实现\原型可以在CPU和GPU上运行/生成某些进程


因为这肯定会使Erlang(对于我的OOP背景语言来说,它更容易阅读)成为大多数未来项目的首选语言。

GPU仅在顺序内存访问时才快速。我几乎无法想象GPU RAM上的垃圾收集。GPU不是一个很酷的并行CPU。它需要更多的努力来写。因此,GPU很可能没有Erlang编译器。

我怀疑是否有任何实现可以在GPU上运行Erlang进程,但您可以使用两种技术在Erlang下的GPU上运行计算:

  • 通过NIFs(本机实现的函数)使用C库-请参阅和一个此类实现的示例:Github上的msantos/procket(很抱歉,由于信誉较低,我无法发布链接:)

  • 使用本机OS进程并通过erlang“端口”与之通信-请参阅

第一个更快,后一个更安全(NIFs可以使整个VM崩溃)


这并不特定于GPU合作。Erlang不太适合于高性能的数字运算——最好用C语言进行运算,并用Erlang操作结果。C和Erlang之间的通信应以上述两种方式之一实现。

Erlang
进程与操作系统无关,尤其与图形无关。