Size: a a a

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

2019 September 12

AL

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

RS

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

RS

Roman Samarev in Язык программирования Julia / Julia programming language
собственно, у Джулии получается несколько уровней оптимизации. http://janvitek.org/pubs/oopsla18b.pdf
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Технически, можно отловить шаблонный код прохода по массиву и оптимизировать/распараллелить его. Но кто это делает (если делает), я не знаю. Вроде из статьи про Джулию, не следует, что они занимаются этим. А вот LLVM может что-нибудь от себя добавить
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
https://juliacomputing.com/assets/pdf/CGO_C4ML_talk.pdf

Growing a Compiler
Getting to machine learning from a general purpose compiler
источник
2019 September 13

MV

Mitya Volodin in Язык программирования Julia / Julia programming language
Roman Samarev
Вообще-то надо. Сама она не догадывается. Другое дело, что векторные операции и разные библиотеки могут внутри иметь распараллеливание
В смысле надо? Вообще линал в джулии зависит от либы. В питоне тоже можно на разных делать, на mkl например.

А в джулии что-то типа openblasa и lapack наверняка должно быть
источник

MV

Mitya Volodin in Язык программирования Julia / Julia programming language
А, сорри, или там построчный цикл?
источник

SV

Sergey Volkov in Язык программирования Julia / Julia programming language
Mitya Volodin
А, сорри, или там построчный цикл?
Если про меня речь, то да, построчный
источник

MV

Mitya Volodin in Язык программирования Julia / Julia programming language
Sergey Volkov
Если про меня речь, то да, построчный
Может @simd примешался? )
источник

SV

Sergey Volkov in Язык программирования Julia / Julia programming language
Mitya Volodin
Может @simd примешался? )
Я даже не знаю, что это :)
источник

MV

Mitya Volodin in Язык программирования Julia / Julia programming language
single instruction multiple data - это способ распараллеливания, доступный на современных арихтектурах процов.
источник

MV

Mitya Volodin in Язык программирования Julia / Julia programming language
Условно, если у тебя цикл
for i = 1:…
  a[i] = a[i] + 10
end
то его можно ускорить либо так:
@simd for i = 1:…


либо сделав несколько шагов (i, i+1, i+2, i+3) в одном шаге цикла.
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
а это точно на разные ядра процессора параллелится?
источник

KH

Katie Hyatt in Язык программирования Julia / Julia programming language
Нельзя использовать @simd с DistributedArray. С SharedArray на одном процессоре работает как сказали. Можно ли использовать @simd на двух процессорах, которые делятся памятью, я не знаю... (Надеюсь, что это понятно... Простите за любые ошибки!)
источник

SV

Sergey Volkov in Язык программирования Julia / Julia programming language
Вот код, ест он обычные текстовые файлы (довольно большие обычно), результаты собирает в массив, сохраняет в HDF5

Макросов не использовал, библиотеки только Dates и HDF5; на старом ThinkPad T410s с i5 работает в 4 потока судя по индикатору загрузки процессора
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
векторные операции - parse., deg2rad.
источник

MV

Mitya Volodin in Язык программирования Julia / Julia programming language
Viktor G.
а это точно на разные ядра процессора параллелится?
На одно
источник

MV

Mitya Volodin in Язык программирования Julia / Julia programming language
Simd работает на одном ядре
источник
2019 September 15

RS

Roman Samarev in Язык программирования Julia / Julia programming language
http://kristofferc.github.io/post/intrinsics/

автоматическая SIMD
источник
2019 September 17

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
Кстати на одном из онлайн докладов был кажется некто bravit, это тот самый Брагилевский, который про Haskell и про теорию категорий и что то ещё?
источник