【问题标题】:Can't Build a simple Cuda Program using Xcode !无法使用 Xcode 构建简单的 Cuda 程序!
【发布时间】:2011-04-17 11:23:50
【问题描述】:

我在 Mac OS 10.6 上使用 Xcode 3.2 为 CUDA 构建一个非常简单的 HelloWorld 程序 但它无法建立..任何想法!!!

这是代码:

    #include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <CUDA/CUDA.h>

__device__ char napis_device[14];

__global__ void helloWorldOnDevice(void){
 napis_device[0]='H';
 napis_device[1]='e';
 napis_device[2]='l';
 napis_device[3]='l';
 napis_device[4]='o';
 napis_device[5]=' ';
 napis_device[6]='W';
 napis_device[7]='o';
 napis_device[8]='r';
 napis_device[9]='l';
 napis_device[10]='d';
 napis_device[11]='\n';

}



int main (int argc, char * const argv[]) {
    helloWorldOnDevice<<<1,1>>> ();
 cudaThreadSynchronize();
 char napis_host[14];
 const char *symbol="napis device";
 cudaMemcpyFromSymbol (napis_host, symbol, sizeof(char)*13, 0, cudaMemcpyDeviceToHost);

     return 0;
}

错误出现在这一行 helloWorldOnDevice>> ();

【问题讨论】:

  • 嗨,Lamiaa,我们不是读心术。请发布错误消息。这些信息可以帮助人们理解问题!

标签: xcode macos operating-system cuda


【解决方案1】:

您正在使用 Xcode 附带的 gcc 编译程序。应该使用 nvcc 编译器来编译 CUDA 代码。通常我会使用 Makefile 来告诉 *.cu 由 nvcc 编译,*.cpp 由 gcc 编译,然后将生成的对象链接到可执行文件。

【讨论】:

  • 我尝试在终端中运行命令 ./nvcc 编译 .cu 文件,但我得到以下信息:cc1plus:致命错误:打开输出文件 helloWorld.cu.cpp:权限被拒绝编译终止! !!!!
  • 您不应该在安装 nvcc 的目录中执行此操作(/usr/local/cuda/bin 对于非 root 用户是只读的)。将你的 $PATH 改为指向 /usr/local/cuda/bin 并从你的私有目录编译。
猜你喜欢
  • 2015-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-15
  • 2015-09-03
  • 2015-04-06
  • 1970-01-01
  • 2020-11-13
相关资源
最近更新 更多