.net 如何在C#中抽象Vector256< T< 的逻辑以支持不同的硬件配置?

f2uvfpb9  于 2023-11-20  发布在  .NET
关注(0)|答案(1)|浏览(176)

C#中的向量化通过Vector类工作。有不同大小的向量,如Vector 64/Vector 128/Vector 256。但我如何使用它们?我已经用Vector256<T>写了一个for循环,但是如果设备不支持这个向量,我想回退到Vector128<T>Vector64<T>。我如何回退到那个。我缺少某种通用的IVector<T>接口吗?我需要复制和粘贴整个东西的每一个大小的矢量??
多谢了

wf82jlnq

wf82jlnq1#

可能听起来很烦人,但目前使用的处理方法实际上只是复制粘贴你的向量化循环,并分别用Vector128Vector64替换Vector256。确保从最高的向量开始,向最低的向量工作。微软可能应该考虑一个接口IVector<T>,它抽象了这些方法。随着新的静态抽象方法这当然是可能的,但是现在你必须坚持使用copypaste

相关问题