2

我正在尝试用NVIDIA GTX 960M在我的笔记本电脑上编译Magma 2.5,它总是提示联动问题。

我已将 cmake 版本升级到最新的可用版本(3.14.3)。以下是错误输出的一部分。

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

4

1 回答 1

1

尝试将以下文件添加到libsparse_all目标内部CMake.src文件:

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

由于重新编译速度慢,我尚未验证此解决方案。

于 2019-04-29T05:50:07.990 回答