#include <stdio.h>
using namespace af;
static void for_loop()
{
for (
int i = 0;
i < A.dims(2); ++
i)
C.eval();
}
static void gfor_loop()
{
C.eval();
}
int main(int argc, char **argv)
{
try {
int device = argc > 1 ? atoi(argv[1]) : 0;
int n = 4;
int m = 8;
printf("time matrix multiply...\n");
double for_loop_time =
timeit(for_loop);
if (C(0).scalar<float>() != n) throw "value error";
printf(" for-loop %.6g seconds\n", for_loop_time);
double gfor_loop_time =
timeit(gfor_loop);
if (C(0).scalar<float>() != n) throw "value error";
printf(" gfor-loop %.6g seconds\n", gfor_loop_time);
printf(" speedup %.2gx\n\n", for_loop_time / gfor_loop_time);
printf("sum...\n");
int k = 6;
printf("fft...\n");
}
fprintf(stderr,
"%s\n", e.
what());
throw;
} catch (const char *s) {
fprintf(stderr, "%s\n", s);
throw;
}
#ifdef WIN32 // pause in Windows
if (!(argc == 2 && argv[1][0] == '-')) {
printf("hit [enter]...");
fflush(stdout);
getchar();
}
#endif
return 0;
}