社区
CUDA
帖子详情
Microsoft C++ 异常: 内存位置 0x0012f278 处的 cudaError
wts_net
2009-06-16 10:23:41
如题,我的程序出现了如上的问题,这是那里出错了呢?有知道的大虾请不吝赐教!
...全文
537
8
打赏
收藏
Microsoft C++ 异常: 内存位置 0x0012f278 处的 cudaError
如题,我的程序出现了如上的问题,这是那里出错了呢?有知道的大虾请不吝赐教!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhangwenjianqin
2010-04-20
打赏
举报
回复
我也出现了这个问题,你解决没?
zhao_wei2003zj
2010-01-06
打赏
举报
回复
是的防守对方
wts_net
2009-07-10
打赏
举报
回复
[Quote=引用 5 楼 l7331014 的回复:]
程序已经有错误了.无所谓结果不结果.
[/Quote]
请问能帮我看一下这个代码有什么错误吗?怎么每次输出newpop中的路径,总是只有前两条路径为非0,后面的为0.
struct Gene
{
int num;
float x;
float y;
};
struct Chrom
{
Gene chrom_gene[CityNumber]; //染色体(到各城市去的顺序)
float varible; //路程总开销
};
__global__ void immnueoperate(Chrom *mutationnewpop,
Chrom *newpop,
Chrom *stVac,
float *g_imp,
int *g_vacpos
)
{
unsigned int tid = threadIdx.x;
unsigned int index = blockIdx.x * blockDim.x + threadIdx.x;
__shared__ float s_imp[256];
__shared__ int s_vacpos[256];
__shared__ float s_accp[256];
CUT_BANK_CHECKER(s_imp , threadIdx.x) = g_imp[blockIdx.x * blockDim.x + threadIdx.x];
CUT_BANK_CHECKER(s_vacpos , threadIdx.x) = g_vacpos[blockIdx.x * blockDim.x + threadIdx.x];
float k = s_imp[threadIdx.x];
Chrom chr ;
Chrom chrtemp;
for(int i = 0; i < CityNumber ;i++)
{
chr.chrom_gene[i] = mutationnewpop[blockIdx.x * blockDim.x + threadIdx.x].chrom_gene[i];
chrtemp.chrom_gene[i] = mutationnewpop[blockIdx.x * blockDim.x + threadIdx.x].chrom_gene[i];
}
chr.varible = mutationnewpop[blockIdx.x * blockDim.x + threadIdx.x].varible;
chrtemp.varible = mutationnewpop[blockIdx.x * blockDim.x + threadIdx.x].varible;
if(k < pim)
{
Gene temp1[CityNumber];
int vacpos = s_vacpos[tid];
int gene1 = stVac[vacpos].chrom_gene[0].num;
int gene2 = stVac[vacpos].chrom_gene[1].num;
Gene gen = stVac[vacpos].chrom_gene[1];
int pick1 = 0,pick2 = 0;
int u = 0;//v,m,n,t,q,r,s,y,w;
float temp = chr.varible;
for(int j = 0 ;j < CityNumber ; j++)
{
if(gene1 == chr.chrom_gene[j].num )
{
pick1 = j;
}
if(gene2 == chr.chrom_gene[j].num )
{
pick2 = j;
}
}
__syncthreads();
if(pick1<pick2)
{
//after move elements
for(int i = pick2-1 ;i > pick1;i--)
{
chr.chrom_gene[i+1] = chr.chrom_gene[i];
}
chr.chrom_gene[pick1+1] = stVac[vacpos].chrom_gene[1];
}
else
{
//before move
for(int i = pick2 ; i < pick1 ; i++)
{
chr.chrom_gene[i] = chr.chrom_gene[i+1];
}
chr.chrom_gene[pick1] = stVac[vacpos].chrom_gene[1];
}
float sum =0;
for(int i =0;i< CityNumber-1;i++)
{
Gene cid = chr.chrom_gene[i];
Gene cnextid = chr.chrom_gene[i+1];
sum +=sqrt(pow((cid.x-cnextid.x),2)+pow((cid.y-cnextid.y),2));
}
Gene q,s;
q =chr.chrom_gene[0];
s =chr.chrom_gene[CityNumber-1];
sum += sqrt(pow((q.x-s.x),2)+pow((q.y-s.y),2));
chr.varible = sum;
if(chr.varible < chrtemp.varible)
{
for(int i = 0;i < CityNumber;i++)
{
newpop[index].chrom_gene[i] = chr.chrom_gene[i];
}
newpop[index].varible = chr.varible;
}
else
{
for(int i = 0;i < CityNumber;i++)
{
newpop[index].chrom_gene[i] = chrtemp.chrom_gene[i];
}
newpop[index].varible = chrtemp.varible;
//newpop[index].fitness = chrtemp.fitness;
}
}
else
{
for(int i = 0;i < CityNumber;i++)
{
newpop[index].chrom_gene[i] = chr.chrom_gene[i];
}
newpop[index].varible = chr.varible;
//newpop[index].fitness = chr.fitness;
}
__syncthreads();
}
无心人_过过小日子
2009-06-17
打赏
举报
回复
程序已经有错误了.无所谓结果不结果.
wts_net
2009-06-17
打赏
举报
回复
[Quote=引用 3 楼 l7331014 的回复:]
引用 1 楼 wts_net 的回复:
引用楼主 wts_net 的帖子:
如题,我的程序出现了如上的问题,这是那里出错了呢?有知道的大虾请不吝赐教!
补充一下问题:一开始把数据拷贝到device中然后进行运算,运算过程中没有报错,但是输出结果都为0,在下面的调试栏中出现了Microsoft C++ 异常: 内存位置 0x0012f278 处的 cudaError 这样的提示,有知道问题所在地的请指导一下!
HOST程序越界.单步跟踪吧.
[/Quote]
在host端输出结果中有几个结果不为0,但是大部分为0。
wts_net
2009-06-16
打赏
举报
回复
[Quote=引用楼主 wts_net 的帖子:]
如题,我的程序出现了如上的问题,这是那里出错了呢?有知道的大虾请不吝赐教!
[/Quote]
补充一下问题:一开始把数据拷贝到device中然后进行运算,运算过程中没有报错,但是输出结果都为0,在下面的调试栏中出现了Microsoft C++ 异常: 内存位置 0x0012f278 处的 cudaError 这样的提示,有知道问题所在地的请指导一下!
无心人_过过小日子
2009-06-16
打赏
举报
回复
[Quote=引用 1 楼 wts_net 的回复:]
引用楼主 wts_net 的帖子:
如题,我的程序出现了如上的问题,这是那里出错了呢?有知道的大虾请不吝赐教!
补充一下问题:一开始把数据拷贝到device中然后进行运算,运算过程中没有报错,但是输出结果都为0,在下面的调试栏中出现了Microsoft C++ 异常: 内存位置 0x0012f278 处的 cudaError 这样的提示,有知道问题所在地的请指导一下!
[/Quote]
HOST程序越界.单步跟踪吧.
darkstorm2111203
2009-06-16
打赏
举报
回复
一般是访问了不该访问的地方
工业相机图像二值
处
理
程序主要做了三点工作: 1. 遍历文件夹中的图片,依次载入相应的
处
理对象; 2. findContours检测二值化之后的图片,得到亮白色轮廓信息; 3. fitEllipse对轮廓包络,求解中心坐标,并把中心坐标、面积等信息写入xml文件。 程序运行过程中,出现两次
内存
异常
。 1.DefetionFlaw.exe 中的 0x759f812f
处
最可能的
异常
: 0x000006BA: RPC 服务器不可用。 2.DefetionFlaw.exe 中的 0x759f812f
处
有未经
处
理的
异常
:
Microsoft
C++
异常
:
内存
位置
0x079be540
处
的 cv::Exception。
VS2017 配置opencv4.0安装问题
今天配置VS2017 配置opencv4.0安装,配置还是挺顺利的,但是成功后,运行测试程序,生成没有问题,但是就是包
内存
错误,如下: 0x00007FFCB6E39159
处
(位于 Project1.exe 中)有未经
处
理的
异常
:
Microsoft
C++
异常
: cv::Exception,位于
内存
位置
0x00000041737AF370
处
。 出现了
简单了解
C++
常见编程问题解决方案
电脑配置:window10, 64位操作系统,基于x64的
处
理器,
Microsoft
Visual Studio Community 2019Version 16.4.5 问题1:Unhandled exception at 0x00007FFDB39AA839 in TesseractLACadd1.exe:
Microsoft
C++
exception: boost::filesystem::filesystem_
error
at memory location 0x000000EAFABFEED0. 解决方案:我只能说,这个的错误原因千姿百态。因为至今为止我遇到了两次类似的提示错误,每
C++
性能优化技术
C++
性能优化技术,详细介绍了可以普遍提升的一些
C++
变成技巧,是您精通优化技术的良师益友。
C_
C++
资料文档解析大集合
C_
C++
资料文档解析大集合 百个文档集合,免费下载
CUDA
589
社区成员
2,924
社区内容
发帖
与我相关
我的任务
CUDA
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
复制链接
扫一扫
分享
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章