QUIC-SVD fails if m=n. #717

Closed
zoq opened this Issue Jul 7, 2016 · 8 comments

Projects

None yet

4 participants

@zoq
Member
zoq commented Jul 7, 2016

The QUIC-SVD method doesn't work if m = n, however as pointed out in the paper QUIC-SVD: Fast SVD Using Cosine Trees:

Throughout this paper we assume m ≥ n, such that sampling rows gives bigger speedup than sampling columns.

it should work. One problem is that the CosineNodeSplit(); returns if numColumns < 2 so the upcoming operations result in an error:

// Split the node into left and right children.
currentNode->CosineNodeSplit();

// Obtain pointers to the left and right children of the current node.
CosineTree *currentLeft, *currentRight;
currentLeft = currentNode->Left();
currentRight = currentNode->Right();

Right now, I can't see an easy fix, without changing some bigger parts of the code. Maybe someone else has a simple idea? Maybe @siddharth-agrawal has an idea?

@siddharth-agrawal
Member

@zoq Unfortunately, no. It's been two years since I wrote the code, so this is now effectively someone else's code for me. Maybe @rcurtin has an idea, he has an awesome memory!

@rcurtin
Member
rcurtin commented Jul 7, 2016

I don't have an awesome memory, I just have lots of logs that I have to refer to... :)

I'll look into this when I have a chance, hopefully in the next week or so.

@rcurtin rcurtin self-assigned this Jul 7, 2016
@rcurtin
Member
rcurtin commented Jul 20, 2016

When you say that it doesn't work, do you mean that it crashes or that its results are not good? If you have a test dataset and code I can use, that will help me figure out what is wrong.

It seems like there is at least a problem with the termination condition for building the tree, like you pointed out.

@zoq
Member
zoq commented Jul 20, 2016

It crashes, here is a simple test case:

BOOST_AUTO_TEST_CASE(QUICSVDSameDimensionTest)
{
  arma::mat dataset = arma::randn<arma::mat>(10, 10);

  // Obtain the SVD using default parameters.
  arma::mat u, v, sigma;
  svd::QUIC_SVD quicsvd(dataset, u, v, sigma);
}
@rcurtin
Member
rcurtin commented Aug 7, 2016

I believe that I've fixed this in 5bd1e7c; the issue was basically that the cosine nodes would not split at all when there were two points, so I changed the minimum number of points. In addition, the nodes would not split properly when there were only two points: the code (and the original equations in the paper) would cause both points to be in the left child, leaving an empty right child (which caused a failure).

I also found a minor error in 0be5c05, which I fixed. I added the test you suggested to quic_svd_test.cpp.

If my fix didn't work, please reopen and I'll try again. :)

@rcurtin rcurtin closed this Aug 7, 2016
@rcurtin rcurtin added the R: fixed label Aug 7, 2016
@rcurtin rcurtin added this to the mlpack 2.0.4 milestone Aug 7, 2016
@KungFuJesus
KungFuJesus commented Sep 1, 2016 edited

Your fix worked for small matrices, however sizable ones still crash, whether they are square or not. I am using MKL for BLAS & LAPACK implementations, though that should not matter. Here's my test code:

#include <stdio.h>
#include <stdlib.h>

#include <mlpack/core.hpp>
#include <mlpack/methods/quic_svd/quic_svd.hpp>

int main(int argc, char *argv[])
{
    using namespace mlpack;
    using namespace mlpack::svd;

    size_t numR = atoi(argv[1]);
    size_t numC = atoi(argv[2]);

    arma::mat dataset(numR, numC, arma::fill::randn);
    arma::mat u, v, sigma;

    QUIC_SVD quicsvd(dataset, u, v, sigma);

    return 0;
}

adam@Crushinator:~$ ./test.out 101 132

ntel MKL ERROR: Parameter 6 was incorrect on entry to DLASWP.Intel MKL ERROR: Parameter 6 was incorrect on entry to DLASWP.

Intel MKL ERROR: Parameter 6 was incorrect on entry to DLASWP.Intel MKL ERROR: Parameter 6 was incorrect on entry to DLASWP.

Intel MKL ERROR: Parameter 6 was incorrect on entry to DLASWP.

Intel MKL ERROR: Parameter 6 was incorrect on entry to DLASWP.
Intel MKL ERROR: Parameter 6 was incorrect on entry to DLASWP.

Intel MKL ERROR: Parameter 6 was incorrect on entry to DLASWP.

Intel MKL ERROR: Parameter 6 was incorrect on entry to DLASWP.

Intel MKL ERROR: Parameter 6 was incorrect on entry to DLASWP.

Intel MKL ERROR: Parameter 6 was incorrect on entry to DLASWP.

Intel MKL ERROR: Parameter 6 was incorrect on entry to DLASWP.
Intel MKL ERROR: Parameter 6 was incorrect on entry to DLASWP.
*** Error in `./test.out': free(): invalid pointer: 0x0000000000d88660 ***
======= Backtrace: =========
/usr/lib/libc.so.6(+0x70c4b)[0x7fca368e1c4b]
/usr/lib/libc.so.6(+0x76fe6)[0x7fca368e7fe6]
/usr/lib/libc.so.6(+0x777de)[0x7fca368e87de]
/usr/local/lib/libmlpack.so.2(ZN6mlpack3svd8QUIC_SVD10ExtractSVDERN4arma3MatIdEES5_S5+0xd15)[0x7fca37f3d575]
/usr/local/lib/libmlpack.so.2(_ZN6mlpack3svd8QUIC_SVDC2ERKN4arma3MatIdEERS4_S7_S7_dd+0x16e)[0x7fca37f3ee8e]
./test.out[0x4028d1]
/usr/lib/libc.so.6(__libc_start_main+0xf1)[0x7fca36891291]
./test.out[0x40243a]
======= Memory map: ========
00400000-0040a000 r-xp 00000000 08:02 824179 /home/adam/test.out
00609000-0060a000 r--p 00009000 08:02 824179 /home/adam/test.out
0060a000-0060b000 rw-p 0000a000 08:02 824179 /home/adam/test.out
00d02000-0129a000 rw-p 00000000 00:00 0 [heap]
7fca0c000000-7fca0c021000 rw-p 00000000 00:00 0
7fca0c021000-7fca10000000 ---p 00000000 00:00 0
7fca14000000-7fca14021000 rw-p 00000000 00:00 0
7fca14021000-7fca18000000 ---p 00000000 00:00 0
7fca18000000-7fca18486000 rw-p 00000000 00:00 0
7fca18486000-7fca1c000000 ---p 00000000 00:00 0
7fca1c000000-7fca1c486000 rw-p 00000000 00:00 0
7fca1c486000-7fca20000000 ---p 00000000 00:00 0
7fca2167a000-7fca21aff000 rw-p 00000000 00:00 0
7fca21f84000-7fca24000000 rw-p 00000000 00:00 0
7fca24000000-7fca24021000 rw-p 00000000 00:00 0
7fca24021000-7fca28000000 ---p 00000000 00:00 0
7fca280c6000-7fca2a6d4000 rw-p 00000000 00:00 0
7fca2a6d4000-7fca2a6d5000 ---p 00000000 00:00 0
7fca2a6d5000-7fca2aad5000 rw-p 00000000 00:00 0
7fca2aad5000-7fca2aad6000 ---p 00000000 00:00 0
7fca2aad6000-7fca2aed6000 rw-p 00000000 00:00 0
7fca2aed6000-7fca2aed7000 ---p 00000000 00:00 0
7fca2aed7000-7fca2b4d7000 rw-p 00000000 00:00 0
7fca2b4d7000-7fca2d53f000 r-xp 00000000 08:02 69046 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_avx2.so
7fca2d53f000-7fca2d73f000 ---p 02068000 08:02 69046 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_avx2.so
7fca2d73f000-7fca2d744000 r--p 02068000 08:02 69046 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_avx2.so
7fca2d744000-7fca2d74c000 rw-p 0206d000 08:02 69046 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_avx2.so
7fca2d74c000-7fca2e043000 r-xp 00000000 08:02 71966 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_intel_lp64.so
7fca2e043000-7fca2e242000 ---p 008f7000 08:02 71966 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_intel_lp64.so
7fca2e242000-7fca2e243000 r--p 008f6000 08:02 71966 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_intel_lp64.so
7fca2e243000-7fca2e257000 rw-p 008f7000 08:02 71966 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_intel_lp64.so
7fca2e257000-7fca2e25c000 rw-p 00000000 00:00 0
7fca2e25c000-7fca2f7c3000 r-xp 00000000 08:02 72210 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_intel_thread.so
7fca2f7c3000-7fca2f9c3000 ---p 01567000 08:02 72210 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_intel_thread.so
7fca2f9c3000-7fca2f9c6000 r--p 01567000 08:02 72210 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_intel_thread.so
7fca2f9c6000-7fca2fb82000 rw-p 0156a000 08:02 72210 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_intel_thread.so
7fca2fb82000-7fca2fb88000 rw-p 00000000 00:00 0
7fca2fb88000-7fca2fc93000 r-xp 00000000 08:02 46803 /opt/intel/compilers_and_libraries_2016.3.210/linux/compiler/lib/intel64_lin/libiomp5.so
7fca2fc93000-7fca2fe92000 ---p 0010b000 08:02 46803 /opt/intel/compilers_and_libraries_2016.3.210/linux/compiler/lib/intel64_lin/libiomp5.so
7fca2fe92000-7fca2fe9d000 rw-p 0010a000 08:02 46803 /opt/intel/compilers_and_libraries_2016.3.210/linux/compiler/lib/intel64_lin/libiomp5.so
7fca2fe9d000-7fca2fecc000 rw-p 00000000 00:00 0
7fca2fecc000-7fca31661000 r-xp 00000000 08:02 71314 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_core.so
7fca31661000-7fca31861000 ---p 01795000 08:02 71314 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_core.so
7fca31861000-7fca31869000 r--p 01795000 08:02 71314 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_core.so
7fca31869000-7fca3188a000 rw-p 0179d000 08:02 71314 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_core.so
7fca3188a000-7fca318dd000 rw-p 00000000 00:00 0
7fca318dd000-7fca318e1000 r-xp 00000000 08:02 13199997 /usr/lib/libcap.so.2.25
7fca318e1000-7fca31ae0000 ---p 00004000 08:02 13199997 /usr/lib/libcap.so.2.25
7fca31ae0000-7fca31ae1000 rw-p 00003000 08:02 13199997 /usr/lib/libcap.so.2.25
7fca31ae1000-7fca31af5000 r-xp 00000000 08:02 473734 /usr/lib/libresolv-2.24.so
7fca31af5000-7fca31cf4000 ---p 00014000 08:02 473734 /usr/lib/libresolv-2.24.so
7fca31cf4000-7fca31cf5000 r--p 00013000 08:02 473734 /usr/lib/libresolv-2.24.so
7fca31cf5000-7fca31cf6000 rw-p 00014000 08:02 473734 /usr/lib/libresolv-2.24.so
7fca31cf6000-7fca31cf8000 rw-p 00000000 00:00 0
7fca31cf8000-7fca31d01000 r-xp 00000000 08:02 364937 /usr/lib/libltdl.so.7.3.1
7fca31d01000-7fca31f00000 ---p 00009000 08:02 364937 /usr/lib/libltdl.so.7.3.1
7fca31f00000-7fca31f01000 r--p 00008000 08:02 364937 /usr/lib/libltdl.so.7.3.1
7fca31f01000-7fca31f02000 rw-p 00009000 08:02 364937 /usr/lib/libltdl.so.7.3.1
7fca31f02000-7fca31f0c000 r-xp 00000000 08:02 340580 /usr/lib/libnuma.so.1.0.0
7fca31f0c000-7fca3210c000 ---p 0000a000 08:02 340580 /usr/lib/libnuma.so.1.0.0
7fca3210c000-7fca3210d000 r--p 0000a000 08:02 340580 /usr/lib/libnuma.so.1.0.0
7fca3210d000-7fca3210e000 rw-p 0000b000 08:02 340580 /usr/lib/libnuma.so.1.0.0
7fca3210e000-7fca3214d000 r-xp 00000000 08:02 477624 /usr/lib/libquadmath.so.0.0.0
7fca3214d000-7fca3234c000 ---p 0003f000 08:02 477624 /usr/lib/libquadmath.so.0.0.0
7fca3234c000-7fca3234d000 r--p 0003e000 08:02 477624 /usr/lib/libquadmath.so.0.0.0
7fca3234d000-7fca3234e000 rw-p 0003f000 08:02 477624 /usr/lib/libquadmath.so.0.0.0
7fca3234e000-7fca32388000 r-xp 00000000 08:02 684094 /usr/lib/libhwloc.so.5.7.1
7fca32388000-7fca32587000 ---p 0003a000 08:02 684094 /usr/lib/libhwloc.so.5.7.1
7fca32587000-7fca32588000 r--p 00039000 08:02 684094 /usr/lib/libhwloc.so.5.7.1
7fca32588000-7fca32589000 rw-p 0003a000 08:02 684094 /usr/lib/libhwloc.so.5.7.1
7fca32589000-7fca3258b000 r-xp 00000000 08:02 473736 /usr/lib/libutil-2.24.so
7fca3258b000-7fca3278a000 ---p 00002000 08:02 473736 /usr/lib/libutil-2.24.so
7fca3278a000-7fca3278b000 r--p 00001000 08:02 473736 /usr/lib/libutil-2.24.so
7fca3278b000-7fca3278c000 rw-p 00002000 08:02 473736 /usr/lib/libutil-2.24.so
7fca3278c000-7fca32823000 r-xp 00000000 08:02 330973 /usr/lib/openmpi/libopen-pal.so.13.0.3
7fca32823000-7fca32a22000 ---p 00097000 08:02 330973 /usr/lib/openmpi/libopen-pal.so.13.0.3
7fca32a22000-7fca32a26000 r--p 00096000 08:02 330973 /usr/lib/openmpi/libopen-pal.so.13.0.3
7fca32a26000-7fca32a2a000 rw-p 0009a000 08:02 330973 /usr/lib/openmpi/libopen-pal.so.13.0.3
7fca32a2a000-7fca32a30000 rw-p 00000000 00:00 0
7fca32a30000-7fca32aa7000 r-xp 00000000 08:02 331025 /usr/lib/openmpi/libopen-rte.so.12.0.3
7fca32aa7000-7fca32ca7000 ---p 00077000 08:02 331025 /usr/lib/openmpi/libopen-rte.so.12.0.3
7fca32ca7000-7fca32ca8000 r--p 00077000 08:02 331025 /usr/lib/openmpi/libopen-rte.so.12.0.3
7fca32ca8000-7fca32cab000 rw-p 00078000 08:02 331025 /usr/lib/openmpi/libopen-rte.so.12.0.3
7fca32cab000-7fca32cad000 rw-p 00000000 00:00 0
7fca32cad000-7fca33274000 r-xp 00000000 08:02 12963677 /usr/lib/libatlas.so
7fca33274000-7fca33473000 ---p 005c7000 08:02 12963677 /usr/lib/libatlas.so
7fca33473000-7fca3347c000 rw-p 005c6000 08:02 12963677 /usr/lib/libatlas.so
7fca3347c000-7fca3349d000 r-xp 00000000 08:02 12963700 /usr/lib/libptcblas.so
7fca3349d000-7fca3369c000 ---p 00021000 08:02 12963700 /usr/lib/libptcblas.so
7fca3369c000-7fca3369d000 rw-p 00020000 08:02 12963700 /usr/lib/libptcblas.so
7fca3369d000-7fca336a3000 r-xp 00000000 08:02 219675 /usr/lib/libboost_chrono.so.1.60.0
7fca336a3000-7fca338a2000 ---p 00006000 08:02 219675 /usr/lib/libboost_chrono.so.1.60.0
7fca338a2000-7fca338a3000 r--p 00005000 08:02 219675 /usr/lib/libboost_chrono.so.1.60.0
7fca338a3000-7fca338a4000 rw-p 00006000 08:02 219675 /usr/lib/libboost_chrono.so.1.60.0
7fca338a4000-7fca339d2000 r-xp 00000000 08:02 477447 /usr/lib/libgfortran.so.3.0.0
7fca339d2000-7fca33bd2000 ---p 0012e000 08:02 477447 /usr/lib/libgfortran.so.3.0.0
7fca33bd2000-7fca33bd3000 r--p 0012e000 08:02 477447 /usr/lib/libgfortran.so.3.0.0
7fca33bd3000-7fca33bd5000 rw-p 0012f000 08:02 477447 /usr/lib/libgfortran.so.3.0.0
7fca33bd5000-7fca33c95000 r-xp 00000000 08:02 330995 /usr/lib/openmpi/libmpi.so.12.0.3
7fca33c95000-7fca33e94000 ---p 000c0000 08:02 330995 /usr/lib/openmpi/libmpi.so.12.0.3
7fca33e94000-7fca33e96000 r--p 000bf000 08:02 330995 /usr/lib/openmpi/libmpi.so.12.0.3
7fca33e96000-7fca33ea6000 rw-p 000c1000 08:02 330995 /usr/lib/openmpi/libmpi.so.12.0.3
7fca33ea6000-7fca33eb9000 rw-p 00000000 00:00 0
7fca33eb9000-7fca33f10000 r-xp 00000000 08:02 331015 /usr/lib/openmpi/libmpi_mpifh.so.12.0.1
7fca33f10000-7fca3410f000 ---p 00057000 08:02 331015 /usr/lib/openmpi/libmpi_mpifh.so.12.0.1
7fca3410f000-7fca34110000 r--p 00056000 08:02 331015 /usr/lib/openmpi/libmpi_mpifh.so.12.0.1
7fca34110000-7fca34111000 rw-p 00057000 08:02 331015 /usr/lib/openmpi/libmpi_mpifh.so.12.0.1
7fca34111000-7fca34117000 r-xp 00000000 08:02 330999 /usr/lib/openmpi/libmpi_usempi_ignore_tkr.so.6.2.0
7fca34117000-7fca34316000 ---p 00006000 08:02 330999 /usr/lib/openmpi/libmpi_usempi_ignore_tkr.so.6.2.0
7fca34316000-7fca34317000 r--p 00005000 08:02 330999 /usr/lib/openmpi/libmpi_usempi_ignore_tkr.so.6.2.0
7fca34317000-7fca34318000 rw-p 00006000 08:02 330999 /usr/lib/openmpi/libmpi_usempi_ignore_tkr.so.6.2.0
7fca34318000-7fca34346000 r-xp 00000000 08:02 331007 /usr/lib/openmpi/libmpi_usempif08.so.11.1.1
7fca34346000-7fca34545000 ---p 0002e000 08:02 331007 /usr/lib/openmpi/libmpi_usempif08.so.11.1.1
7fca34545000-7fca34546000 r--p 0002d000 08:02 331007 /usr/lib/openmpi/libmpi_usempif08.so.11.1.1
7fca34546000-7fca34547000 rw-p 0002e000 08:02 331007 /usr/lib/openmpi/libmpi_usempif08.so.11.1.1
7fca34547000-7fca34564000 r-xp 00000000 08:02 12963701 /usr/lib/libptf77blas.so
7fca34564000-7fca34764000 ---p 0001d000 08:02 12963701 /usr/lib/libptf77blas.so
7fca34764000-7fca34765000 rw-p 0001d000 08:02 12963701 /usr/lib/libptf77blas.so
7fca34765000-7fca34cd7000 r-xp 00000000 08:02 12963704 /usr/lib/libptlapack.so.3.4.1
7fca34cd7000-7fca34ed6000 ---p 00572000 08:02 12963704 /usr/lib/libptlapack.so.3.4.1
7fca34ed6000-7fca34edc000 rw-p 00571000 08:02 12963704 /usr/lib/libptlapack.so.3.4.1
7fca34edc000-7fca34fe9000 rw-p 00000000 00:00 0
7fca34fe9000-7fca34fec000 r-xp 00000000 08:02 219674 /usr/lib/libboost_system.so.1.60.0
7fca34fec000-7fca351eb000 ---p 00003000 08:02 219674 /usr/lib/libboost_system.so.1.60.0
7fca351eb000-7fca351ec000 r--p 00002000 08:02 219674 /usr/lib/libboost_system.so.1.60.0
7fca351ec000-7fca351ed000 rw-p 00003000 08:02 219674 /usr/lib/libboost_system.so.1.60.0
7fca351ed000-7fca351f1000 r-xp 00000000 08:02 219703 /usr/lib/libboost_timer.so.1.60.0
7fca351f1000-7fca353f0000 ---p 00004000 08:02 219703 /usr/lib/libboost_timer.so.1.60.0
7fca353f0000-7fca353f1000 r--p 00003000 08:02 219703 /usr/lib/libboost_timer.so.1.60.0
7fca353f1000-7fca353f2000 rw-p 00004000 08:02 219703 /usr/lib/libboost_timer.so.1.60.0
7fca353f2000-7fca35462000 r-xp 00000000 08:02 760094 /usr/lib/libsuperlu.so.5.2.0
7fca35462000-7fca35661000 ---p 00070000 08:02 760094 /usr/lib/libsuperlu.so.5.2.0
7fca35661000-7fca35662000 r--p 0006f000 08:02 760094 /usr/lib/libsuperlu.so.5.2.0
7fca35662000-7fca35663000 rw-p 00070000 08:02 760094 /usr/lib/libsuperlu.so.5.2.0
7fca35663000-7fca356ad000 r-xp 00000000 08:02 760634 /usr/lib/libarpack.so.2.0.0
7fca356ad000-7fca358ac000 ---p 0004a000 08:02 760634 /usr/lib/libarpack.so.2.0.0
7fca358ac000-7fca358ad000 r--p 00049000 08:02 760634 /usr/lib/libarpack.so.2.0.0
7fca358ad000-7fca358ae000 rw-p 0004a000 08:02 760634 /usr/lib/libarpack.so.2.0.0
7fca358ae000-7fca358b0000 r-xp 00000000 08:02 473731 /usr/lib/libdl-2.24.so
7fca358b0000-7fca35ab0000 ---p 00002000 08:02 473731 /usr/lib/libdl-2.24.so
7fca35ab0000-7fca35ab1000 r--p 00002000 08:02 473731 /usr/lib/libdl-2.24.so
7fca35ab1000-7fca35ab2000 rw-p 00003000 08:02 473731 /usr/lib/libdl-2.24.so
7fca35ab2000-7fca35aca000 r-xp 00000000 08:02 473658 /usr/lib/libpthread-2.24.so
7fca35aca000-7fca35cc9000 ---p 00018000 08:02 473658 /usr/lib/libpthread-2.24.so
7fca35cc9000-7fca35cca000 r--p 00017000 08:02 473658 /usr/lib/libpthread-2.24.so
7fca35cca000-7fca35ccb000 rw-p 00018000 08:02 473658 /usr/lib/libpthread-2.24.so
7fca35ccb000-7fca35ccf000 rw-p 00000000 00:00 0
7fca35ccf000-7fca35cfc000 r-xp 00000000 08:02 477530 /usr/lib/libgomp.so.1.0.0
7fca35cfc000-7fca35efb000 ---p 0002d000 08:02 477530 /usr/lib/libgomp.so.1.0.0
7fca35efb000-7fca35efc000 r--p 0002c000 08:02 477530 /usr/lib/libgomp.so.1.0.0
7fca35efc000-7fca35efd000 rw-p 0002d000 08:02 477530 /usr/lib/libgomp.so.1.0.0
7fca35efd000-7fca35f04000 r-xp 00000000 08:02 473735 /usr/lib/librt-2.24.so
7fca35f04000-7fca36103000 ---p 00007000 08:02 473735 /usr/lib/librt-2.24.so
7fca36103000-7fca36104000 r--p 00006000 08:02 473735 /usr/lib/librt-2.24.so
7fca36104000-7fca36105000 rw-p 00007000 08:02 473735 /usr/lib/librt-2.24.so
7fca36105000-7fca3613e000 r-xp 00000000 08:02 219685 /usr/lib/libboost_serialization.so.1.60.0
7fca3613e000-7fca3633e000 ---p 00039000 08:02 219685 /usr/lib/libboost_serialization.so.1.60.0
7fca3633e000-7fca36340000 r--p 00039000 08:02 219685 /usr/lib/libboost_serialization.so.1.60.0
7fca36340000-7fca36341000 rw-p 0003b000 08:02 219685 /usr/lib/libboost_serialization.so.1.60.0
7fca36341000-7fca363e9000 r-xp 00000000 08:02 219709 /usr/lib/libboost_unit_test_framework.so.1.60.0
7fca363e9000-7fca365e8000 ---p 000a8000 08:02 219709 /usr/lib/libboost_unit_test_framework.so.1.60.0
7fca365e8000-7fca365ec000 r--p 000a7000 08:02 219709 /usr/lib/libboost_unit_test_framework.so.1.60.0
7fca365ec000-7fca365ed000 rw-p 000ab000 08:02 219709 /usr/lib/libboost_unit_test_framework.so.1.60.0
7fca365ed000-7fca365f0000 rw-p 00000000 00:00 0
7fca365f0000-7fca3666d000 r-xp 00000000 08:02 219701 /usr/lib/libboost_program_options.so.1.60.0
7fca3666d000-7fca3686d000 ---p 0007d000 08:02 219701 /usr/lib/libboost_program_options.so.1.60.0
7fca3686d000-7fca36870000 r--p 0007d000 08:02 219701 /usr/lib/libboost_program_options.so.1.60.0
7fca36870000-7fca36871000 rw-p 00080000 08:02 219701 /usr/lib/libboost_program_options.so.1.60.0
7fca36871000-7fca36a06000 r-xp 00000000 08:02 473677 /usr/lib/libc-2.24.so
7fca36a06000-7fca36c05000 ---p 00195000 08:02 473677 /usr/lib/libc-2.24.so
7fca36c05000-7fca36c09000 r--p 00194000 08:02 473677 /usr/lib/libc-2.24.so
7fca36c09000-7fca36c0b000 rw-p 00198000 08:02 473677 /usr/lib/libc-2.24.so
7fca36c0b000-7fca36c0f000 rw-p 00000000 00:00 0
7fca36c0f000-7fca36c25000 r-xp 00000000 08:02 477409 /usr/lib/libgcc_s.so.1
7fca36c25000-7fca36e24000 ---p 00016000 08:02 477409 /usr/lib/libgcc_s.so.1
7fca36e24000-7fca36e25000 r--p 00015000 08:02 477409 /usr/lib/libgcc_s.so.1
7fca36e25000-7fca36e26000 rw-p 00016000 08:02 477409 /usr/lib/libgcc_s.so.1
7fca36e26000-7fca36f29000 r-xp 00000000 08:02 473732 /usr/lib/libm-2.24.so
7fca36f29000-7fca37128000 ---p 00103000 08:02 473732 /usr/lib/libm-2.24.so
7fca37128000-7fca37129000 r--p 00102000 08:02 473732 /usr/lib/libm-2.24.so
7fca37129000-7fca3712a000 rw-p 00103000 08:02 473732 /usr/lib/libm-2.24.so
7fca3712a000-7fca372a2000 r-xp 00000000 08:02 477675 /usr/lib/libstdc++.so.6.0.22
7fca372a2000-7fca374a2000 ---p 00178000 08:02 477675 /usr/lib/libstdc++.so.6.0.22
7fca374a2000-7fca374ac000 r--p 00178000 08:02 477675 /usr/lib/libstdc++.so.6.0.22
7fca374ac000-7fca374ae000 rw-p 00182000 08:02 477675 /usr/lib/libstdc++.so.6.0.22
7fca374ae000-7fca374b2000 rw-p 00000000 00:00 0
7fca374b2000-7fca374ba000 r-xp 00000000 08:02 575713 /usr/lib/libarmadillo.so.7.400.2
7fca374ba000-7fca376b9000 ---p 00008000 08:02 575713 /usr/lib/libarmadillo.so.7.400.2
7fca376b9000-7fca376ba000 r--p 00007000 08:02 575713 /usr/lib/libarmadillo.so.7.400.2
7fca376ba000-7fca376bb000 rw-p 00008000 08:02 575713 /usr/lib/libarmadillo.so.7.400.2
7fca376bb000-7fca37a88000 r-xp 00000000 08:02 72352 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_rt.so
7fca37a88000-7fca37c88000 ---p 003cd000 08:02 72352 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_rt.so
7fca37c88000-7fca37c8e000 r--p 003cd000 08:02 72352 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_rt.so
7fca37c8e000-7fca37c8f000 rw-p 003d3000 08:02 72352 /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64_lin/libmkl_rt.so
7fca37c8f000-7fca37c9f000 rw-p 00000000 00:00 0
7fca37c9f000-7fca3803a000 r-xp 00000000 08:02 823397 /usr/local/lib/libmlpack.so.2.0
7fca3803a000-7fca3823a000 ---p 0039b000 08:02 823397 /usr/local/lib/libmlpack.so.2.0
7fca3823a000-7fca38248000 r--p 0039b000 08:02 823397 /usr/local/lib/libmlpack.so.2.0
7fca38248000-7fca3824c000 rw-p 003a9000 08:02 823397 /usr/local/lib/libmlpack.so.2.0
7fca3824c000-7fca38251000 rw-p 00000000 00:00 0
7fca38251000-7fca38274000 r-xp 00000000 08:02 473676 /usr/lib/ld-2.24.so
7fca383aa000-7fca383d5000 rw-p 00000000 00:00 0
7fca383d5000-7fca383f3000 r-xp 00000000 08:02 486315 /usr/lib/libudev.so.1.6.5
7fca383f3000-7fca383f4000 ---p 0001e000 08:02 486315 /usr/lib/libudev.so.1.6.5
7fca383f4000-7fca383f5000 r--p 0001e000 08:02 486315 /usr/lib/libudev.so.1.6.5
7fca383f5000-7fca383f6000 rw-p 0001f000 08:02 486315 /usr/lib/libudev.so.1.6.5
7fca383f6000-7fca38402000 rw-p 00000000 00:00 0
7fca3843f000-7fca38440000 rw-p 00000000 00:00 0
7fca38440000-7fca38441000 ---p 00000000 00:00 0
7fca38441000-7fca38473000 rw-p 00000000 00:00 0
7fca38473000-7fca38474000 r--p 00022000 08:02 473676 /usr/lib/ld-2.24.so
7fca38474000-7fca38475000 rw-p 00023000 08:02 473676 /usr/lib/ld-2.24.so
7fca38475000-7fca38476000 rw-p 00000000 00:00 0
7ffec36f6000-7ffec3717000 rw-p 00000000 00:00 0 [stack]
7ffec37ab000-7ffec37ad000 r--p 00000000 00:00 0 [vvar]
7ffec37ad000-7ffec37af000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Aborted (core dumped)

@rcurtin
Member
rcurtin commented Sep 1, 2016

Hi there, thanks for the report (nice hostname by the way, I like it). I can't seem to reproduce this with regular BLAS/LAPACK. I suspect this may be a different issue than the original issue here; would you mind opening a new issue so we can debug it there? Also, if you can get me the versions of MKL, Armadillo, and mlpack (probably git master?) you're using, I can try and reproduce and then debug. Based on the way this looks I would not be surprised if it is an Armadillo or MKL bug (but I am not sure yet).

@KungFuJesus

Sure thing, filed here: #774

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment