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.

mcsdk下面image_processing_openmp_evmc6678l工程多核图像处理出错



硬件平台: TMDSEVM6678L_EVM
软件版本:
CCS5.5
compiler version : TI v7.4.0
XDCtool version : 3.25.3.72
SYS/BIOS: 6.35.4.50
OpenMP BIOS runtime library:1.1.3.02

使用mcsdk_2_01_02_06\demos\image_processing\openmp\evmc6678l 工程,在EVM上测试
发现以下问题:

1. 对工程未作任何改变,使用默认自带的out文件,选择图像\image_processing\images\evmc6678l_1587x2182_9_91MB.bmp
设置使用8 Core做edge_detection,发现输出图像的第一个slice的下面部分是黑条,其余的slice处理结果没有问题。如下图所示。


多次试验发现,问题出在文件mcip_process.c中的#pragma omp parallel for shared(p_slice, number_of_slices, ret_val) private(i)
和 #pragma omp atomic,如果使用#pragma omp ,处理结果会出错,如果不使用#pragma omp 处理结果是正常的,如下图


请问,这是什么原因造成的?

2. 同样地问题在选择其他core num >1的情况下同样会出现。

3.有没有最新的OpenMP的库?支持TMDSEVM6678的。

请TI工作人员尽快给予解答,谢谢!