Quantcast
Channel: C6000™多核 - 最近的话题
Viewing all articles
Browse latest Browse all 5545

TMS320C6678用OpenMP多核开发时候的额外开销有哪些?为什么会出现多核用时比单核多的问题?

$
0
0

#include <ti/omp/omp.h>
#include <stdio.h>
#include <stdlib.h>
#include <c6x.h>
void test()
{
int a = 0;
for (int j = 0; j<100000; j++)
a++;
}
void main()
{
int i;
printf("starting running\n");
unsigned long long t1,t2;
TSCL = 0;
TSCH = 0;
t1 = _itoll(TSCH,TSCL);

#pragma omp parallel for private(i)
for ( i = 0; i<100; i++){
test();
}
t2 = _itoll(TSCH,TSCL);
printf("time is: %ld\n",(t2-t1)/10000);
}

问题一:当我跑这个Demo的时候,单核用时0.21s,四核用时0.17s,八核用时0.14s,从时间效率上看,按理说是按倍数减少,请问下有什么额外的开销使得出现这样的结果。

问题二:当我跑我自己的程序的时候,单核时间时0.8s,四核是0.9s,八核是0.3s,请问下在这里为什么四核的时间效率反而还比单核还长???是因为调用多核产生了其他额外的开销还是什么原因??


Viewing all articles
Browse latest Browse all 5545

Trending Articles