C#中的向量化通过Vector类工作。有不同大小的向量,如Vector 64/Vector 128/Vector 256。但我如何使用它们?我已经用Vector256<T>写了一个for循环,但是如果设备不支持这个向量,我想回退到Vector128<T>或Vector64<T>。我如何回退到那个。我缺少某种通用的IVector<T>接口吗?我需要复制和粘贴整个东西的每一个大小的矢量??多谢了
Vector256<T>
Vector128<T>
Vector64<T>
IVector<T>
wf82jlnq1#
可能听起来很烦人,但目前使用的处理方法实际上只是复制和粘贴你的向量化循环,并分别用Vector128和Vector64替换Vector256。确保从最高的向量开始,向最低的向量工作。微软可能应该考虑一个接口IVector<T>,它抽象了这些方法。随着新的静态抽象方法这当然是可能的,但是现在你必须坚持使用copy和paste。
Vector128
Vector64
Vector256
1条答案
按热度按时间wf82jlnq1#
可能听起来很烦人,但目前使用的处理方法实际上只是复制和粘贴你的向量化循环,并分别用
Vector128
和Vector64
替换Vector256
。确保从最高的向量开始,向最低的向量工作。微软可能应该考虑一个接口IVector<T>
,它抽象了这些方法。随着新的静态抽象方法这当然是可能的,但是现在你必须坚持使用copy和paste。