ANN: The JuliaPro distribution by Julia Computing

You may have a look here:

https://github.com/RoyiAvital/MatlabJuliaMatrixOperationsBenchmark

Once Julia 1.0 is out I will re run this (With both Flavors of Julia vs. MATLAB [Probably R2018a or R2018b]).

But really, OpenBLAS is amazing, yet still behind Intel MKL.

P. S.
There is no point running Intel MKL on AMD CPU’s.
They are discrminated and get “Old” path.

1 Like

I would bet on Ryzen + OpenBLAS giving more glfops/$ than Intel + MKL on large matrices with multi-threading.

EDIT:
eigen3 is opensource (copy-left), and their benchmarks show them getting optimized BLAS levels of performance. Without the mountains of architecture-specific assembly.
Maybe I’ll try wrapping a few methods.

2 Likes

JuliaPro comes with a dedicated installation of Julia and JuliaPro packages, so your independent Julia installation shouldn’t get affected by JuliaPro. You can have both installations simultaneously.

Unfortunately, at the moment, you cannot have JuliaPro OpenBlas and JuliaPro MKL simultaneously installed on a Mac, you can only have either one of these variants installed.

1 Like

Thanks very much for various info and suggestions :slightly_smiling_face:

Now having understood that the plain Julia package does not interfere with JuliaPro,
I have just installed the MKL version of JuliaPro (because the CPU is Core-i7 on my Mac-mini).
I will play with it for my calculations (and graphics).

Thanks very much!


FYI, the versioninfo() from the new JuliaPro(MKL) is like this:

julia> versioninfo()
Julia Version 0.6.2
Commit d386e40* (2017-12-13 18:08 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin15.6.0)
  CPU: Intel(R) Core(TM) i7-3615QM CPU @ 2.30GHz
  WORD_SIZE: 64
  BLAS: libmkl_rt
  LAPACK: libmkl_rt
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, ivybridge)

in comparison to my old plain-Julia installation (v0.6.0):

julia> versioninfo()
Julia Version 0.6.0
Commit 903644385b (2017-06-19 13:05 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin13.4.0)
  CPU: Intel(R) Core(TM) i7-3615QM CPU @ 2.30GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, ivybridge)

Hi,

When can we expect JuliaPro 1.x.xxx with Intel MKL for Windows?
Any chance you add Portable Mode into it (No registry, all configuration files in the installation folder instead of %APPDATA$, etc…)?

Thank You.

6 Likes

It’s going to be after all the relevant packages are upgraded and tested with 1.0. So probably a few more weeks.

3 Likes

I would like to second RoyiAvital’s request for MKL in JuliaPro. For various reasons, OpenBLAS is not allowed at my organization.

4 Likes

I don’t know if you can answer this, but: why on earth would you be NOT ALLOWED to use openblas?

4 Likes

Maybe he works at Intel :wink:

3 Likes

It’s already possible to build Julia with MKL, but of course if you want JuliaPro and MKL, that’s a different story. Absent a development contract specifically for JuliaPro with MKL, however, it seems unlikely that this is going to get prioritized soon.

2 Likes

I would think that a company that develops MKL would be keen on keeping an eye on competing products.
If I were in charge of linear-algebra software development at Intel, I would encourage my developers to keep up with progress in linear algebra libraries. Of course, respecting licensing terms: indiscriminate copying of software is certainly a no-no, but that is not the issue here: we are speaking about USE of the software.

Someone from NASA said that (for liability reasons) they have a lot of hurdles to go through to run software with a license agreement that says:

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS”
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

but that goes for Julia too, so (for them) if you can get Julia cleared, I’d have a hard time imagining OpenBLAS not getting cleared with it.

1 Like

It was a joke :slight_smile:

Too bad.
I’d really want to see JulaiPro MKL Flavor as it was available for Julia 0.6.

OpenBLAS is just not good enough and that even before Julia extract all MKL has to offer.

1 Like

Last time - I have found an MKL package ( not registered yet )
So probably : Work in progress:
Thank you : JuliaComputing :heart:

I’m not sure this is the same.
It seems this package is about downloading Intel MKL (From Anaconda sources) and integrate it to Julia.

Is it like compiling Julia with MKL?
I don’t know enough about Julia internals to answer this.