Hi Guys ,
I learn to programm c6678 using openM. My problem concern a the configuration (cfg) for my applicattion. I want to parallelize a sorter processing of data.
I have a total amount of data = 256 * 2080 ( float) . the sorter processing must be work on data parallel on the 8 core .
This is my approach to do that :
Configuration File :
- put the total amount of data in a shared Memory
- each core receive read a 32 * 2080 data from Shared memory und store that to his private memory
that is my Configuration File :
/* load the common configuration file */
xdc.loadCapsule('ti/omp/common.cfg.xs');
var System = xdc.useModule('xdc.runtime.System');
System.extendedFormats = "%$S";
var OpenMP = xdc.useModule('ti.omp.utils.OpenMP');
OpenMP.setNumProcessors(8);
Program.sectMap["ddr"] = new Program.SectionSpec();
Program.sectMap["ddr"].loadSegment = "DDR3";
Program.sectMap[".threadprivate"] = new Program.SectionSpec();
Program.sectMap[".threadprivate"].loadSegment = "L2SRAM"; // to store 32*2080 for each Core
Program.sectMap["Buffer"] = new Program.SectionSpec();
Program.sectMap["Buffer"].loadSegment = "DDR3"; // to store 256 * 2080 data
Questions : It is Configuration make sense for my Problem?
I don´t no if it is necesserayl to configure the Plattform using CCS Tools-> RTSC Tools->Plattform ?
in C. File :
#pragma DATA_SECTION (pInputData , "Buffer")
float *pInputData;
#pragma DATA_SECTION (pOutputData , "Buffer")
float *pOutputData;
#pragma DATA_SECTION (localBuffer, "threadprivate")
float localBuffer[32*256];
void main()
{
// init Buffer
#pragma OMP Parallel
}
can Somebody help me to resolve this ?
Best Regards
Lopez