5 ms·
SIMD Vectorization in Julia
- pjmlp 12y agoJulia is really shaping up quite nicely.
- mlu 12y agoThis looks great! I used Julia in my Master's thesis and it was very fast and easy to use. One thing however was annoying: The lack of shared memory parallel computing. Unfortunately, in Julia, each parallel process has its own memory such that you have to keep multiple instances of your data and/or move data around all the time. This can be a deal breaker if working with very large data sets and actually is preventing me from using Julia even more. But I'm sure, it's on the right track.
- illumen 12y agoDoesn't it have mmap?
- ninjin 12y agoIt does, in the base library in fact: https://github.com/JuliaLang/julia/blob/master/base/mmap.jl https://github.com/JuliaLang/julia/blob/master/base/mmap.jl Here is the relevant documentation: http://julia.readthedocs.org/en/latest/stdlib/base/#memory-mapped-i-o http://julia.readthedocs.org/en/latest/stdlib/base/#memory-m...
- simonster 12y agoIn Julia 0.3 there are SharedArrays on Linux/OS X: http://julia.readthedocs.org/en/latest/stdlib/base/#shared-arrays-experimental-unix-only-feature http://julia.readthedocs.org/en/latest/stdlib/base/#shared-a... Hopefully there will also be multithreading someday, although right now it's still a work in progress: https://github.com/JuliaLang/julia/tree/threads https://github.com/JuliaLang/julia/tree/threads
- ihnorton 12y agoShared-memory multiprocessing is supported in the latest release on linux and mac. Multi-threading is in development and has seen some significant progress over the past few months. > But I'm sure, it's on the right track. Yes, and it is worth pointing out that both this article and the @simd feature were written by Arch Robison - who is also the architect of Intel's Threading Building Blocks.
- hitlin37 12y agoas always, intel comes up with nice tutorial from time to time.
- tokai 12y agoReally nice to see Intel giving Julia some attention.
- 3JPLW 12y agoThe author of this piece, Arch Robison, has been an active contributor to Julia. Not only did he write this tutorial, but he actually contributed the `@simd` implementation himself.[1] He also presented this information as a talk at Juliacon back in June.[2] 1. https://github.com/JuliaLang/julia/pull/5355 https://github.com/JuliaLang/julia/pull/5355 2. https://www.youtube.com/watch?v=zFxaK0ufL04 https://www.youtube.com/watch?v=zFxaK0ufL04
- z3t4 12y agoThis needs to be ported to JavaScript, or at least update the Math library to include Vectors.
- etrain 12y agoLooks like a very nice feature - but would be great if they provided some actual benchmarks showing when vectorization is faster than not. For example, if you're bound by memory bandwidth, no amount of extra compute is going to help you.