Denoising applied to spectroscopies – Part II: Decreasing computation time

Abstract Spectroscopies are of fundamental importance but can suffer from low sensitivity. Singular value decomposition (SVD) is a highly interesting mathematical tool, which can be conjugated with low-rank approximation to denoise spectra and increase sensitivity. SVD is also involved in data mining with principal component analysis (PCA). In this paper, we focused on the optimization of SVD duration, which is a time-consuming computation. Both Intel processors (CPU) and Nvidia graphic cards (GPU) were benchmarked. A 100 times gain was achieved when combining divide and conquer algorithm, Intel Math Kernel Library (MKL), SSE3 (Streaming SIMD Extensions) hardware instructions and single precision. In such a case, the CPU can outperform the GPU driven by CUDA technology. These results give a strong background to optimize SVD computation at the user scale. Graphical Abstract

[1]  J. Cuppen A divide and conquer method for the symmetric tridiagonal eigenproblem , 1980 .

[2]  Xi Cheng,et al.  An improved coupled dictionary and multi-norm constraint fusion method for CT/MR medical images , 2018, Multimedia Tools and Applications.

[3]  Eric Jones,et al.  SciPy: Open Source Scientific Tools for Python , 2001 .

[4]  Jack J. Dongarra,et al.  Accelerating the SVD two stage bidiagonal reduction and divide and conquer using GPUs , 2017, Parallel Comput..

[5]  Kevin Skadron,et al.  Scalable parallel programming , 2008, 2008 IEEE Hot Chips 20 Symposium (HCS).

[6]  W. Price,et al.  Spin dynamics: Basics of nuclear magnetic resonance, 2nd edition. , 2009 .

[7]  Gang Xie,et al.  A Few of the Most Popular Models for Heterogeneous Parallel Programming , 2017, 2017 16th International Symposium on Distributed Computing and Applications to Business, Engineering and Science (DCABES).

[8]  L. G. Blackwood Factor Analysis in Chemistry (2nd Ed.) , 1994 .

[9]  Pradeep Dubey,et al.  Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU , 2010, ISCA.

[10]  A. Kentgens,et al.  Population and coherence transfer induced by double frequency sweeps in half-integer quadrupolar spin systems. , 2000, Journal of magnetic resonance.

[11]  Heng Tao Shen,et al.  Principal Component Analysis , 2009, Encyclopedia of Biometrics.

[12]  Gerhard Wellein,et al.  Comparing the performance of different x86 SIMD instruction sets for a medical imaging application on modern multi- and manycore chips , 2014, WPMVP '14.

[13]  Romain Dolbeau,et al.  Theoretical peak FLOPS per instruction set: a tutorial , 2017, The Journal of Supercomputing.

[14]  Bogdan Dumitrescu,et al.  GPU parallel implementation of the approximate K-SVD algorithm using OpenCL , 2014, 2014 22nd European Signal Processing Conference (EUSIPCO).

[15]  Arno P M Kentgens,et al.  Analysis of mass-limited mixtures using supercritical-fluid chromatography and microcoil NMR. , 2015, The Analyst.

[16]  Bruno Lang,et al.  Computing the Bidiagonal SVD Using Multiple Relatively Robust Representations , 2006, SIAM J. Matrix Anal. Appl..

[17]  M. El-Sayed,et al.  Simultaneous Time-Dependent Surface-Enhanced Raman Spectroscopy, Metabolomics, and Proteomics Reveal Cancer Cell Death Mechanisms Associated with Gold Nanorod Photothermal Therapy. , 2016, Journal of the American Chemical Society.

[18]  Jack J. Dongarra,et al.  Automatically Tuned Linear Algebra Software , 1998, Proceedings of the IEEE/ACM SC98 Conference.

[19]  Camila Maione,et al.  Recent applications of multivariate data analysis methods in the authentication of rice and the most analyzed parameters: A review , 2019, Critical reviews in food science and nutrition.

[20]  Mathias Bourgoin,et al.  High Level Data Structures for GPGPU Programming in a Statically Typed Language , 2016, International Journal of Parallel Programming.

[21]  Jack J. Dongarra,et al.  Accelerating Numerical Dense Linear Algebra Calculations with GPUs , 2014, Numerical Computations with GPUs.

[22]  Gene H. Golub,et al.  Singular value decomposition and least squares solutions , 1970, Milestones in Matrix Computation.

[23]  Edmund R. Malinowski,et al.  Factor Analysis in Chemistry , 1980 .

[24]  Gerald E. Plassman A Survey of Singular Value Decomposition Methods and Performance Comparison of Some Available Serial Codes , 2013 .

[25]  Ruixuan Li,et al.  A divide-and-conquer approach for solving singular value decomposition on a heterogeneous system , 2013, CF '13.

[26]  W. Malfait,et al.  Increased 29Si NMR sensitivity in glasses with a Carr–Purcell–Meiboom–Gill echotrain , 2008 .

[27]  C. Gervais,et al.  Recent NMR Developments Applied to Organic‐Inorganic Materials , 2014 .

[28]  Kevin Skadron,et al.  Scalable parallel programming , 2008, 2008 IEEE Hot Chips 20 Symposium (HCS).

[29]  Alex Fit-Florea,et al.  Precision and Performance: Floating Point and IEEE 754 Compliance for NVIDIA GPUs , 2011 .

[30]  Joseph R. Cavallaro,et al.  CORDIC arithmetic for an SVD processor , 1987, IEEE Symposium on Computer Arithmetic.

[31]  Travis E. Oliphant,et al.  Guide to NumPy , 2015 .

[32]  Mircea Andrecut,et al.  Parallel GPU Implementation of Iterative PCA Algorithms , 2008, J. Comput. Biol..

[33]  James A. Cadzow,et al.  Signal enhancement-a composite property mapping algorithm , 1988, IEEE Trans. Acoust. Speech Signal Process..

[34]  Yann Guitton,et al.  Multidimensional NMR approaches towards highly resolved, sensitive and high-throughput quantitative metabolomics. , 2017, Current opinion in biotechnology.

[35]  W. Z. B. Jaafar,et al.  Assessing Risk and Sources of Heavy Metals in a Tropical River Basin: A Case Study of the Selangor River, Malaysia , 2018, Polish Journal of Environmental Studies.

[36]  C. Gervais,et al.  87Sr, 119Sn, 127I Single and {1H/19F}-Double Resonance Solid-State NMR Experiments: Application to Inorganic Materials and Nanobuilding Blocks , 2016 .

[37]  B. AfeArd CALCULATING THE SINGULAR VALUES AND PSEUDOINVERSE OF A MATRIX , 2022 .

[38]  KimChangkyu,et al.  Debunking the 100X GPU vs. CPU myth , 2010 .

[39]  P. J. Narayanan,et al.  Singular value decomposition on GPU using CUDA , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[40]  James Demmel,et al.  Jacobi's Method is More Accurate than QR , 1989, SIAM J. Matrix Anal. Appl..

[41]  Stanley C. Eisenstat,et al.  A Divide-and-Conquer Algorithm for the Bidiagonal SVD , 1995, SIAM J. Matrix Anal. Appl..

[42]  Jack J. Dongarra,et al.  From CUDA to OpenCL: Towards a performance-portable solution for multi-platform GPU programming , 2012, Parallel Comput..

[43]  Eric J. Kelmelis,et al.  CULA: hybrid GPU accelerated linear algebra routines , 2010, Defense + Commercial Sensing.

[44]  Gene H. Golub,et al.  Calculating the singular values and pseudo-inverse of a matrix , 2007, Milestones in Matrix Computation.

[45]  Jacco D. van Beek,et al.  matNMR: A flexible toolbox for processing, analyzing and visualizing magnetic resonance data in Matlab® , 2007 .

[46]  L. Hogben Handbook of Linear Algebra , 2006 .

[47]  Nicolas Pinto,et al.  PyCUDA and PyOpenCL: A scripting-based approach to GPU run-time code generation , 2009, Parallel Comput..

[48]  R. Schurko Ultra-wideline solid-state NMR spectroscopy. , 2013, Accounts of chemical research.

[49]  Nathan Halko,et al.  Finding Structure with Randomness: Probabilistic Algorithms for Constructing Approximate Matrix Decompositions , 2009, SIAM Rev..

[50]  Douglas N Rutledge,et al.  Independent components analysis to increase efficiency of discriminant analysis methods (FDA and LDA): Application to NMR fingerprinting of wine. , 2015, Talanta.

[51]  Donald W. Tufts,et al.  Estimation of a signal waveform from noisy data using low-rank approximation to a data matrix , 1993, IEEE Trans. Signal Process..

[52]  J. V. van Beek,et al.  matNMR: a flexible toolbox for processing, analyzing and visualizing magnetic resonance data in Matlab. , 2007, Journal of magnetic resonance.

[53]  Jack J. Dongarra,et al.  A set of level 3 basic linear algebra subprograms , 1990, TOMS.

[54]  Ofer Rosenberg OpenCL parallel computing for heterogeneous devices , 2009, 2009 IEEE Hot Chips 21 Symposium (HCS).

[55]  Michael P. Rogers Python Tutorial , 2009 .

[56]  Xin Chen,et al.  Mining Social Media Data for Understanding Students’ Learning Experiences , 2014, IEEE Transactions on Learning Technologies.

[57]  Pierre Comon,et al.  Independent component analysis, A new concept? , 1994, Signal Process..

[58]  P. Man,et al.  Denoising NMR time-domain signal by singular-value decomposition accelerated by graphics processing units. , 2014, Solid state nuclear magnetic resonance.

[59]  Jack J. Dongarra,et al.  Unified Development for Mixed Multi-GPU and Multi-coprocessor Environments Using a Lightweight Runtime Environment , 2014, 2014 IEEE 28th International Parallel and Distributed Processing Symposium.

[60]  Jianping Zhao,et al.  Application of GC/Q-ToF Combined with Advanced Data Mining and Chemometric Tools in the Characterization and Quality Control of Bay Leaves , 2018, Planta Medica.

[61]  C. Jaroniec,et al.  Nmrglue: an open source Python package for the analysis of multidimensional NMR data , 2013, Journal of biomolecular NMR.

[62]  A. Shukla,et al.  Analysis of soda-lime glasses using non-negative matrix factor deconvolution of Raman spectra , 2015 .

[63]  R. Das,et al.  Raman spectroscopy: Recent advancements, techniques and applications , 2011 .

[64]  R. Manne,et al.  Fast regression methods in a Lanczos (or PLS-1) basis. Theory and applications , 2000 .

[65]  G. Stewart Perturbation theory for the singular value decomposition , 1990 .

[66]  Carolina Cardell,et al.  An overview of emerging hyphenated SEM-EDX and Raman spectroscopy systems: Applications in life, environmental and materials sciences , 2016 .

[67]  Peter Läuchli,et al.  Jordan-Elimination und Ausgleichung nach kleinsten Quadraten , 1961 .

[68]  Emmanuelle Gouillart,et al.  Denoising applied to spectroscopies – part I: concept and limits , 2019, Applied Spectroscopy Reviews.

[69]  Vedran Novakovic,et al.  A GPU-based hyperbolic SVD algorithm , 2010, ArXiv.

[70]  Laurent Condat,et al.  Cadzow Denoising Upgraded: A New Projection Method for the Recovery of Dirac Pulses from Noisy Linear Measurements , 2015 .

[71]  Jonathon Shlens,et al.  A Tutorial on Principal Component Analysis , 2014, ArXiv.

[72]  Charles K. Bayne Practical Guide to Chemometrics , 1995 .

[73]  Frank Vogt,et al.  Fast principal component analysis of large data sets , 2001 .

[74]  Donagh Berry,et al.  Evaluation of Non-linearity in MIR Spectroscopic Data for Compressed Learning , 2017, 2017 IEEE International Conference on Data Mining Workshops (ICDMW).

[75]  B. Kowalski,et al.  Partial least-squares regression: a tutorial , 1986 .

[76]  Waïss Elmi Rayaleh Extraction des connaissances en imagerie microspectrométrique par analyse chimiométrique : application à la caractérisation des constituants d'un calcul urinaire , 2006 .

[77]  M. Levitt Spin Dynamics: Basics of Nuclear Magnetic Resonance , 2001 .

[78]  R. Kumaresan,et al.  Data adaptive signal estimation by singular value decomposition of a data matrix , 1982, Proceedings of the IEEE.

[79]  Plinio Innocenzi,et al.  Hydrophobic, Antireflective, Self-Cleaning, and Antifogging Sol−Gel Coatings: An Example of Multifunctional Nanostructured Materials for Photovoltaic Cells , 2010 .

[80]  S. Orfanidis SVD, PCA, KLT, CCA, and all that , 2007 .

[81]  David I. Ellis,et al.  A tutorial review: Metabolomics and partial least squares-discriminant analysis--a marriage of convenience or a shotgun wedding. , 2015, Analytica chimica acta.

[82]  Freek Ariese,et al.  Raman and mid-infrared spectroscopic imaging: applications and advancements , 2015 .