Exemple #1
0
main ()
{
    int h,i,j,k;
    int n_var=7;
    int t_var=5;
    int nSize[7] = {16, 64, 256, 1024, 4096, 16384, 65536};
    int threads[5] = {1, 2, 4, 8, 16};
    int repeat = 1000;

    printf("Lab Work 2 - Performance Test - Merge By Ranking\n");
    printf("\t\tseq\t");
    for(h=0;h<t_var;h++)
        printf("t=%i\t", threads[h]);
    printf("\n");

    for(i=0; i<n_var; i++)
    {
        //set up inputs
        int *A, *B, *AB;
        int n = nSize[i]*2/3;
        int m = nSize[i]/3;
        setup(&A, &B, &AB, n, m);

        //printDataset("Input A: ", A, n);
        //printDataset("Input B: ", B, m);

        printf("size=%.5i\t", nSize[i]);

        timeFunc(mergeSeq, A, B, AB, n, m, 1, repeat);

        int seqResult[n+m];
        for(j=0;j<n+m;j++)
            seqResult[j] = AB[j];

        for(k=0;k<t_var;k++)
        {
            //set up threads number.
            int threads_num = threads[k];
            omp_set_dynamic(0);
            omp_set_num_threads(threads_num);

            timeFunc(merge, A, B, AB, n, m, threads_num, repeat);
        }
        int parResult[n+m];
        for(j=0;j<n+m;j++)
            parResult[j] = AB[j];
        verifyResult(seqResult, parResult, n);
        printf("\n");

        //printDataset("Output AB: ", AB, n+m);
        //printf("\n");
    }
}
Exemple #2
0
/*
** current_time()
**
** This function returns the same value as time('now').
*/
static void ctimeFunc(
  sqlite3_context *context,
  int NotUsed,
  sqlite3_value **NotUsed2
){
  UNUSED_PARAMETER2(NotUsed, NotUsed2);
  timeFunc(context, 0, 0);
}
Exemple #3
0
main ()
{
    int h,i,j,k;
    int n_var=7;
    int t_var=5;
    int nSize[7] = {16, 64, 256, 1024, 4096, 16384, 65536};
    //int nSize[7] = {17,17,17,17,17,17,17};
    int threads[5] = {1, 2, 4, 8, 16};
    int repeat = 1000;

    printf("Lab Work 3 - Performance Test - List Ranking\n");
    printf("\t\tseq\t");
    for(h=0;h<t_var;h++)
        printf("t=%i\t", threads[h]);
    printf("\n");

    for(i=0; i<n_var; i++)
    {
        //set up inputs
        int *S, *R;
        int n = nSize[i];
        setup(&S, &R, n);

//        int x[17] = {0, 14, 13, 5, 16, 11, 10, 9, 12, 0, 8, 7, 15, 4, 3, 2, 1};
//
//        S=x;

        //printf("Input n:  0  1  2  3  4\n");
        //printDataset("Input S: ", S, n);

        printf("size=%.5i\t", nSize[i]);

        timeFunc(listRankSeq, S, R, n, repeat);

        int seqResult[n];
        for(j=0;j<n;j++)
            seqResult[j] = R[j];

        for(k=0;k<t_var;k++)
        {
            //set up threads number.
            int threads_num = threads[k];
            omp_set_dynamic(0);
            omp_set_num_threads(threads_num);

            timeFunc(listRank, S, R, n, repeat);
        }

        int parResult[n];
        for(j=0;j<n;j++)
            parResult[j] = R[j];

        verifyResult(seqResult, parResult, n);
        printf("\n");





        //printDataset("Output R: ", R, n);
        //printf("\n");
    }
}