JIT编译器是否可以在幕后使用GPU进行某些操作?

Dav*_*vy8 8 theory jit gpu compilation

如果我理解的任何部分是错误的,请随意纠正我.

我的理解是GPU提供普通CPU提供的指令子集,但执行速度要快得多.

我知道有很多方法可以将GPU周期用于非图形用途,但似乎(理论上)一种Just In Time编译的语言可以检测到合适GPU的存在并将一些工作卸载到GPU后面没有代码更改.

我的理解天真吗?它只是一个问题,它真的很复杂,还没有完成它?

Jan*_*net 8

我的理解是GPU提供普通CPU提供的指令子集,但执行速度要快得多.

这绝对不是那么简单.GPU主要针对SIMD /矢量处理进行定制.因此,即使现在GPU的理论潜力优于CPU,但只有可以从SIMD指令中受益的程序才能在GPU上高效执行.此外,当数据必须从CPU传输到GPU以在那里处理时,当然存在性能损失.

因此,为了使JIT编译器能够有效地使用GPU,它必须能够检测可以并行化以从SIMD指令中受益的代码,然后必须确定将数据从CPU传输到GPU所引起的开销通过性能改进来超重.