void run(std::string benchmark, int size) {
     if (benchmark == "copy") {
         bench_copy(size);
     } else if (benchmark == "scal") {
         bench_scal(size);
     } else if (benchmark == "axpy") {
         bench_axpy(size);
     } else if (benchmark == "dot") {
         bench_dot(size);
     } else if (benchmark == "asum") {
         bench_asum(size);
     } else if (benchmark == "gemv_notrans") {
         bench_gemv_notrans(size);
     } else if (benchmark == "gemv_trans") {
         bench_gemv_trans(size);
     } else if (benchmark == "gemm_notrans") {
         bench_gemm_notrans(size);
     } else if (benchmark == "gemm_transA") {
         bench_gemm_transA(size);
     } else if (benchmark == "gemm_transB") {
         bench_gemm_transB(size);
     } else if (benchmark == "gemm_transAB") {
         bench_gemm_transAB(size);
     }
 }
Exemple #2
0
void bench_append(Bench_Step *to, Bench_Step *from)
{
  while (to->x != -1)
    to++;

  bench_copy(to, from);
}
Exemple #3
0
int main(int argc, char** argv)
{
    char* accel_name = NULL;
    int accel;
    int c;

    while((c = getopt(argc, argv, "A:")) != -1) {
	switch(c) {
	case 'A':
	    accel_name = optarg;
	    break;
	default:
	    break;
	}
    }

    if (accel_name == NULL)
	accel = EPX_SIMD_AUTO;  // select automatically
    else if (strcmp(accel_name, "auto")==0)
	accel = EPX_SIMD_AUTO;  // select automatically
    else if (strcmp(accel_name, "emu")==0)
	accel = EPX_SIMD_EMU;
    else if (strcmp(accel_name, "mmx")==0)
	accel = EPX_SIMD_MMX;
    else if (strcmp(accel_name, "sse2")==0)
	accel = EPX_SIMD_SSE2;
    else if (strcmp(accel_name, "altivec")==0)
	accel = EPX_SIMD_ALTIVEC;
    else if (strcmp(accel_name, "neon")==0)
	accel = EPX_SIMD_NEON;
    else
	accel = EPX_SIMD_AUTO;  // select automatically	

    epx_init(accel);

    bench_copy(10);
    bench_plot(10, EPX_FORMAT_ARGB, EPX_FORMAT_BGRA);
    bench_plot1(10, unpack_ARGB, pack_ARGB);
    bench_fill(10);
    bench_blend(10);
    bench_blend_fill(10);
    bench_line(10);
    exit(0);
}