Size: a a a

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

2021 April 12

RS

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

VS

Vladimir Shashkin in Язык программирования Julia / Julia programming language
ENV хорошая штука, спасибо, но параметров командной строки я там не увидел. Т.е., если запуск был julia -t1 -p1, то хочется найти эту информацию ("-t1 -p1") из REPL.
источник

VS

Vladimir Shashkin in Язык программирования Julia / Julia programming language
Проблема частично решена, если перед запуском джулии выполнить export OMP_NUM_THREADS=1, то время выполнения в REPL +- такое же как в плуто. Но интересно, что плуто эту переменную среды не ставит, а в остальном ENV примерно одинаковый, значимых различий не нашел
источник

VS

Vladimir Shashkin in Язык программирования Julia / Julia programming language
Т.е. проблема, скорее всего, на стороне openBLAS, который забивает все доступные ядра и, в итоге, сам себе мешает. Непонятно только почему в окружении pluto.jl все нормально.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Такого увидеть нельзя, потому что это вещи не связанные.

Если параметры выставлялись через окружение, то можно проверить вот эти переменные:
https://docs.julialang.org/en/v1/manual/environment-variables/#Parallelization
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
А так, Threads.nthreads()  покажет количество потоков. Надо в доках поискать какая команда показывает количество процессов запущенных, там что-то похожее.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
И есть отдельные переменные для BLAS.
источник

VS

Vladimir Shashkin in Язык программирования Julia / Julia programming language
А, вот теперь до меня дошло, оказывается есть отдельный параметр для BLAS трэдов. Видимо, Pluto где-то делает что-то вроде BLAS.set_num_threads(1) или ENV["OPENBLAS_NUM_THREADS"]=1. По умолчанию используется количество логических ядер, что плохо.
Есть еще вот этот issue https://github.com/JuliaLang/julia/issues/33409 открытый с 2019 года
Всем спасибо!
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Вообще, это конечно грустно.
Надо переходить на Octavio или как он там называется.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Вроде бы он уже для достаточно большого числа случаев работает не хуже openBLAS.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Но сам не проверял, не знаю что там на самом деле происходит 😊
источник

VS

Vladimir Shashkin in Язык программирования Julia / Julia programming language
Я, в итоге, подцепил intel mkl. Массовый расчет собственных разложений пошел гораздо веселее (раза в 1,5) чем openBlas,   при самых правильных настройках
источник
2021 April 13

RS

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

AP

Artem Pelenitsyn in Язык программирования Julia / Julia programming language
Спасибо большое за ссылку! Как раз пишем статью на OOPSLA про стабильность...
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
https://julialang.org/blog/2021/03/julia-1.6-highlights/#tooling_to_help_optimize_packages_for_latency/

На всякий случай напоминаю про SnoopCompile
источник

AP

Artem Pelenitsyn in Язык программирования Julia / Julia programming language
Да, спасибо. Я немножко общался с Холи на тему связанную с анализом стабильности, но подробно в Снуп не смотрел (блог пост видел), вероятно надо посмотреть. Мы пока ничего не оптимизируем просто, а пытаемся разобраться в том как на это надо смотреть с формальной точки зрения.
источник
2021 April 15

RS

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

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
О! Это интересно.
Я как-то раз работал с GitHub GraphQL API, но это было что-то очень кастомное. Довольно много рутины было, очень хорошо, что кто-то собрал пакет, который эту работу упрощает.
источник

SV

Svyatoslav Ven in Язык программирования Julia / Julia programming language
Коллеги, небольшой офтоп:

есть ли канал системный архитекторов\инженеров, где обсуждаются практики разработки компонентов и интерфейсов компонентов?

Может кто знает\подскажет?
источник

ЕП

Евгений Погребняк... in Язык программирования Julia / Julia programming language
Есть по архитекткре канал Максима Смирнова
источник