Changeset bf1914e


Ignore:
Timestamp:
Dec 28, 2020, 4:09:20 PM (4 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
3e36f220
Parents:
657c36f (diff), 772b300 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

Files:
5 edited

Legend:

Unmodified
Added
Removed
  • Jenkins/FullBuild

    r657c36f rbf1914e  
    3232
    3333                        stage('Package') {
    34                                 build job: 'Cforall_Distribute_Ref', parameters: [string(name: 'GitRef', value: commitId), string(name: 'Build', value: currentBuild.number.toString())]
     34                                trigger_dist( commitId, currentBuild.number.toString() )
    3535                        }
    3636                }
     
    103103}
    104104
     105def trigger_dist(String commitId, String build) {
     106        def result = build job: 'Cforall_Distribute_Ref',       \
     107                parameters: [                                           \
     108                        string(name: 'GitRef', value: commitId),        \
     109                        string(name: 'Build' , value: build)    \
     110                ]
     111
     112        echo(result.result)
     113
     114        if(result.result != 'SUCCESS') {
     115                sh("wget -q -O - https://cforall.uwaterloo.ca/jenkins/job/Cforall_Distribute_Ref/${result.number}/consoleText")
     116                error(result.result)
     117        }
     118}
     119
    105120//===========================================================================================================
    106121//Routine responsible of sending the email notification once the build is completed
  • benchmark/readyQ/locality.cfa

    r657c36f rbf1914e  
    6363}
    6464
    65 void access(MyData & this, size_t idx) {
     65__attribute__((noinline)) void access(MyData & this, size_t idx) {
    6666        size_t l = this.len;
    6767        this.data[idx % l] += 1;
     
    126126// ==================================================
    127127// Do some work by accessing 'cnt' cells in the array
    128 void work(MyData & data, size_t cnt, uint64_t & state) {
     128__attribute__((noinline)) void work(MyData & data, size_t cnt, uint64_t & state) {
    129129        for (cnt) {
    130130                access(data, __xorshift64(state));
     
    166166
    167167void ?{}( MyThread & this, MyData * data, MySpot ** spots, size_t spot_len, size_t cnt, bool share, size_t id) {
     168        ((thread&)this){ bench_cluster };
    168169        this.data = data;
    169170        this.spots.ptr = spots;
     
    196197        unsigned long long global_dmigs = 0;
    197198
    198         MyData * data_arrays[nthreads];
    199         for(i; nthreads) {
    200                 data_arrays[i] = malloc();
    201                 (*data_arrays[i]){ i, wsize };
    202         }
    203 
    204         MySpot * spots[nthreads - nprocs];
    205         for(i; nthreads - nprocs) {
    206                 spots[i] = malloc();
    207                 (*spots[i]){ i };
    208         }
    209 
    210199        Time start, end;
    211200        {
     201                MyData * data_arrays[nthreads];
     202                for(i; nthreads) {
     203                        data_arrays[i] = malloc();
     204                        (*data_arrays[i]){ i, wsize };
     205                }
     206
     207                MySpot * spots[nthreads - nprocs];
     208                for(i; nthreads - nprocs) {
     209                        spots[i] = malloc();
     210                        (*spots[i]){ i };
     211                }
     212
    212213                BenchCluster bc = { nprocs };
    213214                threads_left = nprocs;
     
    250251                        }
    251252                }
    252         }
    253 
    254         printf("Duration (ms)          : %'ld\n", (end - start)`dms);
     253
     254                for(i; nthreads) {
     255                        delete( data_arrays[i] );
     256                }
     257
     258                for(i; nthreads - nprocs) {
     259                        delete( spots[i] );
     260                }
     261        }
     262
     263        printf("Duration (ms)          : %'lf\n", (end - start)`dms);
    255264        printf("Number of processors   : %'d\n", nprocs);
    256265        printf("Number of threads      : %'d\n", nthreads);
    257266        printf("Total Operations(ops)  : %'15llu\n", global_count);
    258         printf("Work size (64bit words): %'15llu\n", wsize);
     267        printf("Work size (64bit words): %'15u\n", wsize);
    259268        printf("Total Operations(ops)  : %'15llu\n", global_count);
    260269        printf("Total G Migrations     : %'15llu\n", global_gmigs);
  • benchmark/readyQ/locality.go

    r657c36f rbf1914e  
    282282        // Print with nice 's, i.e. 1'000'000 instead of 1000000
    283283        p := message.NewPrinter(language.English)
    284         p.Printf("Duration (ms)          : %f\n", delta.Seconds());
     284        p.Printf("Duration (s)           : %f\n", delta.Seconds());
    285285        p.Printf("Number of processors   : %d\n", nprocs);
    286286        p.Printf("Number of threads      : %d\n", nthreads);
  • benchmark/readyQ/rq_bench.hfa

    r657c36f rbf1914e  
    3939                } else if(stop_count > 0) { \
    4040                        clock_mode = false; \
    41                         printf("Running for %lu iterations\n", stop_count); \
     41                        printf("Running for %llu iterations\n", stop_count); \
    4242                } else { \
    4343                        duration = 5; clock_mode = true;\
  • libcfa/src/parseargs.cfa

    r657c36f rbf1914e  
    105105                                        if(opt == options[i].short_name) {
    106106                                                const char * arg = optarg ? optarg : "";
     107                                                if( arg[0] == '=' ) { arg++; }
    107108                                                bool success = options[i].parse( arg, options[i].variable );
    108109                                                if(success) continue NEXT_ARG;
Note: See TracChangeset for help on using the changeset viewer.