-
- Лучше бы AMD или Intel сделали аппаратный quadruple precision (128-bit float). И почему никто не делает этого? - Ксения(04.06.2012 01:44, ссылка)
- Может быть на видеокарте получится? VD46(53 знак., 04.06.2012 17:32, )
- а какой от этого сокровенный смысл?? - Mahagam(04.06.2012 16:00)
- Чтобы матрицы считать! Потеря точности происходит, когда много мелких слагаемых прибавляются к большому. При короткой мантиссе мелкие слагаемые игнорируются, хотя в сумме могли бы составить заметную величину. Проблема могла бы решиться, если Ксения(379 знак., 04.06.2012 16:15)
- я так понимаю, что это матрицы для обсчёта сферического коня? в вакууме? ибо в реальной жизни исходных данных с подобной точностью особо и не существует. Mahagam(110 знак., 04.06.2012 16:53)
- Здрассте! Разрядность нужна для суммы, а не для исходных данных. И вообще, давайте отменим uint64_t, uint32_t, uint16_t и т.д. Будем биты переключать, а не наращивать разрядность бездумно :-) - SciFi(04.06.2012 16:56)
- вы мне физический смысл такого суммирования приведите - Mahagam(04.06.2012 16:59)
- Физический смысл - расчет скалярного произведения векторов (строк и/или столбцов матрицы). Практически все матричные алгоритмы используют вычисление скалярного произведения (суммы произведений соответствующих элементов обоих векторов). Например, Ксения(266 знак., 04.06.2012 17:15)
- стопстопстоп! это всё чисто математика. вы мне _физический_ смысл таких вычислений скажите. - Mahagam(04.06.2012 17:17)
- Тогда про ЦОС (Цифровую Обработку Сигналов) почитайте в Википедии :). Там очень много алгоритмов, использующих матричные операции. Наиболее частая из них - цифровая фильтрация, где требутся быстро (очень быстро, если режим реального времени!) Ксения(243 знак., 04.06.2012 17:26)
- цифровая фильтрация чего??? каких исходных данных?? вот в чём вопрос. и куда оно потом будет выплёвываться - Mahagam(04.06.2012 17:42)
- Похоже, Ксения пытается вычислить QR-разложение матрицы => USSR(409 знак., 04.06.2012 18:34, )
- по науке это называется "плохо обусловленные матрицы", возникают они где угодно. во всяких GPS (диференциальных, фазовых и т.п. ибо в дубовом СА вообще ненужно флоат) это например, когда GDOP плохой. вот физический, даже ыыыы(70 знак., 04.06.2012 18:29, )
- и где там сложение больших и малых чисел? - Mahagam(04.06.2012 19:02)
- цифровая фильтрация чего??? каких исходных данных?? вот в чём вопрос. и куда оно потом будет выплёвываться - Mahagam(04.06.2012 17:42)
- Тогда про ЦОС (Цифровую Обработку Сигналов) почитайте в Википедии :). Там очень много алгоритмов, использующих матричные операции. Наиболее частая из них - цифровая фильтрация, где требутся быстро (очень быстро, если режим реального времени!) Ксения(243 знак., 04.06.2012 17:26)
- стопстопстоп! это всё чисто математика. вы мне _физический_ смысл таких вычислений скажите. - Mahagam(04.06.2012 17:17)
- Это к Ксении. Мне uint32_t хватает :-) - SciFi(04.06.2012 17:00)
- Физический смысл - расчет скалярного произведения векторов (строк и/или столбцов матрицы). Практически все матричные алгоритмы используют вычисление скалярного произведения (суммы произведений соответствующих элементов обоих векторов). Например, Ксения(266 знак., 04.06.2012 17:15)
- вы мне физический смысл такого суммирования приведите - Mahagam(04.06.2012 16:59)
- Здрассте! Разрядность нужна для суммы, а не для исходных данных. И вообще, давайте отменим uint64_t, uint32_t, uint16_t и т.д. Будем биты переключать, а не наращивать разрядность бездумно :-) - SciFi(04.06.2012 16:56)
- The x86 and x86-64 and Itanium processors support an 80-bit "double extended" extended precision format with a 64-bit significand. => USSR(47 знак., 04.06.2012 16:47, )
- "80-bit double" любой комп тянет, т.к. это один из родных типов старого FPU, тогда как SSE так не умеет. Проблема с 80-ти битами другая - числа не выравнивается по границе 32/64 байта, из-за чего MS Visual C этот тип данных не поддерживает. А Ксения(42 знак., 04.06.2012 16:55)
- gcc не спасёт? - Mahagam(04.06.2012 16:57)
- Не в компиляторе дело, тем более что я на ассемблере скалярные произведения считаю. Ошибка нарастает при длинных векторах. До какой-то величины сумма накапливается, а после новые слагаемые игнорит. По идее хорошо было бы не всё в одном сумматоре Ксения(396 знак., 04.06.2012 17:08)
- Что вы там за велосипеды на ассемблере изобретаете? Гцц с флоат128 даёт честные 112разрядов мантиссы. И вся математика под этот тип есть. - quadmath(04.06.2012 23:21, )
- GCC лишь эмулирует 128-битную арифметику, а я мечтаю об аппаратной. - Ксения(05.06.2012 01:19)
- Тогда от 6 штук $ без налогов в US всё удовольствие. - power7(05.06.2012 03:20, )
- GCC лишь эмулирует 128-битную арифметику, а я мечтаю об аппаратной. - Ксения(05.06.2012 01:19)
- In addition, the size of a "long double" also varies by operating system. On Windows, the size is 8 bytes by default. On Linux or Mac OS X, 10 bytes are used for the representation of a long double, although the allocated size may be USSR(482 знак., 04.06.2012 17:19, )
- Что вы там за велосипеды на ассемблере изобретаете? Гцц с флоат128 даёт честные 112разрядов мантиссы. И вся математика под этот тип есть. - quadmath(04.06.2012 23:21, )
- Не в компиляторе дело, тем более что я на ассемблере скалярные произведения считаю. Ошибка нарастает при длинных векторах. До какой-то величины сумма накапливается, а после новые слагаемые игнорит. По идее хорошо было бы не всё в одном сумматоре Ксения(396 знак., 04.06.2012 17:08)
- gcc не спасёт? - Mahagam(04.06.2012 16:57)
- "80-bit double" любой комп тянет, т.к. это один из родных типов старого FPU, тогда как SSE так не умеет. Проблема с 80-ти битами другая - числа не выравнивается по границе 32/64 байта, из-за чего MS Visual C этот тип данных не поддерживает. А Ксения(42 знак., 04.06.2012 16:55)
- я так понимаю, что это матрицы для обсчёта сферического коня? в вакууме? ибо в реальной жизни исходных данных с подобной точностью особо и не существует. Mahagam(110 знак., 04.06.2012 16:53)
- +1. Где это применяется? - SciFi(04.06.2012 16:01)
- Чтобы матрицы считать! Потеря точности происходит, когда много мелких слагаемых прибавляются к большому. При короткой мантиссе мелкие слагаемые игнорируются, хотя в сумме могли бы составить заметную величину. Проблема могла бы решиться, если Ксения(379 знак., 04.06.2012 16:15)
- Ксения, вы еще ЭВМ серии МИР вспомните. Там длина float ограничивалась только размером ОЗУ. - vmp(04.06.2012 15:07)
- Как это никто не делает? Были даже рабочие станции, но стоили как автомобили и исчезли за ненадобностью. Купите себе серверок и развлекайтесь. - sparcV8(04.06.2012 14:59, )
- по моему у спарков (даже V9 и прочих ультра и Тx), хоть инструкции квадрофлоатные есть, но в железе их не делают и они через эмуляцию идут - ыыыы(04.06.2012 16:20, )
- AMD в анонсе своего Бульдозера обещала 128-битные float, но так и не сделала. - Ксения(04.06.2012 15:53)
- так этаж. SSE4 помоему все такие. - Т.Достоевский(04.06.2012 01:47)
- Там в 128 бит два числа упакованы, каждое по 64 бита. А надо, чтоб одно было такое длинное! - Ксения(04.06.2012 01:54)
- Может пора уже выкинуть свой борландовский компилятор и поставить 64разрядную 7ку? - Neon(04.06.2012 02:32, )
- Дык все равно выше 64-х бит точность не поднимется. А float-арифметика от разрядности операционки не зависит - что старый стековый FPU, что новая SSE/SSE4. Там и там float-операции производятся на отдельных специализированных регистрах, которые во Ксения(58 знак., 04.06.2012 15:50)
- Выкиньте свой компилятор. Там и лонг дабл 80 разрядов и флоат128 - эмуляция(04.06.2012 16:43, )
- Типа что-то умное сказал? - =AlexD=(04.06.2012 07:03)
- Дык все равно выше 64-х бит точность не поднимется. А float-арифметика от разрядности операционки не зависит - что старый стековый FPU, что новая SSE/SSE4. Там и там float-операции производятся на отдельных специализированных регистрах, которые во Ксения(58 знак., 04.06.2012 15:50)
- Может пора уже выкинуть свой борландовский компилятор и поставить 64разрядную 7ку? - Neon(04.06.2012 02:32, )
- Там в 128 бит два числа упакованы, каждое по 64 бита. А надо, чтоб одно было такое длинное! - Ксения(04.06.2012 01:54)
- вы это... на кепке с надписью "INTEL" изнутри "AMD" напишите, а то, неровен час, бить за "INTEL" начнут ))) - хи-хи(03.06.2012 23:54, )
- Лучше бы AMD или Intel сделали аппаратный quadruple precision (128-bit float). И почему никто не делает этого? - Ксения(04.06.2012 01:44, ссылка)