[Ответить в тред] Ответить в тред



<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
51 | 4 | 24

ЯП для Математики Аноним 03/09/18 Пнд 22:59:09  1258388  
15352153833380.jpg (38Кб, 313x481)
15356540062890.jpg (46Кб, 720x713)
Какой ЯП самый быстрый для математических вычислений?

Интересует работа с огромными числами, перебор/поиск, а действия стандартные, умножение, степень..., ещё тригонометрия.
Аноним 03/09/18 Пнд 23:06:37  1258393
>>1258388 (OP)
Да, кстати, мне бы ещё CUDA прикрутить, и ресурсы вычислетиельные полностью использовать, а не а-ля Питон 19% от процессора максимум.
Аноним 03/09/18 Пнд 23:10:04  1258397
>>1258388 (OP)
Сишка, фортран и-и-и все
Аноним 03/09/18 Пнд 23:13:51  1258398
>>1258397
Хаскель и плюсы что?
Ассемблер и машкоды?
Аноним 03/09/18 Пнд 23:18:13  1258401
>>1258398
>Хаскель
Медленный, даже медленне питона, из-за ебанутой чистоты и ленивых вычислений.
>плюсы
Будешь юзать stl - соснешь с перфомансом (тебе же надо совсем быстро, так), а так можешь использовать как си с классами
>Ассемблер и машкоды?
Тебе байтоебствовать или считать?
Аноним 03/09/18 Пнд 23:24:09  1258404
>>1258388 (OP)
R, Julia
Аноним 03/09/18 Пнд 23:39:28  1258418
>>1258404
Я точно не знаю, но подозреваю, что Julia/Java в плане производительности сосёт.

Про R не знаю.
Аноним 03/09/18 Пнд 23:42:50  1258421
>>1258397
Встречал утверждения, мол, Фортран в математику быстрее, чем С, типа заточен под неё, но встречал и обратные утверждения, что на С всё быстрее, если руки откуда надо растут.

Ещё сразу стоит отметить, что Фортран, грубо говоря, мёртвый язык, и я пока сомневаюсь, что туда можно припилить CUDA без проблем.
Опять же не проверял, что так да как.
Аноним 03/09/18 Пнд 23:45:18  1258424
>>1258401
А R и Erlang, как?
Аноним 03/09/18 Пнд 23:50:57  1258429
>>1258418
Там все считается в быстрых нативных библиотеках, ты их дергаешь только.

>>1258424
Эрланг вообще про другое.
Аноним 03/09/18 Пнд 23:52:20  1258431
>>1258424
>R
Это для работы с данными, это не совсем числодробилка.
>Erlang
Это тоже не числодробилка, да и вообще медленнее жабы той же и нужен для других вещей.
Аноним 03/09/18 Пнд 23:53:56  1258434
>>1258421
>Ещё сразу стоит отметить, что Фортран, грубо говоря, мёртвый язык, и я пока сомневаюсь, что туда можно припилить CUDA без проблем.
https://developer.nvidia.com/cuda-fortran
Аноним 03/09/18 Пнд 23:54:06  1258435
>>1258429
>>1258431
Ок, спс, но Фортран или С брать?
Аноним 03/09/18 Пнд 23:55:55  1258436
>>1258435
Сишку юзай. Привычнее и понятнее.
Аноним 04/09/18 Втр 00:01:15  1258438
>>1258436
А вдруг Фортран реально быстрее окажется для моих задач, я вот включу на недельку комп и будет он вычислять, на фортране может сделает, а на си вдруг так месяц придётся сидеть.
Или не может быть такого?

В плане привычней пока не уверен, не знаю ни одного из них пока. Конечно С похож на высокоуровневые, но думаю, я и в фортране разберусь без особых проблем (синтаксис итд).
Аноним 04/09/18 Втр 00:05:20  1258441
>>1258438
Вряд ли, современные кокомпеляторы сишки далеко шагнули вперед. Но если ты любитель обратной польской нотации, то можешь и фортран попробовать, ради интереса.
https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/fortran.html
Аноним 04/09/18 Втр 00:11:12  1258443
>>1258441
пффф, проблема в том, что я вот пока вообще не курсах об этих языках, поэтому и спрашиваю.

Вот сказали бы мне точно, на чём я смогу сделать максимально быстрые вычисления и чтобы без ассемблер-шизофрении.
Вот было бы классно.
Аноним 04/09/18 Втр 00:12:05  1258445
>>1258443
Ну почитай, хули
https://habr.com/post/400523/
Аноним 04/09/18 Втр 00:17:25  1258449
>>1258445
лол,
https://ru.wikipedia.org/wiki/Intel_Fortran_Compiler

оказывается быстрый компилер для фортран для Интел имеет лицензию фри для нонкомерц, проприетарная.

Я думаю, я беру С и gcc, только поэтому.
Не ожидал, что ИНтел такие жлобы, хах!
Надо же даже на сраном компиляторе для Фортнана пытаются до сих пор заработать.
Аноним 04/09/18 Втр 00:20:12  1258450
>>1258443
Вот ты скажи лучше по своему опыту, что думаешь? С, да? Потому что популярней, а скорость примерно та же?
Аноним 04/09/18 Втр 00:42:49  1258468
https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/fortran.html

Потыкал на тесты, местами C++ заметно опережает С, удивился даже. Больше, чем на секунду или две даже.
Т.е. в сумме может быть очень критично, типа раза в два быстрее будет работать С++, и это ещё неизвестно, как там будет с CUDA.
Может, он и умножение со степенями и тригонометрию даже быстрее считает, чем С?
Аноним 04/09/18 Втр 01:51:30  1258487
>>1258388 (OP)
ASM если нужен максимум, либо сижка с пиздоном поверх
Аноним 04/09/18 Втр 03:46:03  1258503
>>1258401
> Будешь юзать stl
CUDA если быстро.

PS: Для математики производительность не очень нужна. Тому же R и Matlab оно нахуй не упало. Совет даю исходя из того, что оп спрашивал про вычисление чего-то в риалтайме, как в играх или в симуляторах, например.
Аноним 04/09/18 Втр 04:04:45  1258505
>>1258503
Это тебе кажется так. Когда всякие алгоритмы машинного зрения работают на больших видеофайлах, то они топовые процессоры поджаривают по полной.
Аноним 04/09/18 Втр 08:11:23  1258530
>>1258505
А мне нужно астрономические цифры перебирать от и до, мне тоже производительность нужна.
Аноним 04/09/18 Втр 08:18:20  1258533
В общем у меня вчера возникли вопросы тут насчёт производительности:
C VS C++ VS Fortran.

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

Как я понял, С в основном делает по тестам Фортран, Фортран лучше в паре тестов, но там какие-то крутые тесты же, может, они для меня вообще роли не играют.
А С++ местами заметно делает С, при этом С местами делает С++, но не так заметно.
Даже складывается впечатление из-за этих тестов, что лучше С++ брать, а не С, вроде быстрее они.
Аноним 04/09/18 Втр 09:46:18  1258564
>>1258388 (OP)
Зонтик, залогиньтесь. Я нихуя не понял про Марс.
Аноним 04/09/18 Втр 09:57:35  1258569
>>1258487
>ASM если нужен максимум

Хуяксимум.

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

Аноним 04/09/18 Втр 10:01:16  1258573
>>1258569

Другое дело, что заставить компилятор видеть где можно оптимизировать тоже придется поебаться, расставляя все эти declspec и __attribute__
Аноним 04/09/18 Втр 10:23:32  1258598
>>1258569
>>1258573
Но можно же для начала сделать программу на листе, всё подготовить, а потом набрать идеальную программу ноликами и единичками.
И она будет супербыстрой.
Аноним 04/09/18 Втр 12:11:07  1258699
Тредж не будет полон без упоминания J.
Аноним 04/09/18 Втр 12:12:54  1258700
15008319582190.jpg (43Кб, 960x539)
>>1258393
>и ресурсы вычислетиельные полностью использовать, а не а-ля Питон 19% от процессора максимум
У тебя один только механизм MMU отжирает процентов 30 ресурсов процессора, даже если твою числогрызку античные боги ручками в машкодах писали. Выкинь операционку и хуярь все в нулевом кольце тогда, чо!
Аноним 04/09/18 Втр 12:38:05  1258714
>>1258468
Там разные компиляторы используются. Тебе никто не мешает сишный код прогнать через g++
Аноним 04/09/18 Втр 12:41:08  1258717
>>1258393
ну если cuda - то си/плюсы точно, все числодробилки на них делают

олдовые наукофаги до сих пор че-то на фортране пишут
Аноним 04/09/18 Втр 12:42:35  1258718
>>1258388 (OP)
ононе, а что ты посчитать-то хочешь?
Аноним 04/09/18 Втр 12:44:10  1258720
>>1258393
да, кстати, писанина под куду - это вообще отдельная пляска с бубном, там надо понимать архитектуру очень хорошо чтобы ее эффективно использовать

нр есть библиотеки, в которых уже че-то написано, типа thrust
Аноним 04/09/18 Втр 12:51:03  1258728
>>1258718
Зарплату свою. Там сотни тысяч в миллисекунду, скоро в 32битный регистр перестанет помещаться, вот и встал вопрос об эффективных вычислениях.
Аноним 04/09/18 Втр 12:59:17  1258736
>>1258700
>тебя один только механизм MMU отжирает процентов 30

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

И спасает тут не байтодрочка, а правильные cache-friendly структуры данных , которые очень плохо вяжутся с ООП головного мозга.
Аноним 04/09/18 Втр 13:02:35  1258742
>>1258720

Достаточно понимать, что GPGPU - это разворачивание цикла/операции map() по ядрам, и что параллельные там обрабатываемые данные причем быстро обрабатыва5емые только тогда, когда друг от друга соседние элементы не зависят, иначе ебля с атомиками и блокировками целых варпов, а логика там однопоточная.
Аноним 04/09/18 Втр 13:40:25  1258773
>>1258714
А что разе он не заточен под плюсы, какая разница тогда? Каждая вещь для своего дела же, нет?
Аноним 04/09/18 Втр 13:44:19  1258777
15356540062890.jpg (46Кб, 720x713)
Я всего глазком видел С и не знаю CUDA.

Но мне всего-то нужно сделать простенькую программу для вычисления длинных чисел, что-то вроде (или чуть сложнее):

While True:
x=+1
y=cos(x)
If y целый или количесто нулей после запятой огромно до других чисел, тогда:
записать значение в лог


Только числа должны быть очень длинные, желательно без ограничений вообще или много много знаков. Поэтому проблема с float итп.
Поэтому ещё мне и понадобился C/CUDA - для ускорения расчётов.

Искать нужно бы в диапазоне, а то компьютер у меня всего один и одна видеокарта. Т.е. x должен задаваться диапазоном (просто от и до).
Все найденные числа должны записываться в лог, при этом это действие НЕ должно приостаноавливать поиск чисел.
И подозреваю, что искать я буду, как минимум неделями, вероятно, буду перезапускать не раз, поэтому не плохо бы, чтобы программа хотя бы иногда записывала во второй лог одно число, какое сейчас число перебирается, чтобы я потом просто передал это число программе и она начала с него.
+ Ещё неплохо сделать опцию - процент нагрузки на железо, ну чтобы графика не лагала, чтобы не горел проц и видяшка итд. Тоже передавать параметром при запуске программе.
Аноним 04/09/18 Втр 15:47:41  1258884
>>1258777
Для этих целей есть R.
Для этих целей есть специальные питоновские библиотеки.
https://ru.wikipedia.org/wiki/NumPy
https://ru.wikipedia.org/wiki/SciPy

А главное это все гуглится в течении нескольких секунд.
Оно тебе точно надо?
Аноним 04/09/18 Втр 17:07:31  1259009
>>1258569
Ты там совсем даун чтоль? А компиляторы на чем пишутся? И кто, блять, сделал твои компиляторы? У ебанных школьников совсем обострение по сентябрю начинается.
Аноним 04/09/18 Втр 19:02:32  1259091
>>1259009
> А компиляторы на чем пишутся?
Ты, блядь, не поверишь
https://en.wikipedia.org/wiki/Bootstrapping_(compilers)
У ебаной первокурсоты совсем обострение по сентябрю начинается.
Аноним 04/09/18 Втр 20:11:15  1259123

>>1259009
>А компиляторы на чем пишутся?

На абсолютно любых языках. Вангую, что прототип компилятора очередного языка в 99% случае писали раньше на перле и на сишке с применением flex и bison а сейчас пишут на питоне.


Аноним 04/09/18 Втр 20:19:26  1259124
>>1258777
Ты бы объяснил, зачем тебе такая херня нужна, тогда бы тебе и посоветовали.
Аноним 05/09/18 Срд 07:42:40  1259309
photo2017-02-03[...].jpg (158Кб, 960x1280)
>>1259009
Хуя ты жидко обосрался на харкаче, дебил.
Аноним 05/09/18 Срд 12:15:25  1259445
Wolfram Mathematica
Аноним 05/09/18 Срд 15:59:30  1259559
>>1258388 (OP)
Си и фортран.
На чистом asm писать ни в коем случае не надо, это неэффективно, непереносимо, сложно. Современные компиляторы делают это гораздо лучше.
Оптимально будет писать на голом си (плюсы не надо, тянут за собой stl). inline, register.
Программы запускай под профайлером, самые нагруженные части кода перепиши на ассемблере.
Аноним 05/09/18 Срд 16:10:38  1259563
>>1259009
>А компиляторы на чем пишутся?
В основном на окамле, хаскелее и с++. А что?
Аноним 05/09/18 Срд 16:30:16  1259571
>>1258777
Если тебе надо лабу в универе сделать, то бери любой язык (про питон тебе правильно сказали тут >>1258884)
Если тебе по работе какое-то серьёзное дерьмо надо вычислять, то спроси коллег или сформулируй задачу более точно
Аноним 06/09/18 Чтв 15:15:35  1260128
>>1258388 (OP)
>Интересует работа с огромными числами
Если нужно лопатить bigint, тогда лишп или хачкель бери.


Топ тредов
Избранное