Linux下常见问题记录

1.  程序编译成功后,运行时错误:

  error while loading shared libraries: libmpi.so.20: cannot open shared object file: No such file or directory

  解决方法:

  cp /usr/local/openmpi/lib/libmpi.so.20 /usr/lib

2.在使用fftw库时,添加cuda程序时会出现如下错误

  /usr/include/fftw3.h(371): error: identifier "__float128" is undefined

  解决办法:

  vi /usr/include/fftw3.h   在判断环境时后面添加 && !defined(__CUDACC__)

 #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) \

 && !(defined(__ICC) || defined(__INTEL_COMPILER)) \

 && (defined(__i386__) || defined(__x86_64__) || defined(__ia64__)) && !defined(__CUDACC__)

3.Linux下调试内存问题程序工具Valgrind

Valgrind时建立动态分析工具的框架。它有一系列用于调试分析的工具。Valgrind的架构是组件化的,所以可以方便的添加新的工具而不影响当前的结构。

下面的工具是安装时的标准配置:

Memcheck:用于检测内存错误。它帮助c和c++的程序更正确。

Cachegrind:用于分析cache和分支预测。它帮助程序执行得更快。

Callgrind:用于函数调用的分析。

Helgrind:用于分析多线程。

DRD:也用于分析多线程。与Helgrind类似,但是用不同的分析技术,所以可以检测不同的问题。

Massif:用于分析堆。它帮助程序精简内存的使用。

SGcheck:检测栈和全局数组溢出的实验性工具,它和Memcheck互补使用。

参考:http://www.linuxidc.com/Linux/2012-08/67990.htm

4./usr/bin/ld: cannot find -lcublas

/usr/lib# ln -s /usr/local/cuda-7.5/lib64/libcublas.so /usr/lib/libcublas.so

 

/usr/lib# ldconfig

 

猜你喜欢

转载自985359995.iteye.com/blog/2308014