-
Notifications
You must be signed in to change notification settings - Fork 7
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
V2.0: Julia 1.1.1, more accurate, Julia analyzer, MKL #7
base: master
Are you sure you want to change the base?
Conversation
@RoyiAvital I added the default Julia benchmark, and I requested my pull again. |
Julia Main (JuliaMain-JuliaBench-JuliaBenchSIMD): * Combined separated function files JuliaMatrixBenchmark and JuliaMatrixBenchmarkOp into JuliaBench and JuliaBenchSIMD respectively for easier access * Used @benchmark instead of deprecated and inaccurate tic() and toq(), so all functions now just include the algorithm or operation. Benchmark result may not be comparable to ones in previous versions. * @benchmarks calls allFunctions in local scope (using $). Then the minimum run time among different benchmarks for each function is chosen. * Removed totalRunTime because it does not mean anything anymore * Changed name of some variables and functions to more appropriate ones * Used transpose() instead of deprecated .' * Used DelimitedFiles.readdlm and DelimitedFiles.writedlm instead of deprecated readcsv and writescv * Removed rounds because readdlim supports converting to int64 itself * Changed deprecated squeeze to droplims * jj for loop changed to be like fun in allFunctions. This allows simply adjusting allFunctions array if want to remove some functions from benchmark * Added dims= to 2nd input argument of minimum(), maximum(), findmin() and sum() functions * Added dummy mY to functions that don't use it. (for consistency in code logic) * Changed deprecated expm with exp * Changed deprecated sqrtm with sqrt * eig changed with eigen. * vClusterId modified to be compatible with Cartesian indexing * mRunTime is stored in a mat file using MAT package. * tRunTime is a table which has the run time information in a intuitive manner * added 0 benchmark operation mode which is for fast testing only * changed file and folder management * now average of different iteration of Run Times is calculated (for different kk) * automatic work directory setter * In JuliaBenchSIMD, functions that are identical to non SIMD versions are removed from allFunctions * Two types of BLAS is used (MKL.jl and default Julia Blas) Julia Analyzer (AnalyszeRunTimeResults-AnalysisJuliaPlotter): * Julia Analyzer added for creating plots Matlab Main (MatlabMain-MatlabBench): * Use cRunTime cell and then tRuntime table to store run time data intuitively * changed file and folder management * use timeIt instead of tic and toc * now the average of median of different iteration of Run Times is calculated (for different kk) * some other changes to be the same as respective Julia function Matlab Analyzer (AnalyszeRunTimeResults): * plotting algorithm was improved * use mat files instead of csv * use of tables * removed unnecessary AnalysisInitScript and the logic was added in visualization adjustment * made Matlab AnalyszeRunTimeResults simpler
* debug the code * timing and memory * profiles the code * advanced tool for diagnosing type-related problems
@RoyiAvital If you have trouble merging my pull request because it is very different than your master run these commands to replace my version with your master. (from this https://stackoverflow.com/questions/27449334/force-overwrite-on-master-from-a-pull-request)
Now replace
|
@RoyiAvital do you have any problems that prevent you from merging? |
Hi, As I wrote, I will evaluate the PR once I have access to Julia with MKL. |
I have referenced your issue in my pull request to MKL.jl and the new issue I created.
I can contact MATLAB's support to get their recommendation, otherwise, I can write a custom function to replace
Well, the point of me updating this repository was to replace the misleading old figures. |
I don't find my figures misleading. I don't want to use Regarding The way I see it, it is great you forked my work and you can take it from there to the path you find appropriate. Keep doing it. I'm interested to see the effect of integrating MKL into Julia. |
Yes, I am not saying the data are manipulated. Sorry if I meant that. First, you should use Second, for Julia+SIMD, only 3 functions made use of
Well, this is not a severe problem. It can be replaced easily. However, I calculated the mean of multiple iterations of running
I will create another repository to ease my workflow (starting with my forked one). However, I will keep this pull request so you can merge it later. |
Julia Main (JuliaMain-JuliaBench-JuliaBenchSIMD):
Julia Analyzer (AnalyszeRunTimeResults-AnalysisJuliaPlotter):
Matlab Main (MatlabMain-MatlabBench):
Matlab Analyzer (AnalyszeRunTimeResults):