怎么解绝 segment fault,我不知道是哪出现问题,编译没有问题,但是得不出结果
楼主您好!这样问太笼统,谁都无法知道答案。
如同您等价询问,在windows下,一程序出现访问异常,是哪里的问题?依然无人可以解答。
不过就题论题,我愿意为您猜测一些可能导致的segmentation的常见情况, 这些情况一般出现在您的host code中:
(1)host代码中,指针越界。
(2)栈溢出。例如分配了过大的局部数组。
请仔细检查代码吧,直接给出一个提示是无法知道您的代码是什么的。
我当然知道楼主是在Linux下,我只是说“如同等价询问,在windows下…"。
有事论坛直接说。
多谢~程序也什么都没有提示,运行一半,就出这么个错误,让人摸不着头脑
我还想请教一下,我现在手里有两块GPU,我想让他们协同工作,两快GPU可以直接访问对方内存吗?还是必须得通过CPU,非常感谢
楼主您好,“直接访问”有2种形式,他们都“可以”不经过host memory。
一种是卡A的kernel在运行中,直接读取卡B的global memory (以及反过来)。
另外一种是,卡A的global memory通过函数调用,复制到卡B (以及反过来)。
其中前者需要tesla品牌的,计算能力2.0及以上的显卡。
后者只需要计算能力2.0即可。
他们分别叫Peer to peer access 和 peer to peer copy, 请参考手册查看用法。
另外,请注意的是,本文不就是否这2种访问模型“一定”不通过host memory中转给予讨论,也不接受此方面问题的怀疑,批判,评测等要求. (手册也没有对此进行讨论)。
但如果真的如果需要讨论,请咨询NVIDIA原厂支持。
段错误是最难找的了,楼主必须仔细检查内存操作的地方是否不小心写错了什么!