PDA

View Full Version : سوال: برنامه نویسی cuda در vc++ 2010



sibooy
سه شنبه 03 بهمن 1391, 19:48 عصر
من الان دارم از vC++‎ 2010 استفاده می کنم. اما از همون ابتدای کد نویسی ایراد می گیره مثلا کد زیر رو ببینید؟
#include <stdlib.h>

#include <stdio.h>

#include<cuda.h>

#include<cuda_runtime_api.h>

#include<curand_mtgp32_kernel.h>

#include<host_defines.h>

//#include <c:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.2\C\common\inc\cutil_inline.h>

// Kernel definition

#define N 10

__global__ void MatAdd(float A[N][N], float B[N][N], float C[N][N])

{ int i = threadIdx.x; int j = threadIdx.y;



C[i][j] = A[i][j] + B[i][j];



}

int main()

{



float A[N][N]={0.0}, C[N][N]={0.0}, B[N][N]={0.0};

// Kernel invocation with one block of N * N * 1 threads

int numBlocks = 1;

dim3 threadsPerBlock(N, N);

MatAdd<<<numBlocks, threadsPerBlock>>>(A, B, C);

return 0; }

اما روی <<< رو قرمز میکنه و خطا می گیره. وقتی هم اجراش می کنم همچین پیغامایی می ده
1>AddCudaCompilePropsDeps:
1>Skipping target "AddCudaCompilePropsDeps" because all output files are up-to-date with respect to the input files.
1>CudaBuild:
1> Compiling CUDA source file cu3.cu...
1>
1> E:\saba\coda code\cu3\cu3>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" --use-local-env --cl-version 2010 -ccbin "D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\include" --keep-dir "Release" -maxrregcount=0 --machine 32 --compile -Xcompiler "/EHsc /nologo /Od /Zi /MD " -o "Release\cu3.cu.obj" "E:\saba\coda code\cu3\cu3\cu3.cu"
1> cu3.cu
1> tmpxft_00000f04_00000000-0_cu3.cudafe1.gpu
1> tmpxft_00000f04_00000000-5_cu3.cudafe2.gpu
1> cu3.cu
1> tmpxft_00000f04_00000000-0_cu3.cudafe1.cpp
1> tmpxft_00000f04_00000000-11_cu3.ii
1>cu3.cu.obj : error LNK2001: unresolved external symbol _cudaConfigureCall@32
1>cu3.cu.obj : error LNK2001: unresolved external symbol _cudaSetupArgument@12
1>cu3.cu.obj : error LNK2001: unresolved external symbol ___cudaRegisterFunction@40
1>cu3.cu.obj : error LNK2001: unresolved external symbol ___cudaRegisterFatBinary@4
1>cu3.cu.obj : error LNK2001: unresolved external symbol ___cudaUnregisterFatBinary@4
1>cu3.cu.obj : error LNK2001: unresolved external symbol _cudaLaunch@4
1>E:\saba\coda code\cu3\Release\cu3.exe : fatal error LNK1120: 6 unresolved externals
1>
1>Build FAILED.
من تمام تنظیمات کودا رو هم اجرا کردم
باید بگم که کدهای مثال خود اس دی کا رو درست اجرا می کنه ولی اینکد ها رو نمی تونه اجرا کنه.
نم دونم چیکارش کنم.
می تونید منو راهنمایی کنید؟:عصبانی++::عصبانی++::عصب نی++::عصبانی++:

sibooy
دوشنبه 14 اسفند 1391, 15:28 عصر
راهکارش رو خودم پیدا کردم و توی این لینک گذاشتم
برنامه هم درست اجرا شد و مشکلی هم نیست
http://barnamenevis.org/showthread.php?377875-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-cuda-%D8%AF%D8%B1-VC-(-%DA%A9%D9%88%D8%AF%D8%A7-%D8%AF%D8%B1-%D9%88%DB%8C%DA%98%D9%88%D8%A7%D9%84-%D8%B3%DB%8C-)&p=1670459#post1670459

atroscan
شنبه 25 بهمن 1393, 23:23 عصر
سلام من یه برنامه با کودا نوشتم اما کودام از بخش <<<>>> ایراد میگیره هرچیم میگردم در ++c همچین دستوری وجود ندارد
#define N 10

__global__ void add(int *a, int *b, int *c)
{
int tID = blockIdx.x;
if (tID < N)
{
c[tID] = a[tID] + b[tID];
}
}
int main()
{
int a[N], b[N], c[N];
int *dev_a, *dev_b, *dev_c;
cudaMalloc((void **) &dev_a, N*sizeof(int));
cudaMalloc((void **) &dev_b, N*sizeof(int));
cudaMalloc((void **) &dev_c, N*sizeof(int));
// Fill Arrays
for (int i = 0; i < N; i++)
{
a[i] = i,
b[i] = 1;
}
cudaMemcpy(dev_a, a, N*sizeof(int), cudaMemcpyHostToDevice);
cudaMemcpy(dev_b, b, N*sizeof(int), cudaMemcpyHostToDevice);
add <<<N,1>>>(dev_a, dev_b, dev_c);
cudaMemcpy(c, dev_c, N*sizeof(int), cudaMemcpyDeviceToHost);
for (int i = 0; i < N; i++)
{
printf("%d + %d = %d\n", a[i], b[i], c[i]);
}
return 0;
}
اون قسمتی رو که ایراد میگیره قرمز کرذم اگه راهنمایی کنید ممنون میشم
ایمیلمم :kooshesh.h@gmail.com
شماره تماس:09129494024

negarz
سه شنبه 17 مرداد 1396, 22:23 عصر
سلام به همگی. من در حال نوشتن برنامه ای به زبان CUDA در ویژوال C++ هستم البته تمام شده تقریبا اما باگ داره دوستان کسی هست که من برنامه رو بفرستم و شما نگاه کنید که مشکلش چیه که اجرا نمیشه؟ خطای کامپایل نداره اما اجرا هم نمیشه واقعا درگیری ایجاد کرده :ناراحت:
البته این تایپیک مدتهاست که مطلبی نداره به هرحال امیدوارم که دوستی که کودا کار میکنه ببینه سوالم رو و محبت کنه برای راهنمایی
با تشکر موفق باشید.