Хроника версий:
Версия 1.1d - 30 октября 2008:
Функции [nv...] здесь используют арифметику двойной точности (double precision) - это поддержка возможностей CUDA 2 для плат NVIDIA GeForce 280 GTX и 260 GTX, а также Tesla C1060. Версия 1.1d не предназначена для работы с одинарной точностью, и поэтому несовместима с предыдущими платами GeForce (8-й и 9-й сериями). Вместе с такими платами используйте только версию 1.1.
Функции [nv...] могут теперь вычисляться не только на платах NVIDIA, но и на платах AMD: Radeon HD 3850, 3870, 4850, 4870, а также FireStream 9170 и 9250. Для этого следует установить соответствующее дополнение к LINZIKу.
Эти дополнения заменяют библиотеку runcuda.dll на соответствующий одноименный
аналог, изготовленный по технологии AMD Stream SDK.
Важно! Используйте драйвер Catalyst 8.9 или выше.
Версия 1.1 - 11 июля 2008:
Добавлен метод оптимизации Global-random.
Добавлена кнопка AntiLoop для облегчения выхода из локальных минимумов.
Добавлена индикация текущего GPU.
Увеличена точность вычислений функций [cp...].
Версия 0.91 - 22 июня 2008:
Исправлена ошибка из-за которой нажатие на кнопку "Save Glass" влекло
аварийное завершение.
Улучшена форма _SCALE_SYSTEM.
Отражены в документации функции, введенные ранее, но еще не описанные:
[cp_vig..], [nv_vig..], [__vig].
Версия 0.9 - 18 июня 2008:
Добавлены операторы: HINT.., HINTGLASS..
Добавлена форма GLASSES_nd_Vd - диаграмма Аббе.
Форма GLASSES (частные дисперсии) переименована в GLASSES_partial_dispersion,
и к ней, как и к диаграмме Аббе, добавлена чувствительность к положению мыши -
рядом с точками диаграмм, соответствующих стеклам, при подведении мыши
возникает баллон с информацией о стекле. При правом клике мыши появляется
меню с названием стекла, при выборе из него название стекла попадает
в буфер (clipboard). Затем в редакторе схемы оно может быть вставлено в
подходящее поле по Ctrl-V или Shift-Ins. Таким образом диаграммы теперь
могут использоваться для навигации по каталогу стекл и выбору из него.
В формах FFT_PSF и WAVEFRONT добавлена индикация значения функций в точках,
соответствующих положению мыши.
Все графики, выводимые оператором PLOT, также теперь чувствуют положение
мыши - когда курсор касается линии графика, в баллоне индицируется
соответствующее значение.
Добавлена подсветка синтаксиса в полях "Cond", "Goal", "Calc" и
индикация ложных условий (подсвечиваются операторы сравнения,
выдающие 0), что облегчает оценку обстановки при оптимизации.
Важно! Функции [athick] и [gthick] выдают теперь минимальные толщины
воздуха и стекла только для тех толщин, что назначены переменными для
оптимизации (в столбце Thickness). Функции [aedge] и [gedge] выдают теперь
правильные знаки толщин кромок элементов независимо от знака толщины
в столбцбе Thickness. Функции [gthick] и [gedge] больше не считают MIRROR
стеклом.
Версия 0.81 - 18 мая 2008:
Исправлена ошибка, из-за которой версии 0.7 и 0.8 не работали
в 64-х разрядных Windows.
Работа функций [nv_...] здесь обеспечивается не CUDA 1.1, а CUDA 2.0 BETA -
для совместимости с Vista; если планируется использование этих функций,
то загрузите подходящую новую версию
драйвера.
Версия 0.8 - 7 мая 2008:
Оптимизировано взаимодействие программы с CUDA: функции [nv_srms..] и
[nv_maxr..] работают на 30% быстрее чем в версии 0.7.
Новые функции для вычислений на CUDA:
[nv_2_srms..], [nv_2_maxr..],
[nv_3_srms..], [nv_3_maxr..],
позволяют за одно обращение к ним вычислить характеристики пятен
для всего поля - 2-х или 3-х углов соответственно. Например, функция
[nv_2_srms..] выполняется почти за такое же время как и [nv_srms..],
а эквивалентнa при этом [nv_srms..]+[nv_srms..].
Оптимизирован код трассирования лучей на центральном процессоре.
Новые функции [cp_srms..] и [cp_maxr..] вычисляются вдвое быстрее, чем [srms..] и
[maxr..] соответственно.
Новые функции: [cp_2_srms..] и [cp_2_maxr..] эквивалентны суммам двух
[cp_srms..] или [cp_maxr..], но при наличии в системе двух центральных
процессоров будут вычислены почти вдвое быстрее.
Добавлена функция [rdtsc].
Версия 0.7 - 30 апреля 2008: Powered by NVIDIA CUDA!
Добавлена поддержка вычислений на многопроцессорных видеоадаптерах,
совместимых с технологией NVIDIA CUDA. Новые функции
[nv_srms..] и [nv_maxr..]
вычисляют характеристики пятен, пропуская все лучи пятна одновременно, вызывая
программу параллельных вычислений на процессорах видеоадаптера. Например,
с платой на основе NVIDIA GeForce 8800GT (112 процессоров) получается
ускорение от 2-х до 10-ти и более раз по сравнению с функциями [srms..] и [maxr..]
вычисляемыми центральным процессором Intel Pentium E2180 2 Ггц. Выигрыш
тем сильнее, чем больше оптических поверхностей в схеме.
Добавлены формы DISTORTION - расчет дисторсии, fft_PMTF - полихроматическая
частотно-контрастная характеристика.
Добавлены функции [tick] и [nv_rays].
Версия 0.6 - 10 апреля 2008:
В меню "File" добавлены новые пункты: "New Analyse/Tool", "Edit Analyse/Tool
Source", "Edit Library.lib" - для редактирования форм и библиотеки.
В редактор встроена подсветка синтаксиса языка LINZIK.
Добавлена форма SPOTS - расширенная спот-диаграмма.
Версия 0.5 - 5 апреля 2008:
Добавлены функции [nplates], [variable ..].
Добавлены операторы: LOADPLATES, ? .. .
Добавлены формы VIGNETTING - расчет виньетирования, _SCALE_SYSTEM -
масштабирование системы, _TEST_PLATES - подбор радиусов под указанный набор
пробных стекол с оптимизацией.
Меню "Analysis" расширено как "Analysis & Tools".
Ускорены функции для работы с каталогом стекол.
Максимальное количество поверхностей увеличено от 22 до 126.
Версия 0.4 - 26 марта 2008:
В добавление к шести фиксированным волнам можно ввести седьмую волну с
требуемой длиной.
Добавлены функции [nglasses], [rindex ..], [glassn ..]
Добавлены операторы: LOADGLASSES,
PRINTGLASS, GLASSN .., USERWAVE.
Добавлены формы WAVEFRONT, FOCAL_SHIFT, GLASSES, вызываемые из меню Analysis -
оценка отклонений волнового фронта, хроматические кривые и диаграмма частных
дисперсий стекол соответственно.
Версия 0.3 - 17 марта 2008:
Добавлены функции [nsurfaces], [wlength ..], [ere ..], [eim ..].
Добавлены операторы: INITVAR, INITMEM, SHIFT ...
Добавлены формы: fft_PSF, fft_MTF, вызываемые из меню Analysis - функция
рассеяния точки и частотно-контрастная функция соответственно.
Версия 0.2 - 9 марта 2008:
Добавлены функции [ln ..], [p2 ..], [ro ..], [tr ..], [rnd], [wz ..],
[wy ..].
Добавлены операторы METHOD, FFT.
Оптимизатор может работать по разным методам, задаваемым из
меню или оператором METHOD из форм.
В файле library.lib можно определить функции, на которые можно ссылаться из
полей "Goal", "Cond", "Calc".
Версия 0.1 - 3 марта 2008