Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Перспективы для программиста в Германии

3031   2 3 4 5 6 7 8 9 10 11 12 все
Bigfoot коренной житель28.09.17 23:53
Bigfoot
NEW 28.09.17 23:53 
в ответ AlexNek 28.09.17 23:19

Если Вы считаете, что что-то пояснили, то Вы жестоко заблуждаетесь. Вы лишь внесли еще большее непонимание.

Я не знаю, что именно нужно Вашим пользователям.

Я не знаю, что такое "тестовые сигналы", как именно они генерятся и какие существуют временные ограничения на их генерацию.

Я не понимаю, как при наличии аналитической модели можно испытывать проблемы с параметрами.

Я не понимаю, почему для вас медленновата функция возведения в степень и почему Вы используете медленное "железо" там, где нужны быстрые вычисления.

Я не понимаю, почему Вы не можете разделить процесс генерации самой кривой и процесс генерации тестового сигнала согласно оной.


Короче, за небольшую, но достойную :) сумму я готов решать Ваши проблемы даже с помощью телепатии. :) А если хотите нахаляву - выкладывайте подробности, а не кормите обрывочными сведениями.

Oh gravity, thou art a heartless bitch! (c) Dr.Cooper
AlexNek патриот29.09.17 00:33
AlexNek
NEW 29.09.17 00:33 
в ответ Bigfoot 28.09.17 23:53

К сожалению, проблема интересна исключительно для меня. Фирма денег на это не даст. Я даже в рабочее время не могу этим официально заниматься. Хотя на будущее было бы интересно узнать Ваши расценки, так как иногда появляются проблемы для математика.

Я пока ничего не пояснял, просто просматривал последние темы и наткнулся на Ваш пост про математику.

Приехал только вчера из "Ада" и еще не отошел. Думаю, как формулы увидите все станет понятно.

  ilghiz постоялец29.09.17 09:02
NEW 29.09.17 09:02 
в ответ Bigfoot 28.09.17 23:53

> Я не понимаю, почему для вас медленновата функция возведения в степень и почему Вы используете медленное "железо" там, где нужны быстрые вычисления.

стандартная ситуация в электронике - засунуть .NET на Cortex M4 и потом плакаться, что флопов не хватает (а иногда этих флопов и в помине нет из-за отсутствия поддержки плавающей точки и крутятся она на эмуляции).


> Я не понимаю, почему Вы не можете разделить процесс генерации самой кривой и процесс генерации тестового сигнала согласно оной.

телепатирую, что это эмбеддед и ничего кроме голово шарпа туда не влезает, а так как у того же кортекса оперативки 64К (я не оговорился, да только 64 килобайта или около того) то мечтать о адекватных вычислениях на лапаке не приходится.

Bigfoot коренной житель29.09.17 09:13
Bigfoot
NEW 29.09.17 09:13 
в ответ ilghiz 29.09.17 09:02, Последний раз изменено 29.09.17 09:39 (Bigfoot)

"Меня терзают смутные сомненья" (с)

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


PS. Кстати, можно тупо хранить в памяти таблицу косинусов или даже степеней косинусов. Что резко снизит выч.затраты - интерполирование принципиально жрет меньше ресурсов. Таблицы Брадиса рулят! спок

Oh gravity, thou art a heartless bitch! (c) Dr.Cooper
Simple Nothing is f*cked29.09.17 09:39
Simple
NEW 29.09.17 09:39 
в ответ JosefSchwejk 28.09.17 20:21

А что толку с такого вопроса, если он в принципе не имеет отношения к ситуации? Ясно, что ответ будет, скорее всего, нет. Но это ничего не доказывает.

Murr_0002 постоялец29.09.17 09:55
Murr_0002
NEW 29.09.17 09:55 
в ответ AlexNek 28.09.17 23:19

один из параметров будут степени для синуса/косинуса, а функция POW получается медленоватой

------

А тебе оно не нужно.

Когда получаются подобные требования, то есть смысл сделать табличку... ну 100х100 в большинстве случаев будет достаточно.

Индексация - приведенные параметры, а в клеточки - прописываешь... нее, не результат расчета, а предписываемое действие...

ну или указатель на функцию-реакцию...

и все начинает летать...

  ilghiz постоялец29.09.17 09:58
NEW 29.09.17 09:58 
в ответ Bigfoot 29.09.17 09:13

> PS. Кстати, можно тупо хранить в памяти таблицу косинусов или даже степеней косинусов. Что резко снизит выч.затраты - интерполирование принципиально жрет меньше ресурсов. Таблицы Брадиса рулят! спок

сейчас много ресеча в этом направлении. У меня в моей аппаратуре при потреблении около 10 ватт удается вычислять примерно 10 миллиардов тригонометрических операций в секунду (sin, cos, atan2) в основном с точностью сравнимой с double precision. Аналогичная вычислительная мощность на писишках достигается только на 32 ядрах ксеона на 4ГГц. То есть если понимать как, то и на эмбеддед можно терафлопы получать.


Но телепаты в отпуске, и пока не будет озвучена платформа и то, что надо фиттить, думаю, дальше бессмысленно обсуждать.

Murr_0002 постоялец29.09.17 10:03
Murr_0002
NEW 29.09.17 10:03 
в ответ ilghiz 29.09.17 09:02

64 килобайта или около того) то мечтать о адекватных вычислениях на лапаке не приходится

------

Бред.

В стародавние времена у меня декомпилятор работал в 8К... туда же еще и Бейсик грузился...

И все адекватно считалось...


По непоняткам в .НЕТ...

Есть два массива, отсортированные по ключам, Делается выборка пар по заданному критерию.

аналог джойна...

Так вот нефига не понимаю почему даже вылизанный код работает медленнее ЛИНКа...

Единственное, что в голову приходит, так это то, что реализация ЛИНКа нефига не .НЕТовская...


  ilghiz постоялец29.09.17 10:05
NEW 29.09.17 10:05 
в ответ Murr_0002 29.09.17 09:55, Последний раз изменено 29.09.17 10:07 (ilghiz)

> Когда получаются подобные требования, то есть смысл сделать табличку... ну 100х100 в большинстве случаев будет достаточно.

не забываем, что даже такая маленькая табличка в 10 тыс элементов уже не лезет в кеш первого уровня (16КБ у современных интелов) и бегать по ней процессор будет уже несколько тактов, сильно тормозя вычисления и вынося все остальные вычисления из быстрого кеша со всеми вытекающими тормозами.


> Бред.

> В стародавние времена у меня декомпилятор работал в 8К... туда же еще и Бейсик грузился...

и у вас там лапак из бейсика вызывался - улыбнуло :)

  JosefSchwejk знакомое лицо29.09.17 10:25
NEW 29.09.17 10:25 
в ответ Simple 29.09.17 09:39

О каком вопросе речь?

Murr_0002 постоялец29.09.17 10:30
Murr_0002
NEW 29.09.17 10:30 
в ответ ilghiz 29.09.17 09:58

10 миллиардов ... с точностью сравнимой с double precision.

-----

И?

Замена не СИН/КОС/ТАН таблицами, а всего выражения где они используются, на таблицу... особенно, если входные/выходные параметры можно сильно огрублять без заментого ущерба, даст еще пару порядков по скорости.

Вот пару недель как заменил выборочно-расчетную часть у себя по этой методике - время упало с где-то 40 секунд по 0.6 секунды... нужно еще по ходу поменять константы для исключения деления - все будет бегать в "реальном времени"... Хотя... у меня ограниченное количество входных данных - могу и этот расчет загнать в таблицу - будет где-то 0.2 сеk...


То есть если понимать как, то и на эмбеддед можно терафлопы получать.

-----

Из одной старой задачки...

Надо было обучить робота балансированию предметом.


Начальный вариант - считали форму предмета, определяли центр тяжести, считали его траекторию при воздействиях в определенных сигналах с датчиков, принимали решения по тому какие двигатели, на сколько и при какой мощности надо включать.

Потребность в вычислительной мощности - почти маинфрайм...


Конечный вариант - входные сигналы с датчиков огрубили до 3-х значений - игнорируемый, желательна коррекция, необходима коррекция, аналогично загрубили результат - мощность - ноль, половина, полная...

Потребность в вычислительной мощности - микроконтроллер...


Что интересно:

- увеличение количества градаций мало влияло на качество отработки...

- во втором случае предмет ронялся много реже...

Murr_0002 постоялец29.09.17 10:39
Murr_0002
NEW 29.09.17 10:39 
в ответ ilghiz 29.09.17 10:05

е забываем, что даже такая маленькая табличка в 10 тыс элементов уже не лезет в кеш первого уровня

-----

Когда у тебя результатом вычислений является вызов одной из 4-х функций, то требуется всего 2.5К...

Это - в прямую...

В реальности - 100х100 - избыточно для большинства задач... вполне может быть достаточным 3х3х3...


бегать по ней процессор будет уже несколько тактов

-----

Чтоб оно меня заботило.

Меня, обычно, такты нисколько не интересуют. Меня, обычно, интересует выявить и исключить избыточную

часть расчетов... т.е. совсем исключит триллионы тактов...



у вас там лапак из бейсика вызывался

-----

А как у ваМ лапак прикручивается к декомпиляции?

  ilghiz постоялец29.09.17 10:43
NEW 29.09.17 10:43 
в ответ Murr_0002 29.09.17 10:30, Последний раз изменено 29.09.17 10:49 (ilghiz)

> Замена не СИН/КОС/ТАН таблицами, а всего выражения где они используются, на таблицу

запасся попкорном посмотреть какого размера получится таблица при 53 битах точности (double precision) и с какой скоростью по ней вы будете бегать, учитывая, чт оскорость доступа к оперативной памяти примерно в 500 раз больше скорости выполнения арифмерических операций на современных архитектурах - то есть сделать 500 умножений вам будет стоить столько же, как считать 8 байт рандом из большой таблицы, которая не влезла ни в один кеш процессора.


> В реальности - 100х100 - избыточно для большинства задач... вполне может быть достаточным 3х3х3...

и тут попкорн не помешает посмотреть как синус по трем точкам табулируется :)

Bigfoot коренной житель29.09.17 10:43
Bigfoot
NEW 29.09.17 10:43 
в ответ ilghiz 29.09.17 10:05

Все, можно тему закрывать. Ее захлестнул бессмысленный и беспощадный поток сознания мурра.

Oh gravity, thou art a heartless bitch! (c) Dr.Cooper
Murr_0002 постоялец29.09.17 11:01
Murr_0002
NEW 29.09.17 11:01 
в ответ ilghiz 29.09.17 10:43

какого размера получится таблица при 53 битах точности

-----

А тебе точно все 53 нужны? Я вот пытался объяснить что часто оно нафиг не требуется...


примерно в 500 раз больше

-----

Из последующего понятно что подразумевалось меньше. НУ да не суть...


Сравнивать надо выкинутый трильярд умножений с двух-трех кратным доступом к памяти...


Поверь - Я ловил такты как это делаешь сейчас ты. Во времена Фортрана, при 8-ми гавриках

делящих 32Кб феритовой рамы и ресурс двухрегистрового проца это приходилось делать.

Програмки тогда были в 600-700 (все в голове) строк - можно было оптимизюлить до упора.

Но, это далеко не всегда эффективно. Часто можно выкинуть расчет, целиком заменив его

табличной апроксимацией. Что Я, в своих нынешних 2Гб кода потихоньку и делаю.

Это - работает и, в моих задачах, работает весьма неплохо.

Simple Nothing is f*cked29.09.17 11:22
Simple
NEW 29.09.17 11:22 
в ответ JosefSchwejk 29.09.17 10:25

https://foren.germany.ru/showmessage.pl?Cat=&Board=program...

Если вдруг не знаете, "в ответ ..." - это ссылка.

  JosefSchwejk знакомое лицо29.09.17 11:40
NEW 29.09.17 11:40 
в ответ Bigfoot 29.09.17 10:43

Murr'а засосала опасная трясина, и жизнь его вечная игра улыб

Murr_0002 постоялец29.09.17 11:53
Murr_0002
NEW 29.09.17 11:53 
в ответ ilghiz 29.09.17 10:43

и тут попкорн не помешает посмотреть как синус по трем точкам табулируется :)

-----

Ну а как 16 бит развертываются в 32 милисекунды звука тебе объяснить?

Там получается - много меньше 3-х точек на синус... и ничего - работает и соответствует ГОСТу...

А свертку? Там часть работы таки аккурат разложение сигнала на составляющие синусы...


Или ты современным телефоном не пользуешься в виду невозможности проведения

заданного объема вычислений портативным устройством? смущ

Bigfoot коренной житель29.09.17 12:07
Bigfoot
NEW 29.09.17 12:07 
в ответ Murr_0002 29.09.17 11:53

(задумчиво)

Нет, не хватает у меня воображения, чтобы поместить здесь достойный случая "фейспалм". Те картинки, что именуют "мегафейспалмом", здесь выглядели бы явным преуменьшением.

"Много меньше трех точек на синус" - это годный мем. Что-то вроде армейского "на многие сотни тысяч порядков". В общем, аффтар, пешЫ исчо!

Oh gravity, thou art a heartless bitch! (c) Dr.Cooper
BlauerKarter34 знакомое лицо29.09.17 12:55
NEW 29.09.17 12:55 
в ответ Bigfoot 29.09.17 12:07


Подойдёт ?

2 3 4 5 6 7 8 9 10 11 12 все