我想知道是否有办法扩展 ruby 数组类型来进行 SIMD 和 SSE 向量计算。
我的意思是用一种低级语言实现,以在 ruby 程序中用于数字运算任务。
我怀疑您需要编写一个Ruby C 扩展。我没有使用该教程,但它似乎是合理的。只需将要在扩展中使用的 SIMD 和 SSE 方法包装起来,瞧!我以前没有开发过这种扩展,所以我不确定在 Ruby 和 C 之间移动数据时这种操作是否会产生复制开销。你必须调查一下;一个快速的谷歌在野外找不到任何这样的扩展。
尝试将 GCC simd 内在函数与 RubyInline 一起使用
可能值得探索Ruby-OpenCL并根据需要对其进行扩展。