当前位置: 首页 > 面试题库 >

Cuda编译器无法与GCC 4.5 +配合使用

祝嘉懿
2023-03-14
问题内容

我是Cuda的新手,我正在尝试编译以下简单test_1.cu文件:

#include <stdio.h>

__global__ void kernel(void)
{
}

int main (void)
{
    kernel<<<1,1>>>();
    printf( "Hello, World!\n");
    return 0;

}

使用这个: nvcc test_1.cu

我得到的输出是:

In file included from /usr/local/cuda/bin/../include/cuda_runtime.h:59:0,
                 from <command-line>:0:
/usr/local/cuda/bin/../include/host_config.h:82:2: error: #error -- unsupported GNU version! gcc 4.5 and up are not supported!

我的gcc –version:

gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

如何在不弄乱所有内容的情况下安装4.6和gcc的第二个版本?

答案是:

CUDA不支持gcc 4.5和4.6-无法编译代码,并且其他工具链(包括cuda-gdb)将无法正常工作。您不能使用它们,并且该限制是不可协商的。

您唯一的解决方案是安装gcc 4.4版本作为第二个编译器(大多数发行版都允许这样做)。nvcc –compiler-
bindir有一个选项,可用于指向备用编译器。创建一个本地目录,并建立指向支持的gcc版本可执行文件的符号链接。通过–compiler-
bindir选项将该本地目录传递给nvcc,您应该能够编译CUDA代码而不会影响系统的其余部分。

但是我不知道该怎么做


问题答案:

在线进行一些研究显示了完成此任务的几种方法。我只是测试了这里找到的方法:http
:
//www.vectorfabrics.com/blog/item/cuda_4.0_on_ubuntu_11.04,它对我来说就像一个魅力。它逐步指导您安装gcc
4.4和创建脚本以使用nvcc运行该版本。如果您喜欢尝试帖子中提到的方法,我建议您遵循该第一个链接来安装gcc4.4,然后按照您的帖子中所述创建符号链接。在Linux中创建符号链接是通过使用“
ln”命令完成的。

例如:

 ln -s [source file/folder path] [linkpath]

该链接提供了一些在Ubuntu和Windows上创建符号链接的示例:http :
//www.howtogeek.com/howto/16226/complete-guide-to-symbolic-links-symlinks-on-
windows-or-linux/。希望这能为您指明正确的方向。



 类似资料:
  • 问题内容: 如何在Ubuntu上编译/安装node.js?失败,并显示错误消息。 问题答案: 一线 安装所有必需的依赖项(curl和git并不是真正需要的,但是非常有用,如果通过nvm安装也需要)。 并非总是需要最后两个依赖项,但是无论如何安装它们确实很有用,而且以后可能也需要它。 仅安装 cxx编译器 如果 openssl 丢失

  • 问题内容: 我有一个使用Xcode 10.3构建的VoiceSampler.framework 我正在尝试在新项目的Xcode11中使用该框架。我已经成功添加了该框架,但是当我用AppDelegate 编写时,出现以下错误: 使用Swift 5.0.1编译的模块无法由Swift 5.1编译器导入:/Users/apple/Projects/CaptureAppSwift/VoiceSampler.

  • 问题内容: 我正在尝试按照指令https://github.com/Paytm- Payments/Paytm_iOS_App_Kit/tree/master/Swift/BitCodeDisabled/PaytmNativeSDK将 第三方应用程序集成到项目中 我在构建中看到以下错误 Swift 5.0编译器无法导入使用Swift 4.2.1编译的模块 我尝试了工具链https://medium

  • 问题内容: 我试图得到以下消息: 好吧,有一个开放的jdk,我也下载了另一个。我尝试将JAVA_HOME指向两者,现在已设置: 我还尝试选择其中一种打开方式,但是其中的不同jdk版本出现相同的错误。 我该如何解决?提前致谢。 问题答案: 似乎您的PATH未正确选择…“ echo $ PATH”的输出是否包含javac所在的目录?我建议如下: 打开终端并执行: 如果javac -version仍然不

  • 问题内容: 我能够将ActionBarSherlock和HoloEverywhere都导入Android Studio,但无法编译我的应用程序。 屏幕截图:https: //docs.google.com/file/d/0BwOn70drOiMfZHZVeXdEVzNXRXc/edit?usp = sharing 不管出于什么原因,我的意图似乎都吓到了,即使库导入工作正常,我也遇到以下错误,试图模

  • 编辑: 澄清我的期望结果,因为我没有很好地沟通它: 能够使用和