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> // 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;
}
私がIDEでビルドするとき、それはそれがしていることです:
"/ usr / bin / make" -f nbproject / Makefile-Debug.mk QMAKE = SUBPROJECTS = .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]: Entering directory
/ root / NetBeansProjects / my_CUDA_1'mkdir -p build / Debug/GNU-Linux-に入るx86 rm -f build / Debug / GNU-Linux-x86 / cudaMain.od /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.od -o build / Debug / GNU-Linux-x86 / cudaMain.o cudaMain.cu nvcc fatal :不明なオプション'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
どのように、IDEでそのような設定を取得するためにNetbeansで何を構成するのですか?