Oberon space

General Category => Общий раздел => Тема начата: Kemet от Апрель 14, 2013, 05:18:59 pm

Название: Математическое расширение Оберона
Отправлено: Kemet от Апрель 14, 2013, 05:18:59 pm
В Активном Обероне куча нововведений, которые отсутствуют в официальной документации А2, да и имеющаяся давным давно устарела и вообще её там с гулькин нос.
Совершенно случайно сегодня наткнулся на документы, которые проливают свет на суть вопросов, связанных с этим самым математическим расширением:

F. Friedrich, J. Gutknecht, O. Morozov, P. Hunziker. A Mathematical Programming Language Extension for Multilinear Algebra. Proc. Kolloqium über Programmiersprachen und Grundlagen der Programmierung, Timmendorfer Strand 2007. (http://www.nativesystems.inf.ethz.ch/pub/Main/FelixFriedrichPublications/ProgrammingMultilinearAlgebra.pdf)

F. Friedrich, J. Gutknecht. Array-Structured Object Types for Mathematical Programming. Proc. Joint Modular Language Conference, Oxford 2006.
 (http://www.nativesystems.inf.ethz.ch/pub/Main/FelixFriedrichPublications/ArrayStructuredOT.pdf)
Название: Re: Математическое расширение Оберона
Отправлено: Kemet от Апрель 14, 2013, 05:41:48 pm
Слайды на тему математических массивов (pdf) (http://www.nativesystems.inf.ethz.ch/pub/Main/FelixFriedrichPublications/TalkFriedrich060917.pdf)
Название: Re: Математическое расширение Оберона
Отправлено: DddIzer от Апрель 15, 2013, 08:01:23 pm
ммм. не очень понятно, что хотели авторы сказать этой статьями ... с одной стороны, вроде такие же операторы есть и в матлабе, с другой стороны вроде никто не сомневается, что следование алгебраической нотации повысит читабельность кода.. Неясно, также,  включены ли эти расширения в ОФИЦИАЛЬНУЮ версию АО.. или это только исследовательское поделье...
Название: Re: Математическое расширение Оберона
Отправлено: DddIzer от Апрель 15, 2013, 08:05:37 pm
...просмотрел все статьи.. вроде одно и то же.... -муть, короче говоря...
Название: Re: Математическое расширение Оберона
Отправлено: DddIzer от Апрель 15, 2013, 08:11:31 pm
и потом, расширения расширениями... но идея  использования для высокопроизводительных вычислений ЯП с ГК... как то весьма притянута за уши...    ИМХО, конечно, но все же...
Название: Re: Математическое расширение Оберона
Отправлено: Kemet от Апрель 16, 2013, 09:29:56 am
Математическое расширение давным давно реализовано в А2, еще старый компилятор paco  поддерживал. В новом компиляторе fox это дело более оптимизированное, а учитывая, что в новом компиляторе для массивов можно перегружать операторы, то ещё и удобное.
Сборщик мусора здесь никаким боком не мешает, всё отлично работает
Название: Re: Математическое расширение Оберона
Отправлено: DddIzer от Апрель 16, 2013, 10:53:52 am

Сборщик мусора здесь никаким боком не мешает, всё отлично работает
Почему.. он МОЖЕТ мешать в любом ЯВУ с ГК на нагруженных задачах(даже если расширение яп небезопасно - т.е. управляется не ГК). Да, забавная, но честная оценка накладных расходов связанных с проверкой диапазонов индексов массивов
.. в статье они дают ~25% , тогда как адепты оберонизма (вроде бы Шиперски ) <5% , т.е. практически незаметно.
Название: Re: Математическое расширение Оберона
Отправлено: DddIzer от Апрель 16, 2013, 11:17:31 am
Математическое расширение давным давно реализовано в А2, еще старый компилятор paco  поддерживал. В новом компиляторе fox это дело более оптимизированное, а учитывая, что в новом компиляторе для массивов можно перегружать операторы
то есть смысл работы заключается только в   перегрузке (и оптимизации соответствующих алгоритмов) операторов для работы с динамическими массивами?
Название: Re: Математическое расширение Оберона
Отправлено: valexey_u от Апрель 16, 2013, 11:36:26 am

Сборщик мусора здесь никаким боком не мешает, всё отлично работает
Почему.. он МОЖЕТ мешать в любом ЯВУ с ГК на нагруженных задачах(даже если расширение яп небезопасно - т.е. управляется не ГК). Да, забавная, но честная оценка накладных расходов связанных с проверкой диапазонов индексов массивов
.. в статье они дают ~25% , тогда как адепты оберонизма (вроде бы Шиперски ) <5% , т.е. практически незаметно.

На разных задачах сравнивает. Шиперски видимо говорит про обычную бизнес-логику. А в статье этой говорят конкретно про числодробление, про DSP и так далее (скажем обработка изображений). Это разные задачи. И оптимизации там играют очень по разному. См. например мой отчет по хакотону - там как раз было оно.
Название: Re: Математическое расширение Оберона
Отправлено: DddIzer от Апрель 16, 2013, 12:01:39 pm


На разных задачах сравнивает. Шиперски видимо говорит про обычную бизнес-логику. А в статье этой говорят конкретно про числодробление, про DSP и так далее (скажем обработка изображений). Это разные задачи. И оптимизации там играют очень по разному. См. например мой отчет по хакотону - там как раз было оно.
я на это и намекаю.. что в данном случае сравнение честное (рассматриваются приложения активно использующие массивы)... в отличие от труда Шиперского в котором он выдавал желаемое за действительное.
Название: Re: Математическое расширение Оберона
Отправлено: Kemet от Апрель 16, 2013, 04:31:56 pm
то есть смысл работы заключается только в   перегрузке (и оптимизации соответствующих алгоритмов) операторов для работы с динамическими массивами?
смысл заключается в ведении соответствующей алгебры так сказать.
а перегрузка к математическому расширению языка не относится, это, скорее ооп расширение, я об этом упомянул потому как речь шла о массивах.
что касается матрасширения, то на уровне языка введены новые комплексные типы, математические и тензорные массивы, соответствующие операторы над ними. Есть оптимизированные версии библиотеки под x86_32 и amd64 (переписана на асме, используется sse расширения).
Всё это позволяет вместо трехэтажных конструкций и ручного управления, писать компактные, легко обозримые и интуитивно понятные производительные программы, снижая количество ошибок.
По ссылкам есть соответствующие примеры. Гдето находил рабочий файлик с примерами трансформации матриц.
К сожалению в самой А2 документация на эту тему отсутствует, приходится вести археологические раскопки

Мне думается, что это расширение открывает хорошие перспективы в А2 по обработке видео/графики/звука...
Название: Re: Математическое расширение Оберона
Отправлено: DddIzer от Апрель 16, 2013, 05:39:29 pm

Всё это позволяет вместо трехэтажных конструкций и ручного управления, писать компактные, легко обозримые и интуитивно понятные производительные программы, снижая количество ошибок.

это и есть близость к алгебраической нотации (насколько это возможно для данного ЯВУ) - ничего нового (поскольку ВЫ сказали , что ЭТО расширение ЯП было сделано давно)...