如何使用SSE3指令集并行化我的F#程序? F#编译器是否支持它?
答案 0 :(得分:3)
.Net不与该级别的硬件通信。如果要显式控制所使用的指令集,则需要调用以更合适的语言编写的库。想到C / C ++。
答案 1 :(得分:2)
答案 2 :(得分:0)
可能没用,但您可以使用委托上的内部字段来调用任意代码:http://www.atrevido.net/blog/2005/01/28/Inline+X86+ASM+In+C.aspx
有关更多警告和其他方法,请参阅评论。直接使用委托目标的好处是(AFAIK),您将无法获得托管非托管转换,就像您执行GetDelegateForFunctionPointer或其他互操作方法一样。
在缺点方面,这意味着您必须手动编码并确保调用约定排列等等。它可能很脆弱,代理调用开销可能使它不值得。