-
Notifications
You must be signed in to change notification settings - Fork 18
Updated for Julia 1.0, added (limited) auto detection of libraries and avx support #17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-Authored-By: Kristoffer Carlsson <[email protected]>
Is there any update on this, MKL was updated recently https://github.com/JuliaComputing/MKL.jl, but it doesn't use VML functions (like exp, log) by itself. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is loaded and added without any issues now. Thanks!
How can I call the functions? I don't get any speed up. Is the Base API replaced, and so I can call the functions like just normal names ( |
VML extends the base functions to e.g. sin(x::Array{Float64}), as the base functions don't take arrays but instead rely on broadcasting.
In short, if you call function with an array they go to vml, otherwise they use the base functions. |
Oh yes, I was trying the wrong code! I thought it is possible to run something like |
Great to see progress!
I didn't realise it did this, are we sure this the right way to go? Overloading Base functions on Base types. You must write |
I think this is beyond this pull request, and it will just lag using this package. Changing the API requires a completely different work |
It does, when I updated the test suite I ran into some issues verifying that a given call actually belongs to Base or VML, to make sure that I am not comparing a function to itself in terms of accurate output. |
I can't seem to make this work, with MKL.jl. On a mac with Julia 1.3rc4 or 1.4, afetr installing MKL.jl, I can add & build VML (Crown421:master), but can't use it. Is this expected to work?
|
Don’t overload Base functions
@mcabbott Try using it now, I think I made it work now reasonably well. |
Thank you guys for the work. I will test the functionality. |
Adding MKL to before_script Avoiding double build of MKL Try again to avoid double build Try again to avoid double build 2 Maybe with a Manifest Test specific environment Add MKL again Basically final final
@KristofferC Would it be possible to merge this PR now? |
I am going to create a PR to this branch and update the benchmarks code. |
The pull request is ready for merging! Crown421#2 |
* updating used deps * bench function update * ratioci function formatting * input changed to Dict and updated * fns updated * single bench call * Docstring for bench function * Using Dict for different types in benchmark * Formatting * Benchmarking progress print * using Dicts for calling function names * example for calling bench * bench call updated * type print in bench * Full working bench example * Plot function updated * Code movement * Saving benchmark data * DPI increase * Full test * more docstrings * changed variable size * Disabled error bar calculation * removing log10 and lgamma * correct hline legend * code for loading the data * Adding benchmark result * bug fix * Update performance.png * Fixed title and ylabel * cd to current file * Update image * git ignore jld2
@Crown421 I am working on making AcuteBenchmark by using the approach we took for benchmarking the functions that get arrays. I will add some features such as trying different sizes, etc. So, for now, don't spend time on changing things in the benchmark code. Once that package is finished we can do a more extensive benchmark for VML. |
I am not entirely sure what you mean with "approach for benchmarking the arrays" ? |
That package is going to generate random arrays (as inputs) and benchmark the functions based on that. Similar to what we did in this package, but written in a general and reusable manner and with more features. I will post the source code once it is finished. |
Feel free to check out the |
Thank you. That is useful. I also have some code from Julia-Matlab-Benchmark, which overall will make a useful package (AcuteBenchmark). |
@simonster @andreasnoack @ViralBShah Could you merge this PR? |
Thank you! You're welcome. |
No description provided.