最近在看OpenMP的多核编程,在主核的parallel后面的语句系统会分配多个线程来并行执行。想问下,
1.是不是一个从核只开启一个线程来执行任务,也就是说C6678最多只能同时开辟8个并行线程?
2.DSP上的OpenMP是如何触发从核来实现并行线程的呢?举个例子,如果现在只有4个并行线程,除了主核核0外,我们就只需要另外开启3个内核。我们可不可以选则特定的从核组来执行其余三个并行线程,如核1,核3,核5?
Thomas Yang1:
1 No 可以有多个线程 并不是只有8个
2 可以指定由哪几个核来执行 你所说的模式是支持的
Ping Li3:
回复 Thomas Yang1:
请问首先我怎么指定openmp 并行语句开辟的多线程在哪些核上执行?
其次,假如有一段代码,我使用了openmp for子句,在其运行完之后,我又希望利用多核进行多核间通信,那是否意味着我需要重新配置所有需要的LLD(假如我在使用openmp之前已经在使用多核导航,是哟你该QMSS,IPC等)???
还有,假如我想利用6678中的4个核心运行openmp操作,然后同时希望剩下的4核心可以进行多核导航,请问有问题吗????
Yantao Gao:
你好,我也在学习C6678上用OpenMP做多核编程,请问,有学习例程吗,在哪能找到。
谢谢啦
jkhj hhhh:
你好,我最近也在学习在6678上做openmp并行编程。在学习中经常遇到assertion failure以及instruction fetch exception等错误。。
请问你是如何设置的platform的地址分配,以及.cfg中的openmpHeap等地址?
在.ccxml中如何添加gel文件?
最后,请问用openmp并行和添加诸如-O3等编译优化指令之间有没有冲突?
谢谢!