我需要最快的方法来乘除大数据数组。
我读过这个(由 Ben Voigt在这里写的):
从当前版本开始,.NET 不使用 MMX 或 SSE 或 AVX
(...)
现代 C++ 编译器不仅允许使用 SIMD,而且可以将看起来普通的代码自动向量化为 SIMD 指令
.
我想我需要:
SSE 支持向量运算(一次乘以 4 个浮点数)
多线程支持(不会与 C# 线程发生冲突的解决方案/库)
有没有我可以使用的库/dll?
编辑:八度的任何替代品?我只需要 2 个操作:除法,乘法。如果我正确理解 Octave 是什么以及它是如何工作的 - 我将需要解析输出......它不能很快......
根据“你试过什么”和“为什么你不想使用简单for
”:
我需要这个来进行神经网络训练。网络(现在)有超过 50 个输入,许多神经元(每个 50+ 权重)。学习数据包含 100.000 多行,每行 50 多个字段。每个神经元输入需要很少(至少 5 个)乘法运算。
我不知道我需要多少个学习时期,但我尝试只对乘法运算进行基准测试,我得到了结果:在我的 Intel Core Duo T2500 2.0GHz CPU 上每个时期大约 16 秒。
当然我可以买更快的电脑,但新电脑比我工作几个小时更有价值,所以我希望它看起来合乎逻辑......