ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
23 ноября
333055 Топик полностью
Ксения (04.06.2012 17:08, просмотров: 519) ответил Mahagam на gcc не спасёт?
Не в компиляторе дело, тем более что я на ассемблере скалярные произведения считаю. Ошибка нарастает при длинных векторах. До какой-то величины сумма накапливается, а после новые слагаемые игнорит. По идее хорошо было бы не всё в одном сумматоре накапливать, а складывать сначала парами (четные и нечетные соседи), потом соседние пары таких сумм, и т.д. Так ошибки почти совсем не будет, но некуда пихать промежуточные результаты. Да и если бы и было куда (например, портя данные в том же векторе), но дополнительные операции чтения/запихивания съедят всю скорость, т.к. в обычном алгоритме сумма накапливается не в памяти, а в регистре FPU.