如何在 nvidia Nsight eclipse 中使用 GNU 科学库 (gsl)

Posted

技术标签:

【中文标题】如何在 nvidia Nsight eclipse 中使用 GNU 科学库 (gsl)【英文标题】:How to use the GNU scientific library (gsl) in nvidia Nsight eclipse 【发布时间】:2014-03-10 09:13:44 【问题描述】:

我想在我的 CUDA 代码中使用一些 gsl 函数。 (在 linux 上的 Nsight eclipse 中)我已经安装了 gsl,现在我应该在 eclipse 中设置链接器设置。

我已尝试按照概述的步骤进行操作 here,但我有一些问题。在项目属性中没有“C/C++ Build”菜单,只有“Build”,我找不到上面博客文章中提到的设置。

如何设置链接器设置?

提前致谢!

【问题讨论】:

【参考方案1】:

您将无法直接在 CUDA 设备代码中使用 gsl 例程。 gsl 库 (-lgsl) 是为 x86 使用而编译的,不会在 GPU 上运行。

如果您只想在宿主代码中使用 gsl 例程,只需指定包含文件和路径、链接器路径和链接器库就足够了:

-I/usr/local/include/gsl
-L/usr/local/lib (or /usr/local/lib64)
-lgsl

这里是a question/answer 讨论如何在 nsight eclipse 中进行此类添加

【讨论】:

谢谢罗伯特!我有点理解向量和矩阵操作不应该在 GPU 上工作,但是像 Bessel 函数这样的简单函数呢?这可以在 GPU 上工作吗? 如果它引用了在 x86 库中编译的代码,则不会。 GPU 不直接执行 x86 代码,甚至不执行简单的函数。 请注意,CUDA 提供了由 Posix 指定的第一类和第二类 Bessel 函数:j0()、j1()、jn()、y0()、y1()、yn() . CUDA 6.0增加了第一类0和1阶的修正贝塞尔函数:cyl_bessel_i0()、cyl_bessel_i1()。如果您需要额外的 Bessel 功能,我建议您通过注册开发者网站链接的错误报告表提交增强请求。

以上是关于如何在 nvidia Nsight eclipse 中使用 GNU 科学库 (gsl)的主要内容,如果未能解决你的问题,请参考以下文章

Nsight Eclipse not found/CUDA11.1安装问题

如何在 VS 2010 中使用 Nvidia NSight 查看 CUDA 线程值?

如何测量 NVIDIA nsight 系统中复制的数据量?

NSight (NVIDIA) 无法在 Visual Studio 中使用“暂停和捕获帧”功能正常工作

Nvidia Nsight 与 localhost 的连接失败

在 nvidia nsight 中安装 CUB