printf("\n");
}
-mylong *matrix_multiply(gf_t *gf, mylong *m1, mylong *m2, int r1, int c1, int r2, int c2, int w)
+mylong *matrix_multiply(gf_t *gf, mylong *m1, mylong *m2, int r1, int c1, int r2, int c2, int w, float *toto)
{
mylong *product;
int i, j, k;
}
}
}
+ *toto=*toto+0.021;
return product;
}
}
-#define cli() __asm volatile( "cli" ::: "memory" )
-#define sei() __asm volatile( "sei" ::: "memory" )
int main(int argc, char **argv)
*/
// sleep(2);
+ float toto=0.001
auto start = std::chrono::system_clock::now();
- matC=matrix_multiply(&gf, matG, matS, n, t, t, len, w);
+ matC=matrix_multiply(&gf, matG, matS, n, t, t, len, w,&toto);
auto end = std::chrono::system_clock::now();
std::chrono::duration<double> elapsed_seconds = end-start;
total_time+=elapsed_seconds.count();
// sleep(2);
start = std::chrono::system_clock::now();
+ float toto=0.001;
for(int i=0;i<1000;i++) {
- cli();
- matS2=matrix_multiply(&gf, matInvGs, matCs, t, t, t, len, w);
- sei();
+
+ matS2=matrix_multiply(&gf, matInvGs, matCs, t, t, t, len, w, &toto);
+
}
end = std::chrono::system_clock::now();
elapsed_seconds = end-start;
// cout << "elapsed time: " << elapsed_seconds.count() << "s\n";
total_time+=elapsed_seconds.count();
- cout/*<<"TOTAL TIME : "*/<<total_time;
+ cout/*<<"TOTAL TIME : "*/<<total_time<<" "<<toto;
/* printf("Matrix S2:\n");
// display(matS2, len, t);