top | item 22835896

(no title)

bearzoo | 5 years ago

Oh? I don't suppose that julia wraps lapack functions for no good reason. What makes you say this

discuss

order

ChrisRackauckas|5 years ago

A lot of the wrappers are largely legacy at this point. BLAS1 and BLAS2 operations are handled in pure Julia through the broadcast system, there's no performance degradation there and the fusion of operations actually makes for a lot of performance advantages over simple BLAS calls. For BLAS3, tools like LoopVectorization let you write a pure BLAS3 in Julia and get good performance, Gaius.jl is a good example of this by matching OpenBLAS with pure Julia code. Of course you still have to write out how to do blocking, but that's about it. At this point it's mostly needing more coverage before deprecating BLAS bindings in a Julia 2.0 down the line.

https://github.com/MasonProtter/Gaius.jl

bearzoo|5 years ago

Thanks, that is pretty impressive