Your comments

By the way, you need to compute constants (1/3, 2/3) using extended precision: mp('1/3'), mp('2/3').

Otherwise MATLAB evaluates them using double precision. Of course, this must be pre-calculated once before the loop (same as m).

There is still a room for improvement in your code. 



Naturally, extended precision computations are slower compared to double (double run in hardware, extended precision is emulated in software). 

However, how much "slower" depends entirely on the particular code and how it is implemented.

Another important slow-down comes from the MATLAB overhead. Each operation in the M-code results in data copy and passing it to toolbox. This adds non-negligible overhead.

Thus, for higher speed, you might consider re-writing your code to avoid redundant calculations (e.g. b.^2 computed many times) and to use vectorization (when one operation works with vectors & matrices instead of crunching through scalars in the loop). This will reduce MATLAB overhead and allow toolbox to handle data in parallel. You will see nice speed-up.

Great, thank you for the report!


We have just released updated version of toolbox for Windows. It includes bug fix for this issue among other improvements.

Please download it from our homepage (download trial) or just use this link: https://bit.ly/2XwTWH7

Don't forget to copy your license key to the folder of new toolbox version!


Would appreciate if you would test your code with new toolbox and let me know the results. 

Could you please provide minimal, complete, and verifiable example, so that situation can be reproduced?
Please check the top post on the forum homepage: https://mct.userecho.com/

I am not aware of any disadvantages. At least we do not treat AMD any different in our code.

The basic rules is: more CPU cores = higher speed.


If we would compare absolutely equivalent Intel vs. AMD processors (frequencies, number of cores, caches all are the same) - there might be a slight drop in speed if you use Windows.

That is because we use Intel C++ Compiler on Windows, as it produces faster binary code for Intel CPUs.

And, btw, on different platforms performance of all the software packages are different. 

Of course, I would prefer comparison on Windows, as this would be informative for ~80% of users of toolbox.

Why not? I think it is great idea. Also it has sense to extend the tests to cover speed-comparison of FFT and EIG, SVD for special  types of matrices (e.g. banded, Hermitian, complex).

 

In some if these cases quadruple precision computations in toolbox are faster (at least it was in 2016) than double in MATLAB (in particular solving the banded matrices: https://www.advanpix.com/2016/10/20/architecture-of-eigenproblem-solver/).

The only show stopper for me is (and always has been) significant time and efforts needed to conduct such benchmarks.

I would be happy if somebody would do this (and would help as much as I can). The only suggestion is to use some good many-core CPU, as parallelism is crucially important for matrix computations and FFT.

Ok, great, please keep us updated on your experience with toolbox.

We have just released new version (Windows) with speed-optimized conversion for your case. In our tests speed-up is ~20 times.

Please download and try new trial from our website (our just use this link: https://bit.ly/3mvxXqg ).

Let me know what kind of speed improvement you see in your tests.