Комментарии 10
Ну что ж, буду первым подопытным:
Спасибо за интересный материал и готовый пример.
julia> @time parallel_pi_computation(1000000000, ncores = 60)
0.094249 seconds (5.60 k allocations: 260.203 KiB)
3.1416588651668227
Спасибо за интересный материал и готовый пример.
60 ядер?! Круууть!
Кстати, зависимость времени от кол-ва точек практически идеально линейная (вплоть до 1e12 точек).
тык
julia> @time parallel_pi_computation(1000000000, ncores = 60)
0.094249 seconds (5.60 k allocations: 260.203 KiB)
3.1416588651668227
julia> @time parallel_pi_computation(10000000000, ncores = 60)
0.923575 seconds (5.63 k allocations: 277.953 KiB)
3.141592570116815
julia> @time parallel_pi_computation(100000000000, ncores = 60)
9.466933 seconds (5.61 k allocations: 261.125 KiB)
3.14159586009168
julia> @time parallel_pi_computation(1000000000000, ncores = 60)
90.969203 seconds (5.72 k allocations: 270.672 KiB)
3.141590758957169
Триллион точек, чтоб получить точность до пятого знака — этот алгоритм мой самый любимый из самых непрактичных
P.S. Тут кстати большие числа можно так 1_000_000_000_000
задавать, такой вот синтаксический сахар
А с чего ей-то быть нелинейной?
Вот насколько будет близко к обратной пропорциональности при изменении числа ядер и фиксированном количестве точек — это более важный для практики вопрос.
А что быстрее выходит — нативный Distributed.jl
или MPI.jl
с OpenMPI / MVAPICH?
Плохо, что нет CLArrays и CLBLAS для Julia 1.0, и без Nvidia делать нечего.
In particular, do not sexualize the term «Julia» or any other aspects of the project. While «Julia» is a female name in many parts of the world, the programming language is not a person and does not have a gender. [1]
И вот ощущение, что они сначала создают себе проблемы, а потом героически их преодолевают не покидает и во время чтения документации.
Если б не арты, я бы и не зашел )))
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Распределенные вычисления в Julia