首页 新闻 搜索 专区 学院

如何在微软的.net中利用SIMD(单指令多数据流)提升性能?

0
悬赏园豆:10 [已关闭问题] 关闭于 2012-01-28 05:39

3DNow、SSE等指令集提供了SIMD(单指令多数据流),同时进行4个数据的操作。Intel的C++/Fortran编译器也支持SIMD,确实可以提升3倍多的性能。在Mono中也有SIMD类,并可以找到相关的性能测试,好像只有微软的.net中没有原生支持SIMD。我查询了一些文章,有通过P/invoke调用Intel的KML中的dll来间接利用SIMD。有没有其它更好的方法,或者封装好的SIMD类库呢?请大家提点建议啊,谢谢。 如果在4核的CPU上利用SIMD+并行能提升10多倍的性能,那是相当可观的。(Fortran/C++中使用SIMD的编译参数+OpenMP,确实有很大的提升)

 

补充:

不知道XNA或者OpenCL.net中是否有利用SIMD的方法。.net下利用OpenCL也是生成C的代码再编译,有没有更好的符合C#使用习惯的方法呢?

YTYT2002YTYT的主页 YTYT2002YTYT | 初学一级 | 园豆:113
提问于:2012-01-03 01:32
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册