Other Parts Discussed in Thread: TMS320C6678
Hello:
I'm using OpenMP module on my TMS320C6678 EVM and the OMP edition is 1.1.2.6. Q1: In .cfg file, is parameter "threadPriority" represent the priority of masterFxn (typically main() function) and just like the other SYS/BIOS threads' priority that can be high priority threads preempted?
Q2: When using OpenMP module, we always create a HeapOMP as SYS/BIOS's default heap. There is a local heap and a shared heap in HeapOMP. I wonder if values malloced out of OMP instructions are located in shared heap and values malloced in the OMP instructs are located in local heap? Just as value "a","b" ,"c"in the routine below.
float *a=(float*)malloc(sizeof(float));
int b=0;
#pragma omp parallel firstprivate(b)
{
int c=0;
b=1;
}
So,"a" is located in shared heap,"c" is located in local heap, "b" is located in Data Memory (typically in shared memory region), but when running the parallel routine, each core will generate a copy of "b" in stack. Am I right?
Q3: As we know there is a ".threadprivate" section used by threadprivate instruction, but are there any other secions used by other specific instrutions?
To sum up, could any one provide a detailed, comprehensive memory alloction when using OpenMP?
Thank You!