Compilation 无法编译简单的CUDA示例
test.cu:Compilation 无法编译简单的CUDA示例,compilation,cuda,nvidia,Compilation,Cuda,Nvidia,test.cu: #include <iostream> #include "book.h" __global__ void add( int a, int b, int *c ) { *c = a + b; } int main( void ) { int c; int *dev_c; HANDLE_ERROR( cudaMalloc( (void**)&dev_c, sizeof(int) ) ); add<<<
#include <iostream>
#include "book.h"
__global__ void add( int a, int b, int *c ) {
*c = a + b;
}
int main( void ) {
int c;
int *dev_c;
HANDLE_ERROR( cudaMalloc( (void**)&dev_c, sizeof(int) ) );
add<<<1,1>>>( 2, 7, dev_c );
HANDLE_ERROR( cudaMemcpy( &c,
dev_c,
sizeof(int),
cudaMemcpyDeviceToHost ) );
printf( "2 + 7 = %d\n", c );
cudaFree( dev_c );
return 0;
}
我怎样才能告诉编译器book.h在哪里?我已在/usr/local/CUDA中安装了CUDA。
我需要制作Makefile吗?
我不熟悉CUDA和Makefile,所以这个问题可能看起来很琐碎。我相信使用引号(“”)会告诉编译器查找与代码文件相同的目录,所以您可能希望尝试
而不是“book.h
假定book.h是CUDA附带的文件。我以前从未使用过它。book.h不是CUDA。它由“CUDA示例”用于一些简单的内容。
在本例中,需要提供错误句柄,您应该编写自己的代码来处理错误。
在这里你可以找到这本书。h代码:book。h不是CUDA的一部分。它提供了“CUDA by example”一书中的示例。谢谢@Talonmes,我对这本书的印象是。h包含在CUDA中。我将尝试使用不同的示例。谢谢回复Liam,但CUDA似乎不包含“book.h”。
4.cu:2:18: fatal error: book.h: No such file or directory
compilation terminated.