麻烦与CUSPARSE工作

问题描述:

因为我想我的编译程序(使用Cusparse)以下行出现了:麻烦与CUSPARSE工作

TMP/tmpxft_00001048_00000000-13_matvec.o:在功能main': tmpxft_00001048_00000000-1_matvec.cudafe1.cpp:(.text+0x6d5): undefined reference to cusparseCreate”

同样出来了,不仅用于cusparseCreate,还用于cusparseCreateMatDescr,cusparseSetMatType,cusparseSetMatIndexBase,cusparseXcoo2csr,cusparseDsctr, cusparseDcsrmv_v2,cusparseDestroyMatDescr和cusparseDestroy。这是什么意思?

+1

你是如何编译的?看起来你没有链接到cusparse库。关于如何链接库的答案取决于操作系统。 – 2012-03-12 21:30:51

+1

如何解决windows visual studio 2010的相同问题? – Terminal 2012-11-27 08:44:24

+0

@Terminal,这里是如何解决与Visual Studio的问题:http://*.com/questions/13570285/how-to-link-library-eg-cublas-cusparse-for-cuda-on-windows – Veridian 2016-11-08 17:21:11

您需要链接到cuSPARSE库。由于您使用的是Linux,因此在您的nvcc命令行中添加-lcusparse应该足够了。

请注意,如果系统在执行时未能找到链接库,您可能还需要将CUDA库路径添加到LD_LIBRARY_PATH环境变量。

+0

我错过了一些东西,或者有没有一种方法可以推断OP从他问的问题中使用Linux? – 2012-03-13 15:11:54

+0

错误消息是一个典型的Linux错误消息,Windows会说类似“无法解析的外部符号”。我不知道Mac会说什么,所以有可能他使用的是Mac,但在这种情况下,分辨率将是相同的。对于Windows,按照以下说明,可以将cusparse.lib与cudart.lib一起添加:http://*.com/a/2047892/214473(VS2005/2008)或http://*.com/a/7285235/214473( VS2010)。 – Tom 2012-03-13 15:53:01

+0

我一直在系统中看到这些错误信息!我无法注意到这一点很荒谬。感谢澄清。 – 2012-03-13 17:14:37