编译cpp文件时,代码不是并行的,但c是并行的
Code is not paralleled when compiling cpp file, but c is paralleled
我正在运行这里的示例,它允许Matlab运行C函数,其中一些并行处理发生(在OpenMP的支持下)。
编译:mex mex_sum_openmp.c CFLAGS="$CFLAGS -fopenmp" LDFLAGS="$LDFLAGS -fopenmp"
在Matlab: >> tic;mex_sum_openmp(x);toc
Elapsed time is 0.186795 seconds.
示例运行正确,但如果我将文件扩展名重命名为cpp,则突然代码不平行。
编译:mex mex_sum_openmp.cpp CFLAGS="$CFLAGS -fopenmp" LDFLAGS="$LDFLAGS -fopenmp"
在Matlab: >> tic;mex_sum_openmp(x);toc
Elapsed time is 0.466988 seconds.
CPP+OpenMP+MEX的组合根本不起作用,还是我错过了什么?
我运行Ubuntu 14.04与Matlab 2014a和GCC 4.8.4。Mex编译器抱怨不支持的GCC版本(它支持GCC 4.7.x),但似乎无论如何都可以编译。这会是个问题吗?
指出,为了编译一个c++文件,我必须使用CXXFLAGS而不是CFLAGS。
运行mex mex_sum_openmp.cpp CXXFLAGS="$CXXFLAGS -fopenmp" LDFLAGS="$LDFLAGS -fopenmp"
解决了问题
相关文章:
- 对于openMP来说,有什么建议可以将以下代码与openMP并行
- 并行和顺序运行代码时会产生不同的结果
- R-使用RCPP时如何并行C 代码
- 使用 OPENMP 并行化 C++ 代码
- 有人能帮我把这个C++代码并行化吗
- 在C 程序中并行化C代码模块
- 从并行线程在主 Maya 线程上执行代码
- 用于并行化代码的 TBB 教程/文档
- 令人尴尬的并行代码的性能较低
- 如何制作更高级别的并行代码/脚本
- 使用 Boost::测试并行代码
- OpenMP并行代码运行速度较慢
- Visual Studio中的Cuda并行代码生成
- 如何使用MPI混合串行和并行代码
- 标量代码和并行代码的不同行为
- 没有多线程的c++套接字不同步/并行代码
- 为依赖于先前值的矩阵运行并行代码
- OpenMP -在并行代码中运行并行代码
- 并行代码故障排除
- 使用 OpenMP 并行C++代码不会即兴发挥性能