{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/10969","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/10969/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/10969/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/10969/events","html_url":"https://github.com/JuliaLang/julia/issues/10969","id":70510777,"number":10969,"title":"Shipping MKL with julia now that USE_GPL_LIBS Makefile flag exists","user":{"login":"hiccup7","id":11787806,"avatar_url":"https://avatars.githubusercontent.com/u/11787806?v=3","gravatar_id":"","url":"https://api.github.com/users/hiccup7","html_url":"https://github.com/hiccup7","followers_url":"https://api.github.com/users/hiccup7/followers","following_url":"https://api.github.com/users/hiccup7/following{/other_user}","gists_url":"https://api.github.com/users/hiccup7/gists{/gist_id}","starred_url":"https://api.github.com/users/hiccup7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hiccup7/subscriptions","organizations_url":"https://api.github.com/users/hiccup7/orgs","repos_url":"https://api.github.com/users/hiccup7/repos","events_url":"https://api.github.com/users/hiccup7/events{/privacy}","received_events_url":"https://api.github.com/users/hiccup7/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-04-23T20:53:43Z","updated_at":"2015-04-24T03:40:15Z","closed_at":null,"body":"In the previous discussion entitled \"Shipping MKL with julia\" https://github.com/JuliaLang/julia/issues/4272\r\nthe conclusion was that this was not legal with GPL code inclusion.  Now, this limitation has been removed: https://github.com/JuliaLang/julia/pull/10870\r\n\r\nI propose that installers on the julia downloads page are offered in both OpenBLAS (USE_GPL_LIBS=1) and MKL (USE_GPL_LIBS=0) variants.  It may not be necessary to offer the MKL variant for Linux since there is a free option for developers to build from source:\r\nhttps://software.intel.com/en-us/qualify-for-free-software/opensourcecontributor\r\n\r\nAs a DSP developer, the BLAS library dominates my speed experience with julia because it is the only way to get multi-threaded SIMD convolutions presently.  I and others have submitted problem reports about OpenBLAS being several times slower than MKL: https://github.com/xianyi/OpenBLAS/issues\r\nHowever, we cannot expect a small group of hobby volunteers to resolve these problems in a timely manner.  Shipping julia with MKL would allow developers and users to experience julia's speed while we wait (maybe 6-12 months) for OpenBLAS issues to be resolved.  When and if OpenBLAS is at least as fast as MKL, then MKL could be dropped from julia's download page.\r\n\r\nSince Intel has offered MKL licenses to the julia team for free, I think it would be preferable to ship julia with MKL than to ask Windows and OSX julia users to all purchase MKL and build from source.\r\n\r\nFor comparison, I know of 3 Python Windows binary distributions that include MKL for free.  This makes Python the fastest free HPC language for Windows at present.  I propose that shipping julia with MKL will get a lot of users to switch from Python to Julia, which will increase contributions to julia and improve the rate of julia development.\r\n\r\nPersonally, I would like to convert the code for the company I work for from MATLAB to julia, but building from source is a deal-breaker for me.  If I have to wait a year for OpenBLAS' problems to be resolved, it would be better to convert the MATLAB code to Python instead.  It is a big effort for me to port this code, so I only want to do it once (and I would have trouble convincing my employer to pay for two portings).  In case anyone thinks a year is too pessimistic for resolving OpenBLAS problems, note that the first thread above was from 1.5 years ago when forum members naively estimated that they would fix OpenBLAS by now.\r\n\r\nI would really like julia v0.3.8 with MKL!"},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/95789832","html_url":"https://github.com/JuliaLang/julia/issues/10969#issuecomment-95789832","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/10969","id":95789832,"user":{"login":"ScottPJones","id":11798751,"avatar_url":"https://avatars.githubusercontent.com/u/11798751?v=3","gravatar_id":"","url":"https://api.github.com/users/ScottPJones","html_url":"https://github.com/ScottPJones","followers_url":"https://api.github.com/users/ScottPJones/followers","following_url":"https://api.github.com/users/ScottPJones/following{/other_user}","gists_url":"https://api.github.com/users/ScottPJones/gists{/gist_id}","starred_url":"https://api.github.com/users/ScottPJones/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ScottPJones/subscriptions","organizations_url":"https://api.github.com/users/ScottPJones/orgs","repos_url":"https://api.github.com/users/ScottPJones/repos","events_url":"https://api.github.com/users/ScottPJones/events{/privacy}","received_events_url":"https://api.github.com/users/ScottPJones/received_events","type":"User","site_admin":false},"created_at":"2015-04-24T03:40:14Z","updated_at":"2015-04-24T03:40:14Z","body":"@tkelman The reason I originally started to look at Julia was because one of the developers had heard in might be good for what they wanted to do, and so I started to evaluate it, and realized that it would be rather good for a number of things the rest of us were doing (not math stuff ;-) ).  I then found out about the issue with the 3 GPLed libraries, which luckily has been solved by setting USE_GPL_LIBS to 0.\r\nThen I found out that the developer originally interested in Julia would like to do some of the things provided by Sparsesuite... if I have to create Julia bindings myself to this MKL Pardiso sparse solver for him to proceed, I will, and of course put it up on GitHub, with MIT license.  "}}