2

I am trying to compile Magma 2.5 on my laptop with NVIDIA GTX 960M, and it always prompts the linkage problem.

I have upgraded cmake version to thew newest available (3.14.3). Below is part of the error output.

lib/libmagma_sparse.a(magma_sparse_generated_magma_dsampleselect.cu.o): In function `magma_dsampleselect':
tmpxft_0000080b_00000000-5_magma_dsampleselect.compute_60.cudafe1.cpp:(.text+0x337): undefined reference to `magma_sampleselect::sampleselect_alloc_size(int)'
tmpxft_0000080b_00000000-5_magma_dsampleselect.compute_60.cudafe1.cpp:(.text+0x364): undefined reference to `magma_sampleselect::realloc_if_necessary(void**, int*, int)'
tmpxft_0000080b_00000000-5_magma_dsampleselect.compute_60.cudafe1.cpp:(.text+0x4f0): undefined reference to `magma_sampleselect::sampleselect(double*, double*, double*, int*, int, int, double*)'
lib/libmagma_sparse.a(magma_sparse_generated_magma_dsampleselect.cu.o): In function `magma_dsampleselect_approx':
tmpxft_0000080b_00000000-5_magma_dsampleselect.compute_60.cudafe1.cpp:(.text+0x65a): undefined reference to `magma_sampleselect::realloc_if_necessary(void**, int*, int)'
tmpxft_0000080b_00000000-5_magma_dsampleselect.compute_60.cudafe1.cpp:(.text+0x7e5): undefined reference to `magma_sampleselect::build_searchtree(double const*, double*, int)'
tmpxft_0000080b_00000000-5_magma_dsampleselect.compute_60.cudafe1.cpp:(.text+0x872): undefined reference to `magma_sampleselect::count_buckets(double const*, double const*, int*, int, int)'
tmpxft_0000080b_00000000-5_magma_dsampleselect.compute_60.cudafe1.cpp:(.text+0x8f7): undefined reference to `magma_sampleselect::reduce_counts(int const*, int*, int)'
tmpxft_0000080b_00000000-5_magma_dsampleselect.compute_60.cudafe1.cpp:(.text+0x97e): undefined reference to `magma_sampleselect::sampleselect_findbucket(int*, int, unsigned int*, int*)'
collect2: error: ld returned 1 exit status

talonmies
  • 70,661
  • 34
  • 192
  • 269

1 Answers1

1

Try adding the following files to the libsparse_all target inside CMake.src file:

sparse/blas/magma_dsampleselect_core.cu
sparse/blas/magma_sampleselect.cu
sparse/blas/magma_ssampleselect_core.cu

I have not yet verified this solution due to slow recompilation.