Название: Accelerating MATLAB Performance: 1001 tips to speed up MATLAB programs
Автор: Yair M. Altman
Издательство: Chapman and Hall/CRC
Год: 2014
Страниц: 785
Формат: True PDF
Размер: 144 Mb
Язык: English
The MATLAB® programming environment is often perceived as a platform suitable for prototyping and modeling but not for "serious" applications. One of the main complaints is that MATLAB is just too slow.
Accelerating MATLAB Performance aims to correct this perception by describing multiple ways to greatly improve MATLAB program speed. Packed with thousands of helpful tips, it leaves no stone unturned, discussing every aspect of MATLAB.
Ideal for novices and professionals alike, the book describes MATLAB performance in a scale and depth never before published. It takes a comprehensive approach to MATLAB performance, illustrating numerous ways to attain the desired speedup.
The book covers MATLAB, CPU, and memory profiling and discusses various tradeoffs in performance tuning. It describes the application in MATLAB of standard tuning techniques used in the software industry, as well as methods that are specific to MATLAB such as using different data types or built-in functions.
The book discusses MATLAB vectorization, parallelization (implicit and explicit), optimization, memory management, chunking, and caching. It explains MATLAB's memory model and details how it can be leveraged. It describes the use of GPU, MEX, FPGA, and other forms of compiled code, as well as techniques for speeding up deployed applications. It details specific tips for MATLAB GUI, graphics, and I/O. It also reviews a wide variety of utilities, libraries, and toolboxes that can help to improve performance.
Sufficient information is provided to allow readers to immediately apply the suggestions to their own MATLAB programs. Extensive references are also included to allow those who wish to expand the treatment of a particular topic to do so easily.
Supported by an active website and numerous code examples, the book will help readers rapidly attain significant reductions in development costs and program run times.