Size: a a a

Язык программирования Julia / Julia programming language

2017 July 28

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
Во всяком случае я пытался что то делать с pmap, но он сходу не заработал, и я пока что оставил эту тему
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Идея очень простая: например, есть вектор длиной в 512 элементов, каждый элемент которого обрабатывается независимо от других. Можно все 512 элементов обрабатывать один за другим, а можно распределить по ядрам процессора: например, если ядер 8, то первые 1:64 обрабатывает 1-й поток, 65:128 - второй поток, и т.д.
Это разумно, естественно и реально сокращает время вычислений в разы
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Поскольку обычно время создания потока тоже заметно, стараются использовать их по нескольку раз для разных параллельных вычислений. для этого создают "наборы" потоков, пулы, которым просто раздают задания различными механизмами. Но в общем-то для действительно ресурсоёмких вычислени можно создавать/уничтожать потоки каждый раз - время их создания будет всё равно незаметно на фоне общего времени исполнения.

Да, я думаю использовать Julia для скачивания grib2-файлов и вычисления прогноза погоды "в точке". Там как раз параллельная обработка полезна.
Это просто для того, чтобы "разминать мозг", потому что моя нынешняя работа разминает скорее нервы :)
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Собственно, суть в том, что до тех пор, пока каждый поток обрабатывает свои данные и нет необходимости держать пул потоков - всё и выглядит, и работает не сложнее циклов.
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Проблемы начинаются  ровно тогда, когда разные потоки должны получать доступ к постоянно изменяющимся общим данным, т.е. не всегда могут выполняться действительно параллельно.
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Да, насчёт pmap спасибо, не знал о нём :)
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
У меня одно из бутылочных горлышек - преобразование фурье двоичной последовательеости длинной очень, даже не знаю, как его параллелить, возможно с нуля писать придется
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Если код преобразования не очень длинный - кидайте на pastebin и ссылку сюда, коллективным  разумом посмотрим, что можно сделать
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Есть ещё gist.github.com
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
И jupyter :)
источник

AL

Anatoly Levenchuk in Язык программирования Julia / Julia programming language
Вообще-то для разгонов лучше использовать какие-нибудь видеокарты -- сегодня штатные именно эти решения. А есть ещё звери типа https://julialang.org/blog/2016/03/parallelaccelerator
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Да, соглашусь. Я просто по традиции больше на не чисто вычислительные задачи ориентируюсь
источник

AL

Anatoly Levenchuk in Язык программирования Julia / Julia programming language
источник

AL

Anatoly Levenchuk in Язык программирования Julia / Julia programming language
Этого добра для параллельных вычислений много, для разного сорта задач.
источник
2017 July 29

I

I in Язык программирования Julia / Julia programming language
Привет мехмату с физтеха)
источник

I

I in Язык программирования Julia / Julia programming language
Страшно признавать, но когда-то мне в голову вбили указатели. И теперь я их даже немного люблю
источник

I

I in Язык программирования Julia / Julia programming language
А создание тредов незаметно уже на каких-нибудь минутных задачах.
источник

I

I in Язык программирования Julia / Julia programming language
И даже на секундных иногда проще создать тредов, чем ждать исполнения
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
В переводе книги Шеррингтона  о Julia допущен замечательный ляп: "все нечётные числа - простые". И это ещё повторяется неоднократно в главе про области видимости.
источник

AK

Andrey Konovalov in Язык программирования Julia / Julia programming language
Причём забавно, что приведённый там кусок кода только названием функции allods даёт явные основания полагать, что где-то ошибся переводчик
источник