在Netbeans中编译简单的新CUDA项目
我已在Netbeans中创建了新的C++应用程序,并希望编译简单的CUDA,如:在Netbeans中编译简单的新CUDA项目,netbeans,cuda,Netbeans,Cuda,我已在Netbeans中创建了新的C++应用程序,并希望编译简单的CUDA,如: #include <cstdlib> // includes, system #include <stdio.h> // includes CUDA Runtime #include <cuda_runtime.h> // includes help #include <helper_cuda.h> #include <helper_functions.h&
#include <cstdlib>
// includes, system
#include <stdio.h>
// includes CUDA Runtime
#include <cuda_runtime.h>
// includes help
#include <helper_cuda.h>
#include <helper_functions.h> // helper utility functions
/*
*
*/
__global__ void add(int* a , int* b, int* c){
*c=*a+*b;
}
int main(int argc, char** argv) {
int a,b,c; //host copies of a,b,c
int* d_a,*d_b,*d_c; //device copies of a,b,c
int size=sizeof(int);
//allocate space for device copies of a,b,c
cudaMalloc((void**)&d_a,size);
cudaMalloc((void**)&d_b,size);
cudaMalloc((void**)&d_c,size);
//setup input
a=2;
b=7;
//copy inputs to device
cudaMemcpy(d_a,&a,size,cudaMemcpyHostToDevice);
cudaMemcpy(d_b,&b,size,cudaMemcpyHostToDevice);
//launch add() kernel on GPU device
add<<<1,1>>>(d_a,d_b,d_c);
return 0;
}
#包括
//包括,系统
#包括
//包括CUDA运行时
#包括
//包括帮助
#包括
#include//helper实用程序函数
/*
*
*/
__全局无效添加(int*a、int*b、int*c){
*c=*a+*b;
}
int main(int argc,字符**argv){
int a,b,c;//托管a,b,c的副本
int*d_a,*d_b,*d_c;//a,b,c的设备副本
int size=sizeof(int);
//为a、b、c的设备副本分配空间
Cudamaloc((空隙**)和d_a,尺寸);
Cudamaloc((空隙**)和d_b,尺寸);
Cudamaloc((空隙**)和d_c,尺寸);
//设置输入
a=2;
b=7;
//将输入复制到设备
cudaMemcpy(d_a和a、尺寸、cudaMemcpy HOSTTODEVICE);
cudaMemcpy(d_b和b,尺寸,cudaMemcpyHostToDevice);
//在GPU设备上启动add()内核
加上(d_a、d_b、d_c);
返回0;
}
当我使用IDE构建时,它就是这样做的:
“/usr/bin/make”-f nbproject/Makefile-Debug.mk QMAKE=子项目=
.build conf make[1]:输入目录
/root/NetBeansProjects/my_CUDA_1'/usr/bin/make“-f
nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/libmy_cuda_1.a
make[2]:输入目录
/root/NetBeansProjects/my_CUDA_1'mkdir
-p build/Debug/GNU-Linux-x86 rm-f build/Debug/GNU-Linux-x86/cudaMain.o.d/usr/local/cuda-5.0/bin/nvcc-c-g-I/usr/local/cuda-5.0/include-I/usr/local/cuda-5.0/samples/common/inc-MMD-MP-MF build/Debug/GNU-Linux-x86/cudaMain.o.d-o build/Debug/GNU-Linux-x86/cudaMain.o cudaMain.cu nvcc致命: 未知选项“MMD” 因此,我可以通过不使用以下选项从命令行手动编译来避免此错误: me@comp:/root/NetBeansProjects/my_CUDA_1# /usr/local/cuda-5.0/bin/nvcc-m64-c-g-I/usr/local/cuda-5.0/include -I/us r/local/cuda-5.0/samples/common/inc-o build/Debug/GNU-Linux-x86/cudaMain.o cudaMain.cu cudaMain.cu(28): 警告:变量“c”已声明,但从未被引用 cudaMain.cu(28):警告:变量“c”已声明,但从未声明 参考 me@comp:/root/NetBeansProjects/my_CUDA_1#ls
如何,在Netbeans中配置什么以在IDE中获得这些设置?Project->Properties->Build 在“专家”选项卡上:启用进行依赖项检查->取消选中此项