-
- Вот небольшое пояснение: SciFi(1 знак., 04.11.2023 08:39, ссылка)
- Спасибо. Пишут примерно о том, что я сам выяснил с экспериментами. - Nikolay_Po(04.11.2023 14:48)
- Искать косяк. Это может и не связано с math или float. Судя по
графикам наблюдается интересный эфект. Величина пиков и направление
зависит от производной а еще в тех самых местах для разных цветов.
Такое впечатление что, что-то с интерполяцией неладное. Посмотрел в
исходники там есть для этого библиотека xicc. framer(329 знак., 04.11.2023 08:30)
- Ещё, проблема может быть в ошибках указателей или индексов. При
включении LTO, есть предупреждения вроде: Nikolay_Po(147 знак., 04.11.2023 16:17)
- Не понимаю, в чём дело с предупреждениями. При включении
оптимизации, жалуется на доступ функции icmMul3x3() к области
меньшего размера, чем аргумент функции. При этом, оба аргумента при
вызове функции имеют тип double[3][3]. Первый - элемент структуры
по указателю на структуру, второй - просто массив в теле функци
set_view(): Nikolay_Po(465 знак., 04.11.2023 17:59)
- Попробовал собрать у себя. Не видел таких предупреждений в этих
местах. Выхлоп сборки framer(330 знак., 05.11.2023 09:35, ссылка, картинка)
- Спасибо за участие. Попробуйте включить оптимизацию 3 и LTO вместе.
Для проверки, вот пробный файл (из реальных данных, только
количество узлов в сетке снижено для уменьшения размера). Nikolay_Po(2644 знак., 05.11.2023 23:18, ссылка, картинка)
- Удалось получить желаемый результат при оптимизации О2 . Виноваты
флаги framer(163 знак., 06.11.2023 00:16, картинка)
- Спасибо! Попробую копнуть глубже. Если получится, напишу в mailing list ArgyllCMS. - Nikolay_Po(06.11.2023 07:43)
- Удалось получить желаемый результат при оптимизации О2 . Виноваты
флаги framer(163 знак., 06.11.2023 00:16, картинка)
- Оптимизацию -O3 -flto пробовали включать? И для линкера тоже? Nikolay_Po(126 знак., 05.11.2023 22:09)
- Да теже предуреждения. Но тесты также работают. А как получить
картинку, что с косякями? что запустить и с какими параметрами? - framer(05.11.2023 22:37)
- Только что составил инструкцию и приложил файл для теста, см. выше. Nikolay_Po(1 знак., 05.11.2023 23:17, ссылка)
- Да теже предуреждения. Но тесты также работают. А как получить
картинку, что с косякями? что запустить и с какими параметрами? - framer(05.11.2023 22:37)
- Спасибо за участие. Попробуйте включить оптимизацию 3 и LTO вместе.
Для проверки, вот пробный файл (из реальных данных, только
количество узлов в сетке снижено для уменьшения размера). Nikolay_Po(2644 знак., 05.11.2023 23:18, ссылка, картинка)
- Да странно. А что с оптимализацией? в xicc и в icc одинаковая?
Может попробовать в xicc/cam02.c в строке 408 сделать так framer(331 знак., 04.11.2023 23:03)
- Оптимизация одинаковая. В папке каждой библиотеки лежит свой Jamfile, в нём просто копируются общие параметры, заданные переменной из Jambase. Не помогает. Попробовал объявить tm как volatile, всё равно ругается так же. Ошибок в коде не нашёл. Всё довольно прямолинейно, с явной индексацией, без вычисления указателей. Nikolay_Po(147 знак., 04.11.2023 23:36)
- Попробовал собрать у себя. Не видел таких предупреждений в этих
местах. Выхлоп сборки framer(330 знак., 05.11.2023 09:35, ссылка, картинка)
- Не понимаю, в чём дело с предупреждениями. При включении
оптимизации, жалуется на доступ функции icmMul3x3() к области
меньшего размера, чем аргумент функции. При этом, оба аргумента при
вызове функции имеют тип double[3][3]. Первый - элемент структуры
по указателю на структуру, второй - просто массив в теле функци
set_view(): Nikolay_Po(465 знак., 04.11.2023 17:59)
- Спасибо. Да, именно в этой библиотеке, в этих функциях проявляется
проблема. Поищу, как выключить оптимизацию отдельно для части кода.
Но, с другой стороны, именно оптимизация этой части меня интересует
больше всего. Она напрямую влияет на время построения профилей и
большая скорость позволяет мне проверить больше вариантов профилей
при тонкой настройке параметров последних. - Nikolay_Po(04.11.2023 14:47)
- а ты argyllcms сам пересобираешь или тупо линкуеш в проект? - klen(05.11.2023 01:25)
- Расставить скобки в выражениях даже когда они не обязательны. При
оптимизпции выше O0 переупорядочиваются вычисления и где то
теряется разрядность. - 3m_co_cмapтфoнa(04.11.2023 12:15,
)
- Ещё, проблема может быть в ошибках указателей или индексов. При
включении LTO, есть предупреждения вроде: Nikolay_Po(147 знак., 04.11.2023 16:17)
- Вот небольшое пояснение: SciFi(1 знак., 04.11.2023 08:39, ссылка)