LINUX.ORG.RU

Бесплатная версия Scieneer Common Lisp

 ,


0

0

Scieneer Common Lisp - это форк CMUCL, сделанный в 2000 году. Основные усилия по развитию языка были сфокусированы на высокопроизводительных научных расчетах (high-performance scientific computing). В результате, по мненю авторов, получился "Professional Common Lisp implementation for Symmetrical Multi-Processor (SMP) systems which is a key requirement for many high performance computing and enterprise applications."

Платформы, поддерживаемые языком:
32-bit (Linux x86 Solaris [x86, SPARC], HPUX 11.11 HPPA),
64-bit (Linux x86-64 Solaris [x86-64, SPARC], HPUX 11.11 HPPA).

>>> Подробности



Проверено: Shaman007 ()
Ответ на: комментарий от anonymous

> Ну-ну. Man dsolve/numeric в Maple. ode в Matlab имеет низкую точность.

Дурак, точно. Ты численные задачи вообще видел приличные? Клён или матлаб на нормальной задаче просто сдохнут.

> P.S. прежде чем 3.14деть, вы хотя-бы поработать попробывали...

Что-то тут хамья расплодилось. Ты, вероятно, студентишко?

anonymous
()
Ответ на: комментарий от anonymous

>Ты, вероятно, студентишко?
Это ты - студентишко.
>Ты численные задачи вообще видел приличные?
А мне приличные не нужны, нужны те которые есть. И считать их нужно быстро (в смысле результата, а не скорости счета). И разговор был про то, что maxima не обеспечивает на спец. функциях достаточной точности.


>Что-то тут хамья расплодилось.
И не говори...

anonymous
()
Ответ на: комментарий от anonymous

> И считать их нужно быстро (в смысле результата, а не скорости счета). И разговор был про то, что maxima не обеспечивает на спец. функциях достаточной точности.

Студентишко тупое - ты всунуло своё рыло совсем в другой разговор. Ты бы ещё пожаловался, что на bc сложно гуй рисовать, или что в bash спецфункций нет.

Повторяю для тупых: Maxima - система аналитических вычислений. Так что тебе стоило помалкивать про свои численные задачи. Усёк?

anonymous
()
Ответ на: комментарий от mv

>Признаю, был неправ. compile-file действительно помог, хотя беглым просмотром disassemble в том и другом случае разницы не увидел.

В clisp'е последнем тоже должен быть (обещали по крайней мере) компилятор оптимизированный. Не пробовали?

rtc ★★
()
Ответ на: комментарий от rtc

JIT на gnu lightning? Мне не удалось его с ним собрать.

anonymous
()
Ответ на: комментарий от anonymous

>или что в bash спецфункций нет.
Так в maxima есть. И в maple есть.
>Maxima - система аналитических вычислений.
Сдается мне, что ты не понимаешь, о чем говоришь.
Системы компьютерной алгебры не могут не иметь методов численной оценки.
И они имеют. В той же maxima: QUADPACK для численного интегрирования,
dynamics (Runge-Kutta)и т.д.

Похоже, ты не считаешь их численными.


>Студентишко тупое - ты всунуло своё рыло совсем в другой разговор.
>Так что тебе стоило помалкивать про свои численные задачи. Усёк?

Ну то что ты хам, это понятно.
Так что, мальчик, иди погуляй...

P.S.Может тебе дать простую задачу ode с начальными условиями, чтобы ты ее решил, гений ты наш. Или матфизику вы еще не проходили?




anonymous
()
Ответ на: комментарий от anonymous

>Для Ъ - maxima хоть под него собирается?

+1. Тоже интересно. Сейчас сижу на SBCL из-за возможности использования многопоточности. Есть ли такая возможность в SCL?

Anton_A
()
Ответ на: комментарий от anonymous

>Ни то, ни другое, для численных задач вообще не пригодно. А для аналитических задач maxima вполне применима, уж всяко не хуже maple.

Я может не так что-то делаю, но для моих вычислений больше всего подходит /dev/brain & /dev/hands, всё остальное - максимум для частичной проверки результатов, а там уже без разницы, чем пользоваться.

Anton_A
()
Ответ на: комментарий от Anton_A

Ещё один студент, которому надо задачки по матану решать?

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

anonymous
()
Ответ на: комментарий от Anton_A

Так и есть, студент.

Повторяю для тупых студентов - аналитические системы не для того сделаны.

anonymous
()
Ответ на: комментарий от anonymous

Для чего? Для автоматического воспроизведения решений однотипных уравнений? Это не моё. Это годится максимум для проверки.

Anton_A
()
Ответ на: комментарий от anonymous

У меня на 2х ядрах 1.5 ГГц и 4х гигах оперативы определитель матрицы (для проверки правильности составления) вычисляется больше часа. Хотелось бы немного быстрее.

Anton_A
()
Ответ на: комментарий от Anton_A

Для генерации и оптимизации вычислительного кода. А что не твоё - и так ясно, ты ж студентик.

anonymous
()
Ответ на: комментарий от anonymous

Э, дорогой, не съезжайте с темы. Как насчет реализации численных методов в той же maxima? А то, знаете, за базар нужно отвечать.

P.S. Ты бы сам почитал свой бред. Хочешь показать, что не студент? Хм...

anonymous
()

Я студент, задавайте вопросы.

anonymous
()
Ответ на: комментарий от Anton_A

> +1. Тоже интересно. Сейчас сижу на SBCL из-за возможности использования многопоточности. Есть ли такая возможность в SCL?

Мультитрединг там одной их key feature заявлен.

mv ★★★★★
()
Ответ на: комментарий от rtc

> В clisp'е последнем тоже должен быть (обещали по крайней мере) компилятор оптимизированный. Не пробовали?

У clisp'а проблема в том, что он генерирует и исполняет байткод. А у sbcl проблема в том, что он маленькие куски кода оптимизирует очень хорошо, а в более-менее глобальной перспективе - не очень. Т.е. запросто может перейти за килобайт к короткому коду, а потом вернуться обратно. Ну и вообще, за заполнение процессорных пайпов и кэша совершенно не следит. И ещё настройки политики оптимизации часто в большом коде неправильно применяются почему-то. Т.е. локально смотришь, допустим, во что aref сгенерировался - хорошо, boxing/unboxing не делает, а в более-менее большой функции вдруг упорно начинает работать с fixnum, на чём неслабо времени в числодробилках теряется. Если когда-нибудь это допилят, то от Си ей богу не сильно отличаться по скорости будет.

mv ★★★★★
()
Ответ на: комментарий от anonymous

> Оно компилирует перед этим, пруф:

Так в том то и дело, что CMUCL не компилировать не умеет. Для меня полной неожиданностью было такое поведение SCL. Может быть, какая-то скриптоэмуляция внутри него выполняется до явного compile, но в другом форке CMUCL - SBCL - лисповый код генерируется сразу в машинный, и всё работает сразу быстро. Даже в REPL.

mv ★★★★★
()
Ответ на: комментарий от mv

>Так в том то и дело, что CMUCL не компилировать не умеет. Для меня полной неожиданностью было такое поведение SCL.

Насколько я помню SBCL internals, которые, я предполагаю, унаследовались от CMUCL, там есть несколько уровней представления -- IR1 и IR2. По ходу написания и ссылочку нашел:

http://sbcl-internals.cliki.net/Compiler

>Может быть, какая-то скриптоэмуляция внутри него выполняется до явного compile,

Вот, наверное, на уровне одной из этих Internal Representation он и выполняет код до явной компиляции. Предполагаю, что интерпретатор в SBCL (который есть, как заявлено), тоже использует одно из этих представлений.

Zubok ★★★★★
()
Ответ на: комментарий от Sun-ch

>cc -O3 -o digamma digamma.c -lm
>time digamma

>1.624u 0.004s 0:01.61 100.6% 0+0k 0+0io 0pf+0w


На каком проце мерялось и кто логарифм тут считал -- библиотека эмуляции или ЦП ?

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

Ты сложи хотя бы все выхлопы timeit и аналогично в лиспе, и затем распечатай -- тогда будет интересно.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от Zubok

> Вот, наверное, на уровне одной из этих Internal Representation он и выполняет код до явной компиляции. Предполагаю, что интерпретатор в SBCL (который есть, как заявлено), тоже использует одно из этих представлений.

Нет, SBCL всегда и везде маш.код генерит и исполняет. И интерпретатора IR2 или даже IR1 там нет

mv ★★★★★
()
Ответ на: комментарий от mv

Ну а это тогда о чем?

http://www.sbcl.org/manual/Interpreter.html#Interpreter

Проверить не могу, так как 0.9.16 у меня. Обновляться, разумеется, не хочу -- меня пока устраивает. Работа кипит, скорость пока не волнует. :)

И вот это интересно и как раз по теме.

http://www.cons.org/cmucl/doc/different-compilers.html

Zubok ★★★★★
()
Ответ на: комментарий от mv

> Так в том то и дело, что CMUCL не компилировать не умеет. Для меня полной неожиданностью было такое поведение SCL. Может быть, какая-то скриптоэмуляция внутри него выполняется до явного compile, но в другом форке CMUCL - SBCL - лисповый код генерируется сразу в машинный, и всё работает сразу быстро. Даже в REPL.

Все немножко не так. В CMUCL есть интерпретатор, после форка из SBCL его вырезали, потом обратно вернули на место. В CMUCL тоже он до сих пор есть. Подробнее см. ссылки выше.

anonymous
()
Ответ на: комментарий от mv

> У clisp'а проблема в том, что он генерирует и исполняет байткод.

У clisp есть JIT, правда пока еще не очень хороший и не очень стабильный. Не вводите людей в заблуждение.

anonymous
()
Ответ на: комментарий от anonymous

> У clisp есть JIT, правда пока еще не очень хороший и не очень стабильный. Не вводите людей в заблуждение.

Действительно, с прошлой версии (2.45) экспериментально lightning прикрутили (aka ещё не работает). А вы его использовали сами?

mv ★★★★★
()
Ответ на: комментарий от Zubok

> Проверить не могу, так как 0.9.16 у меня. Обновляться, разумеется, не хочу -- меня пока устраивает. Работа кипит, скорость пока не волнует. :)

Хммм... Мои знания устарели :( *evaluator-mode* понимает :interpret

mv ★★★★★
()
Ответ на: комментарий от AVL2

> Ну и зачем все это после выхода php 5?

Ну как же, чтоб глобаьность и надёжность ещё больше выпирали!

anonymous
()
Ответ на: комментарий от mv

Анонимус выше, писавший про lightning, это я. И к слову сказать, сейчас к clisp еще и треды прикручивают.

anonymous
()
Ответ на: комментарий от anonymous

> Анонимус выше, писавший про lightning, это я. И к слову сказать, сейчас к clisp еще и треды прикручивают.

OS-level или в виртуальную машину?

mv ★★★★★
()
Ответ на: комментарий от Anton_A

> У меня на 2х ядрах 1.5 ГГц и 4х гигах оперативы определитель матрицы (для проверки правильности составления) вычисляется больше часа. Хотелось бы немного быстрее.

Обрати внимание на рассчёты с применением видеоплат, вроде CUDA. Они неплохо годятся для массивно-параллельных считалок. Правда она реально только float поддерживает, double уже сильно тормознее.

anonymous_incognito ★★★★★
()
Ответ на: комментарий от anonymous_incognito

> Правда она реально только float поддерживает, double уже сильно тормознее.

Ну что такое 32-битный float для научных расчётов? Там же точность через полсекунды уедет так далеко, что и смысла в самом результате не будет. Вот руками на sse2 можно неплохо выиграть. Хотя 64 бита тоже не всегда хватает.

mv ★★★★★
()
Ответ на: комментарий от Anton_A

> У меня на 2х ядрах 1.5 ГГц и 4х гигах оперативы определитель матрицы (для проверки правильности составления) вычисляется больше часа. Хотелось бы немного быстрее.

А ты уверен, что maxima верный инструмент?

Протестировал вычисление детерминанта целочисленной матрицы:

14x14 на maxima+sbcl вычисляется 17 секунд

100x100 на PARI вычисляется меньше секунды.

Даже ad hoc решение на лиспе будет быстрее, ибо в maxima своя реализация bignum'ов, которая довольно медленная, подозреваю, что это часть проблемы.

anonymous
()
Ответ на: комментарий от mv

> Ну что такое 32-битный float для научных расчётов? Там же точность через полсекунды уедет так далеко, что и смысла в самом результате не будет.

Ну бывают задачи, где 32-бит float достаточно, кроме того, всё-равно, вполне можно использовать до достижения определённой точности с дальнейшим уточнением в double.

anonymous_incognito ★★★★★
()
Ответ на: комментарий от anonymous

Ну как зачем.. Для эффективного использования многопоточности при разработке ПО на Lisp предназначенного для функционирования в условиях использования симметричных многопроцессорных систем.

MiracleMan ★★★★★
()

Тут народ говорит, у них мол работа кипит. А какие задачи решаете лиспом? Чисто научные или практические? Просто я не могу понять, как и для чего Lisp в практике использовать.

anonymous
()
Ответ на: комментарий от anonymous

> Тут народ говорит, у них мол работа кипит. А какие задачи решаете лиспом? Чисто научные или практические?

Душевные. "Lisp is for soul" (c) Кто-то с ЛОРа.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

> Просто я не могу понять, как и для чего Lisp в практике использовать.

Mozhesh dazhe ne naprygat' svoj mozzhechok. Slishkom uzko on u tebya uzh myslit.

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от anonymous

>Тут народ говорит, у них мол работа кипит. А какие задачи решаете лиспом? Чисто научные или практические?

Практические.

Zubok ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.