This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

c6678 OpenMP运行错误

Other Parts Discussed in Thread: TMS320C6678

在学习OpenMP,加载的是omp中带的openMP的例程"hello world",编译没有错误,但是在运行的时候出现错误如下:ti.omp.utils.ThreadLocal: line 132: assertion failure: A_invalidKey: Invalid key encountered xdc.runtime.Error.raise: terminating execution。请教下可能出现的问题在哪里。另外关于openMP的资料比较少啊,有没有什么推荐的,多谢

  • 有可能是XDC配置的版本不对。

    更多OpenMP信息可以参考如下链接:

    http://openmp.org/

    http://processors.wiki.ti.com/index.php/OpenMP_on_C6000

    http://processors.wiki.ti.com/index.php/MCSDK_HPC_3.x_OpenMP

    http://processors.wiki.ti.com/index.php/Category:OpenMP

    http://processors.wiki.ti.com/index.php/Porting_OpenMP_2.x_to_KeyStone_1

  • 您的意思是版本的问题,还是可能是具体的配置出现问题,我是直接导入的omp下的hello world的例子,应该是配置好的文件吧?

  • 要检查下OPEN MP和XDC的版本依赖关系,这个和你CCS环境有没有装相应的XDC版本有关吗,和例子没有关系,例子是配置好的,但你没装相应软件包,就可能出问题,建议先仔细看下readme的要求

  • 加载openMP的例程"hello world",编译没有错误,但是在运行的时候出现错误如下:ti.omp.utils.ThreadLocal: line 132: assertion failure: A_invalidKey: Invalid key encountered xdc.runtime.Error.raise: terminating execution。
    修改xxx_config.cfg文件:
    var OpenMp = xdc.useModule('ti.omp.utils.OpenMP');
    OpenMP.setNumProcessors(8);
    修改NumProcessors为平台对应核数,如TMS320C6678为8核。  (我这边使用这个Demo的时候,平台为6678,但是这个核数是4,改成8后就好使了)