Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CUDA动态并行错误:LNK2001 OK,我已经在Python中切换到了VS2012的C++中,以使这个项目再次滚动。我在了解这件事的来龙去脉时遇到了很多障碍和麻烦。下面是我最新的、最令人沮丧的一个,以及随之而来的编译错误 1> C:\Users\Karsten Chu\New Google Drive\Research\Visual Studio 2012\Projects\Dynamic Parallelism Test\Dynamic Parallelism Test>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\bin\nvcc.exe" -dlink -o "x64\Debug\Dynamic Parallelism Test.device-link.obj" -Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MDd " -L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\lib\x64" cuda.lib cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib -lcudadevrt -gencode=arch=compute_35,code=sm_35 -G --machine 64 "x64\Debug\CUDA Test 2.cu.obj" "x64\Debug\CUDA Test.cu.obj" 1>Dynamic Parallelism Test.device-link.obj : error LNK2001: unresolved external symbol __fatbinwrap_54_tmpxft_00000634_00000000_8_cuda_device_runtime_cpp1_ii_5f6993ef 1>C:\Users\Karsten Chu\New Google Drive\Research\Visual Studio 2012\Projects\Dynamic Parallelism Test\x64\Debug\Dynamic Parallelism Test.exe : fatal error LNK1120: 1 unresolved externals ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========_C++_Visual Studio 2012_Cuda_Nvcc - Fatal编程技术网

CUDA动态并行错误:LNK2001 OK,我已经在Python中切换到了VS2012的C++中,以使这个项目再次滚动。我在了解这件事的来龙去脉时遇到了很多障碍和麻烦。下面是我最新的、最令人沮丧的一个,以及随之而来的编译错误 1> C:\Users\Karsten Chu\New Google Drive\Research\Visual Studio 2012\Projects\Dynamic Parallelism Test\Dynamic Parallelism Test>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\bin\nvcc.exe" -dlink -o "x64\Debug\Dynamic Parallelism Test.device-link.obj" -Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MDd " -L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\lib\x64" cuda.lib cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib -lcudadevrt -gencode=arch=compute_35,code=sm_35 -G --machine 64 "x64\Debug\CUDA Test 2.cu.obj" "x64\Debug\CUDA Test.cu.obj" 1>Dynamic Parallelism Test.device-link.obj : error LNK2001: unresolved external symbol __fatbinwrap_54_tmpxft_00000634_00000000_8_cuda_device_runtime_cpp1_ii_5f6993ef 1>C:\Users\Karsten Chu\New Google Drive\Research\Visual Studio 2012\Projects\Dynamic Parallelism Test\x64\Debug\Dynamic Parallelism Test.exe : fatal error LNK1120: 1 unresolved externals ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

CUDA动态并行错误:LNK2001 OK,我已经在Python中切换到了VS2012的C++中,以使这个项目再次滚动。我在了解这件事的来龙去脉时遇到了很多障碍和麻烦。下面是我最新的、最令人沮丧的一个,以及随之而来的编译错误 1> C:\Users\Karsten Chu\New Google Drive\Research\Visual Studio 2012\Projects\Dynamic Parallelism Test\Dynamic Parallelism Test>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\bin\nvcc.exe" -dlink -o "x64\Debug\Dynamic Parallelism Test.device-link.obj" -Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MDd " -L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\lib\x64" cuda.lib cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib -lcudadevrt -gencode=arch=compute_35,code=sm_35 -G --machine 64 "x64\Debug\CUDA Test 2.cu.obj" "x64\Debug\CUDA Test.cu.obj" 1>Dynamic Parallelism Test.device-link.obj : error LNK2001: unresolved external symbol __fatbinwrap_54_tmpxft_00000634_00000000_8_cuda_device_runtime_cpp1_ii_5f6993ef 1>C:\Users\Karsten Chu\New Google Drive\Research\Visual Studio 2012\Projects\Dynamic Parallelism Test\x64\Debug\Dynamic Parallelism Test.exe : fatal error LNK1120: 1 unresolved externals ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========,c++,visual-studio-2012,cuda,nvcc,C++,Visual Studio 2012,Cuda,Nvcc,还有我的密码 #include <cuda.h> #include <cuda_runtime.h> #include <device_launch_parameters.h> #include <stdio.h> #include <iostream> using namespace std; __global__ void rkf5(double*, int*); __global__ void k1(double*); int

还有我的密码

#include <cuda.h>
#include <cuda_runtime.h>
#include <device_launch_parameters.h>
#include <stdio.h>
#include <iostream>
using namespace std;

__global__ void rkf5(double*, int*);
__global__ void k1(double*);

int main2(int argc, char** argv)
{
    const int max_length = 5;
    double concs[max_length];
    for (int i=0; i<max_length; i++)
    {
        concs[i]=0;
        //std::cout<<concs[i];
    }

    double *d_concs;
    int *d_max_length;
    size_t size_concs = sizeof(concs);
    size_t size_max_length = sizeof(max_length);
    cudaMalloc((void**)&d_concs, size_concs);
    cudaMemcpy(d_concs, concs, size_concs, cudaMemcpyHostToDevice);
    cudaMalloc((void**)&d_max_length, size_max_length);
    cudaMemcpy(d_concs, concs, size_concs, cudaMemcpyHostToDevice);
    rkf5<<<1,max_length>>>(d_concs, d_max_length);
    cudaMemcpy(concs, d_concs, size_concs, cudaMemcpyDeviceToHost);

    for (int i=0; i<max_length; i++)
    {
        std::cout<<concs[i];
    }
    return 0;
}

__global__ void rkf5(double* concs, int* max_length)
{
    int idx = blockIdx.x * blockDim.x + threadIdx.x;
    concs[idx]=idx;
    //dim3 threads = dim3(max_length);
    k1<<< 1, *max_length >>>(concs);
}
__global__ void k1(double* concs)
{
    int idx = blockIdx.x * blockDim.x + threadIdx.x;
    concs[idx]=0;
}
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
__全局无效rkf5(双精度*,整数*);
__全局无效k1(双*);
int main2(int argc,字符**argv)
{
const int max_length=5;
双浓度[最大长度];

对于(int i=0;i用于编译和链接的命令行:

nvcc.exe -dlink -o "x64\Debug\Dynamic Parallelism Test.device-link.obj" 
-Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MDd  " 
-L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\lib\x64" 
cuda.lib cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib  
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib 
odbc32.lib odbccp32.lib -lcudadevrt -gencode=arch=compute_35,code=sm_35 -G 
--machine 64 "x64\Debug\CUDA Test 2.cu.obj" "x64\Debug\CUDA Test.cu.obj"

您正在尝试针对cudadevrt linux样式(
-lcudadevrt
)进行链接。这在windows上不起作用,调用的链接器是form VS.Add
cudadevrt.lib
到您的链接器输入,如
cudart.lib

用于编译和链接的命令行:

nvcc.exe -dlink -o "x64\Debug\Dynamic Parallelism Test.device-link.obj" 
-Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MDd  " 
-L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\lib\x64" 
cuda.lib cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib  
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib 
odbc32.lib odbccp32.lib -lcudadevrt -gencode=arch=compute_35,code=sm_35 -G 
--machine 64 "x64\Debug\CUDA Test 2.cu.obj" "x64\Debug\CUDA Test.cu.obj"

您正在尝试针对cudadevrt linux样式(
-lcudadevrt
)进行链接。这在windows上不起作用,调用的链接器是form VS.Add
cudadevrt.lib
到链接器输入,如
cudart.lib

我已通过以下方式成功编译并运行您的代码:

  • 使用中的程序
  • main2
    更改为
    main

  • 程序输出
    0123
    :-)

    我已通过以下方式成功编译并运行您的代码:

  • 使用中的程序
  • main2
    更改为
    main

  • <>程序输出“代码> 0123”/“代码>:”/P>“哈哈”,原谅主和MIN的愚蠢,我对C++和VS2012很陌生,所以我很少做一些外行修正来让错误信息消失。奇怪的是,我的代码没有达到子内核,否则它应该输出0。谢谢你花时间!哈哈!不要使用MauleNo.MeN2和MIN 2,我对C++和vs2012非常陌生,所以我很少做这样的外行修正来让错误信息消失。奇怪的是,这意味着我的代码没有到达子内核,否则它应该输出0。谢谢你花时间。非常好,谢谢你的捕获。我要尝试编译(HuUK)。所有这些尝试/错误的经验都写进了一篇帖子,这样跟随我的人就不会像我一样在陷阱中摔断腿。太好了,谢谢你这么做。我将尝试将所有这些尝试/错误的经验编成一篇帖子,这样跟随我的人就不会像我一样在陷阱中摔断腿。