OpenMP的使用是需要7.4以上的编译器支持吗
因为在BIOS MCSDK 2.0 User Guide中看到“Combined with the TI compiler (version 7.4 or greater) a user can create OpenMP programs for TI's multicore DSPs.”,而且我的7.3.4总是编译报错
Kris Wang:
回复 Andy Yin1:
谢谢Andy的回答!刚刚更新到CCS 5.5。另外是否有一些专门与OpenMP相关的文档呢,主要是在6678上做一些开发,想从OpenMP入手又不知从何下手。
还有一个问题,OpenMP可以在6678 Functional Simulator上模拟运行吗?
Zhan Xiang:
回复 Kris Wang:
在OpenMP的安装目录下有相关的文档,包括TI的OpenMP调度机制等信息。你还可以参考这个的链接 http://processors.wiki.ti.com/index.php/OpenMP_on_C6000
Kris Wang:
回复 Zhan Xiang:
谢谢Zhan的回答!我已经在模拟器上成功运行了例程。
另外想问一下,如果想修改其他的程序做一些OpenMP的优化,那么cfg文件应该不用改动很多吧?
Zhan Xiang:
回复 Kris Wang:
OpenMP使用BIOS进行任务调度,你能把你具体的需求写详细点吗,我们可以一起讨论的。
Kris Wang:
回复 Zhan Xiang:
我现在希望将一个从FFmpeg移植过来的264解码程序做一些OpenMP的优化,原移植程序已经可以在6678上运行,因为在http://processors.wiki.ti.com/index.php/OpenMP_on_C6000中看到“Modifications to the omp_config.cfg file are not required for base functionality.”,所以想问一下是不是用例程的cfg文件就基本可以了呢?然后去针对代码中的主要的循环执行语句做优化……因为对于OpenMP刚刚起步,所以很多方面还不是很了解,还请多多见谅。
Zhan Xiang:
回复 Kris Wang:
例程中的omp_config.cfg文件做了基本的omp环境配置,该配置文件为了运行OpenMP需要对memory进行一些预留,这主要是由于OpenMP本身就是基于共享内存的一种编程模型,你在修改的时候只要不破坏那些用于运行OpenMP的memory section,那么就可以正常工作。
对于你的代码,修改点应该在将可以拆分的计算用OpenMP进行调度即可,这样可以不用修改cfg文件。