Russian Qt Forum
Апрель 29, 2024, 01:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Ускорить огромный цикл (Корреляционные моменты)  (Прочитано 13187 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #15 : Декабрь 02, 2013, 09:54 »

Брысь
Old, Вы пожалуйста дома так разговаривайте со своим котом, а здесь ведите себя прилично и не кичитесь тем что Вы считаете "знаниями".

Мне не нужно читать такие сомнительные (мягко говоря) статьи, т.к. эти вещи мне известны еще по моей первой работе. Помню не работала команда "сложение без нормализации" - ну починил, правда долго сидел. Хотел я или нет - пришлось запомнить как равняются мантиссы. А тут какой-то сынок расписывает "с пятого на десятое". А другой дурачок, прочитавший это, возомнил себя умным и знающим, дает советы направо и налево. Право, несерьезно  Улыбающийся 
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #16 : Декабрь 02, 2013, 10:12 »

т.к. эти вещи мне известны еще по моей первой работе. Помню не работала команда "сложение без нормализации" - ну починил, правда долго сидел.
Это лучше рассказывать благодарной публике, которая будет верить этой лапше. Пока все говорит об обратном. Улыбающийся

А другой дурачок, прочитавший это, возомнил себя умным и знающим, дает советы направо и налево.  
Зря вы так про Akon, он предложил эту арифметику как вариант, который имеет право на жизнь. Подмигивающий
И да, не все дурочки, которые знают больше вас, скорее наоборот. Улыбающийся

Право, несерьезно  Улыбающийся  
Несерьезно писать такие вещи, которые я бы ожидал от третьеклассника, который ходит на информатику, но не считает ее важной. Улыбающийся
Выглядит как-то наивно - что я сохраню в 16 битах, по 1 цифре на целую/дробную?

Вы правда до сих пор не понимаете разницу между цифрами и числами? Вы не знаете, что можно хранить в 16 битах? По какой одной цифре, о чем вы говорите?

Я вам хотел сначала привести ссылку на википедию, что бы вы наконец узнали, что же можно хранить в 16 битах, но решил, что такие простые вещи вы должны знать. Но нет, видно я ошибся.
Почитайте: http://ru.wikipedia.org/wiki/%D0%A6%D0%B5%D0%BB%D1%8B%D0%B9_%D1%82%D0%B8%D0%BF и не позорьтесь.

А если будет интерес узнать, что же это за арифметика, то пишите, я вам постараюсь на пальцах рассказать, а то "труды из интернета" для вас сложноваты. Подмигивающий
На самом деле там все просто и при некоторых условиях точность 64 битного числа с фиксированной запятой будет выше double. Хотя в повседневной работе эта арифметика скорее всего будет не нужна, точности double хватает, особенно для 3d.
Расцвет фиксированной точки был во времена, когда математический сопроцессор был отдельной дорогой микросхемой и ставился не во все машины. А использовать софтовые библиотеки для расчетов плавающей арифметики в реалтайме было невозможно из-за производительности тех компьютеров.  
« Последнее редактирование: Декабрь 02, 2013, 11:20 от Old » Записан
Majestio
Гость
« Ответ #17 : Декабрь 02, 2013, 10:24 »

ОФФТОПИК:

Парни, призываю к конструктивному подходу! Время - деньги. А "переход на личности" в любых ипостасях - это обычный прием демагогов, пользы от которого - ровно нуль.

АНТИОФФТОПИК:

Предлагаю сперва концептуально обозначить решения, а потом уже копать дальше. Методы которые мне видятся:

1) Уменьшение количества повторений в цикле за счет изменения алгоритма (если возможно)
2) Минимизация обращений к памяти, оптимизация использование процессорного кэша
3) Выбор команд просчета с меньшим количеством процессорных тактов на одно вычисление
4) Выбор команд просчета с пакетным способом вычислений (несколько обсчетов блочно)
5) Использование возможностей GPU
6) Распараллеливание вычислений

Дополняйте.

ИМХО, безусловно, все виды оптимизации скомбинировать не всегда получится (например распараллеливание и использование GPU может вообще ничего не дать, по сравнению с одно-поточным использованием GPU). Естественно, заманчиво использовать оптимизацию комплексно.

В таком ключе побеседуем?  Подмигивающий
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #18 : Декабрь 02, 2013, 15:45 »

В таком ключе побеседуем?  Подмигивающий
Дык нужен топикстартер. Улыбающийся
Интересно сколько же в среднем по времени происходит расчет и на сколько ему хотелось бы его ускорить.
Самое простое, это распараллелить вычисления (руками или с использованием того же OpenMP). Больше ядер - меньше время.
Но я бы сразу смотрел на OpenCL/CUDA. Сейчас видеокарты дешевая масштабируемая мощя. Улыбающийся
« Последнее редактирование: Декабрь 02, 2013, 16:18 от Old » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #19 : Декабрь 02, 2013, 19:34 »

Вы правда до сих пор не понимаете разницу между цифрами и числами? Вы не знаете, что можно хранить в 16 битах? По какой одной цифре, о чем вы говорите?
Есть простое выражение "в одном байте можно сохранить 2 шестнадцатиричные (или десятичные) цифры", и это никак не противоречит др утверждению - 256 возможных значений. Так что ничего безграмотного я не сказал. Да и вообще - зачем тратить свое время на док-во типа "смотрите, он этого не знает!!!!!" ?  Даже если это Вам удастся (предположим) Вы от этого ничего не выиграете, а только потеряете.

Парни, призываю к конструктивному подходу!
Согласен  Улыбающийся

В таком ключе побеседуем?  Подмигивающий
Да наверное ни в каком пока не обозначена "цена вопроса". У меня впечатление что ТС ожидал чего-то простого/бытового, а здесь этого нет. Тот же OpenMP - да, одна строка, но ведь либу тащить и не на одной платформе, изучать опции компилятора и.т.п. Др варианты имеют свои минусы и также требуют времени. Конечно все это решаемо, но имеет смысл если ТС хочет (или условия позволяют) делать это ощутимой работой.

Вообще насколько целочисленная арифметика обгоняет флоты? Я когда-то создавал такую тему, мой простой тест показал что всего в полтора раза. Один человек проверял, вроде у него в 2 раза (тоже не бог весть что). Учитывая что работать с float куда приятнее...
Записан
Majestio
Гость
« Ответ #20 : Декабрь 02, 2013, 19:57 »

Сейчас видеокарты дешевая масштабируемая мощя. Улыбающийся

Про это тока краем уха слышал - в теме про обсчеты хэшей (майнинг биткоинов) Улыбающийся , но совершенно не представляю, кто занимается балансом загруки GPUs, ОС или энд-программер.

Вообще насколько целочисленная арифметика обгоняет флоты? Я когда-то создавал такую тему, мой простой тест показал что всего в полтора раза. Один человек проверял, вроде у него в 2 раза (тоже не бог весть что). Учитывая что работать с float куда приятнее...

Если честно, без понятия. Лично мои увлечения asm закончились еще до появления пентиумов )

Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 22.