SVD freezes in 2018a

2 views (last 30 days)
I have an ill-conditioned 1005x256 matrix and I can't compute its SVD in a reasonable amount of time. Other matrices of the same size don't present a challenge, but my user reports 20+ minute waiting times. I've created a gist on Github which defines it and tries to compute its rank. I stepped through with the debugger and found the problem child to be the call to svd. On a different machine running 2018a this script runs without incident in just under 2 seconds.
Here's some info:
>> version -blas
'Intel(R) Math Kernel Library Version 2017.0.31 Product Build 20170606 for Intel(R) 64 architecture applications, CNR branch unknown
>> ver
MATLAB Version: (R2018a)
MATLAB License Number: xxxxxxxxxxxxxx
Operating System: Microsoft Windows 10 Pro Version 10.0 (Build 16299)
Java Version: Java 1.8.0_144-b01 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
MATLAB Version 9.4 (R2018a)
Simulink Version 9.1 (R2018a)
Aerospace Blockset Version 3.21 (R2018a)
Aerospace Toolbox Version 2.21 (R2018a)
Antenna Toolbox Version 3.1 (R2018a)
Audio System Toolbox Version 1.4 (R2018a)
Automated Driving System Toolbox Version 1.2 (R2018a)
Bioinformatics Toolbox Version 4.10 (R2018a)
Communications System Toolbox Version 6.6 (R2018a)
Computer Vision System Toolbox Version 8.1 (R2018a)
Control System Toolbox Version 10.4 (R2018a)
Curve Fitting Toolbox Version 3.5.7 (R2018a)
DSP System Toolbox Version 9.6 (R2018a)
Data Acquisition Toolbox Version 3.13 (R2018a)
Database Toolbox Version 8.1 (R2018a)
Datafeed Toolbox Version 5.7 (R2018a)
Econometrics Toolbox Version 5.0 (R2018a)
Embedded Coder Version 7.0 (R2018a)
Filter Design HDL Coder Version 3.1.3 (R2018a)
Financial Instruments Toolbox Version 2.7 (R2018a)
Financial Toolbox Version 5.11 (R2018a)
Fixed-Point Designer Version 6.1 (R2018a)
Fuzzy Logic Toolbox Version 2.3.1 (R2018a)
GPU Coder Version 1.1 (R2018a)
GUI Layout Toolbox Version 2.3.4 (R2018b)
Global Optimization Toolbox Version 3.4.4 (R2018a)
HDL Coder Version 3.12 (R2018a)
HDL Verifier Version 5.4 (R2018a)
Image Acquisition Toolbox Version 5.4 (R2018a)
Image Processing Toolbox Version 10.2 (R2018a)
Instrument Control Toolbox Version 3.13 (R2018a)
LTE HDL Toolbox Version 1.1 (R2018a)
LTE System Toolbox Version 2.6 (R2018a)
MATLAB Coder Version 4.0 (R2018a)
MATLAB Compiler Version 6.6 (R2018a)
MATLAB Compiler SDK Version 6.5 (R2018a)
MATLAB Report Generator Version 5.4 (R2018a)
Mapping Toolbox Version 4.6 (R2018a)
Model Predictive Control Toolbox Version 6.1 (R2018a)
Model-Based Calibration Toolbox Version 5.4 (R2018a)
Neural Network Toolbox Version 11.1 (R2018a)
OPC Toolbox Version 4.0.5 (R2018a)
Optimization Toolbox Version 8.1 (R2018a)
Parallel Computing Toolbox Version 6.12 (R2018a)
Partial Differential Equation Toolbox Version 3.0 (R2018a)
Phased Array System Toolbox Version 3.6 (R2018a)
Polyspace Bug Finder Version 2.5 (R2018a)
Polyspace Code Prover Version 9.9 (R2018a)
Powertrain Blockset Version 1.3 (R2018a)
Predictive Maintenance Toolbox Version 1.0 (R2018a)
RF Blockset Version 7.0 (R2018a)
RF Toolbox Version 3.4 (R2018a)
Risk Management Toolbox Version 1.3 (R2018a)
Robotics System Toolbox Version 2.0 (R2018a)
Robust Control Toolbox Version 6.4.1 (R2018a)
Signal Processing Toolbox Version 8.0 (R2018a)
SimBiology Version 5.8 (R2018a)
SimEvents Version 5.4 (R2018a)
Simscape Version 4.4 (R2018a)
Simscape Driveline Version 2.14 (R2018a)
Simscape Fluids Version 2.4 (R2018a)
Simscape Multibody Version 5.2 (R2018a)
Simscape Power Systems Version 6.9 (R2018a)
Simulink 3D Animation Version 8.0 (R2018a)
Simulink Check Version 4.1 (R2018a)
Simulink Code Inspector Version 3.2 (R2018a)
Simulink Coder Version 8.14 (R2018a)
Simulink Control Design Version 5.1 (R2018a)
Simulink Coverage Version 4.1 (R2018a)
Simulink Design Optimization Version 3.4 (R2018a)
Simulink Design Verifier Version 3.5 (R2018a)
Simulink Desktop Real-Time Version 5.6 (R2018a)
Simulink PLC Coder Version 2.5 (R2018a)
Simulink Real-Time Version 6.8 (R2018a)
Simulink Report Generator Version 5.4 (R2018a)
Simulink Requirements Version 1.1 (R2018a)
Simulink Test Version 2.4 (R2018a)
Spreadsheet Link Version 3.3.3 (R2018a)
Stateflow Version 9.1 (R2018a)
Statistics and Machine Learning Toolbox Version 11.3 (R2018a)
Symbolic Math Toolbox Version 8.1 (R2018a)
System Identification Toolbox Version 9.8 (R2018a)
Text Analytics Toolbox Version 1.1 (R2018a)
Trading Toolbox Version 3.4 (R2018a)
Vehicle Dynamics Blockset Version 1.0 (R2018a)
Vehicle Network Toolbox Version 4.0 (R2018a)
Vision HDL Toolbox Version 1.6 (R2018a)
WLAN System Toolbox Version 1.5 (R2018a)
Wavelet Toolbox Version 5.0 (R2018a)
Alan Liddell
Alan Liddell on 12 Jun 2019
The code is rank(m), which is the last line of the script I supplied. I also mentioned: "other matrices of the same size don't present a challenge", and I suspect that the computer did indeed run out of memory, which is the problem exactly: that should not be the case for a matrix of this size.
For the record:
>> memory
Maximum possible array: 126976 MB (1.331e+11 bytes) *
Memory available for all arrays: 126976 MB (1.331e+11 bytes) *
Memory used by MATLAB: 7944 MB (8.330e+09 bytes)
Physical Memory (RAM): 130742 MB (1.371e+11 bytes)
* Limited by System Memory (physical + swap file) available.

Sign in to comment.

Accepted Answer

Christine Tobler
Christine Tobler on 12 Jun 2019
This sounds like a bug. It shouldn't be due to memory issues, SVD uses the same amount of memory if the matrix size and the syntax are the same - I expect the iterative solver gets stuck somewhere for this specific matrix.
This seems to be machine-dependent, I couldn't reproduce it on my Windows machine. Could you give us some more information about the machine you are using (type of the CPU). In particular, it would be great to know if your CPU supports AVX-512 instructions.
Christine Tobler
Christine Tobler on 1 Jul 2019
Thanks for letting me know. I'm afraid I'm not sure what to do about these issues with the i9 79** machines, but having more data about them is definitely good.

Sign in to comment.

More Answers (0)





Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by