matlab mex

linux matlab版本中OpenMP的使用
需要重点注意linux和window mex编译的参数不一样!
这里参考edgeBOX论文提供代码的参数选择
Next, please compile mex code from within Matlab (note: win64/linux64 binaries included):
mex private/edgesDetectMex.cpp -outdir private [OMPPARAMS]
mex private/edgesNmsMex.cpp -outdir private [OMPPARAMS]
mex private/spDetectMex.cpp -outdir private [OMPPARAMS]
mex private/edgeBoxesMex.cpp -outdir private
Here [OMPPARAMS] are parameters for OpenMP and are OS and compiler dependent.
Windows: [OMPPARAMS] = ‘-DUSEOMP’ ‘OPTIMFLAGS="$OPTIMFLAGS’ ‘/openmp"’
Linux V1: [OMPPARAMS] = ‘-DUSEOMP’ CFLAGS="$CFLAGS -fopenmp" LDFLAGS="$LDFLAGS -fopenmp"
Linux V2:[OMPPARAMS] = ‘-DUSEOMP’ CXXFLAGS="$CXXFLAGS -fopenmp" LDFLAGS="$LDFLAGS -fopenmp"
To compile without OpenMP simply omit [OMPPARAMS]; note that code will be single threaded in this case.

对于windows matlab2014b版本,同样可以使用一下参数进行编译
mex euc_nn_mex_K.cpp COMPFLAGS="/openmp $COMPFLAGS"
但是,在linux上不能使用该参数,否则即使编译通过,线程数也只为1。
在不明确定义线程数的情况下,系统运行可以达到最大线程数,即系统核心数 CPU数目单个CPU核心数*。

另外还可以参考

mex euc_nn_mex.cc CXXFLAGS="$CXXFLAGS -fopenmp -Wall"
LDFLAGS="$LDFLAGS -fopenmp";
mex kmeans_iter_mex.cc CXXFLAGS="$CXXFLAGS -Wall"

原文:https://blog.csdn.net/zzchust/article/details/47175443
linux 系统下mex,gcc版本问题:
可以让系统存在两个gcc版本,4.8和6.2,但是默认的gcc版本为4.8(编译老的项目,直接make).而更高的版本6.2则可以留着供自己平时指定使用.

按照如下步骤即可:

(1)在Ubuntu 16.04上安装老版gcc十分简单,直接用apt-get命令下载即可.

sudo apt-get install gcc-4.8

安装完成后输入命令gcc --verison查看gcc的版本,此时还是6.2

(2)设置gcc的默认版本

设置之前可以先输入命令ls /usr/bin/gcc* 查看gcc 4.8版本是否安装成功

然后输入下面的命令设置默认版本:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100

最后的数字为优先级(越大越高),因为只有一个4.8版本作为alternatives,可以不要纠结数字,这样设就行了

(3)然后可以输入以下命令查看设置结果(非必须)

sudo update-alternatives --config gcc

因为只设置了一个,所以显示结果为:"链接组 gcc (提供 /usr/bin/gcc)中只有一个候选项:/usr/bin/gcc-4.8
无需配置.",如果有多个则会显示一个按优先级的列表.

(4)最后再次输入命令gcc -version查看gcc的版本已经变成4.8啦...就成功啦.

现在默认版本已经是4.8版本,如果想用6.2版本,则gcc-6.2 这样指定就好啦

g++ 等其他软件也是这样设置进行版本升级/降级.

ps:

(1)当以上设置不需要的时候输入以下命令删除:

sudo update-alternatives --remove gcc /usr/bin/gcc-4.8

原文:https://blog.csdn.net/qq_31175231/article/details/77774971
参考:https://blog.csdn.net/foolsnowman/article/details/53012345

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值