私はgem5シミュレーターが初めてです。より高速に実行したい C アプリケーションがあります。そのため、最初に行ったのは、ループ展開や SIMD などのいくつかの手法を使用して最適化することです。次のステップでは、gem5 シミュレーターを使用する必要があるため、複数のコア( X86およびARM ) で動作させる予定です。
アプリケーションは、Radix4 コンピューティング用です。今のところ、X86とARMの 1 つのコア システムで動作させることに成功しましたが、今度は 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*/
}