我是 gem5 模拟器的新手。我有一个 C 应用程序,我想让它运行得更快。所以我做的第一件事是使用循环展开和 SIMD 等多种技术对其进行优化。下一步,我打算让它在多核(X86和ARM)上工作,因为我必须使用 gem5 模拟器。
该应用程序用于 Radix4 计算。现在我已经成功地让它在X86和ARM的一个核心系统上运行,但是现在我想让它在 4、16、... 核心 X86 或 ARM 上运行。
有人可以给我一些提示或告诉我正确的方法吗?谢谢
这是关于应用程序的全球理念
void init_twiddle(int N)
{
int i;
for(i=0; i<TWIDDLE_LIMIT; i++)
{
/*Filling the twiddle table*/
}
}
void init_LUT(int N)
{
LUT_n2 = malloc((1+PMAX)*sizeof(int*));
for (i=0; i <= PMAX; i++){
for (j=0; j < n; j++)
/*Calculate radix parametrs and put them in a table*/
}
}
void bit_r4_reorder(float* x, float* y, int N)
{
/*Bit reordering after calculating the radix4*/
}
void radix4(float *x,float *y, int N)
{
/*function for the radix4 computing*/
}
int main()
{
/*Calling the previous functions*/
}