diff options
27 files changed, 86 insertions, 52 deletions
diff --git a/all_pairs/source/adpcm_dec/adpcm_dec.c b/all_pairs/source/adpcm_dec/adpcm_dec.c index 6811e69..04a5746 100644 --- a/all_pairs/source/adpcm_dec/adpcm_dec.c +++ b/all_pairs/source/adpcm_dec/adpcm_dec.c | |||
@@ -708,7 +708,7 @@ void _Pragma( "entrypoint" ) adpcm_dec_main( void ) | |||
708 | int main(int argc, char **argv) | 708 | int main(int argc, char **argv) |
709 | { | 709 | { |
710 | SET_UP | 710 | SET_UP |
711 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 711 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
712 | START_LOOP | 712 | START_LOOP |
713 | adpcm_dec_init(); | 713 | adpcm_dec_init(); |
714 | adpcm_dec_main(); | 714 | adpcm_dec_main(); |
diff --git a/all_pairs/source/adpcm_enc/adpcm_enc.c b/all_pairs/source/adpcm_enc/adpcm_enc.c index d9fb09a..464768f 100644 --- a/all_pairs/source/adpcm_enc/adpcm_enc.c +++ b/all_pairs/source/adpcm_enc/adpcm_enc.c | |||
@@ -747,7 +747,7 @@ void _Pragma( "entrypoint" ) adpcm_enc_main(void) | |||
747 | int main(int argc, char **argv) | 747 | int main(int argc, char **argv) |
748 | { | 748 | { |
749 | SET_UP | 749 | SET_UP |
750 | for(jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 750 | for(jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
751 | START_LOOP | 751 | START_LOOP |
752 | adpcm_enc_init(); | 752 | adpcm_enc_init(); |
753 | adpcm_enc_main(); | 753 | adpcm_enc_main(); |
diff --git a/all_pairs/source/ammunition/ammunition.c b/all_pairs/source/ammunition/ammunition.c index 224babd..269f4c0 100644 --- a/all_pairs/source/ammunition/ammunition.c +++ b/all_pairs/source/ammunition/ammunition.c | |||
@@ -1174,7 +1174,7 @@ void _Pragma( "entrypoint" ) ammunition_main( void ) | |||
1174 | int main( int argc, char **argv ) | 1174 | int main( int argc, char **argv ) |
1175 | { | 1175 | { |
1176 | SET_UP | 1176 | SET_UP |
1177 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 1177 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
1178 | START_LOOP | 1178 | START_LOOP |
1179 | ammunition_init(); | 1179 | ammunition_init(); |
1180 | ammunition_main(); | 1180 | ammunition_main(); |
diff --git a/all_pairs/source/anagram/anagram.c b/all_pairs/source/anagram/anagram.c index 8f140a3..b458fd2 100644 --- a/all_pairs/source/anagram/anagram.c +++ b/all_pairs/source/anagram/anagram.c | |||
@@ -659,7 +659,7 @@ int main(int argc, char **argv) | |||
659 | SET_UP | 659 | SET_UP |
660 | //int jobsComplete; | 660 | //int jobsComplete; |
661 | //int maxJobs=100; | 661 | //int maxJobs=100; |
662 | //for(jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 662 | //for(jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
663 | START_LOOP | 663 | START_LOOP |
664 | anagram_init(); | 664 | anagram_init(); |
665 | anagram_main(); | 665 | anagram_main(); |
diff --git a/all_pairs/source/audiobeam/audiobeam.c b/all_pairs/source/audiobeam/audiobeam.c index ed5d656..208de80 100644 --- a/all_pairs/source/audiobeam/audiobeam.c +++ b/all_pairs/source/audiobeam/audiobeam.c | |||
@@ -581,7 +581,7 @@ int main( int argc, char **argv ) | |||
581 | //SET_UP | 581 | //SET_UP |
582 | int jobsComplete; | 582 | int jobsComplete; |
583 | int maxJobs=100; | 583 | int maxJobs=100; |
584 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 584 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
585 | // START_LOOP | 585 | // START_LOOP |
586 | audiobeam_init(); | 586 | audiobeam_init(); |
587 | audiobeam_main(); | 587 | audiobeam_main(); |
diff --git a/all_pairs/source/cjpeg_transupp/cjpeg_transupp.c b/all_pairs/source/cjpeg_transupp/cjpeg_transupp.c index e77d15b..3f48539 100644 --- a/all_pairs/source/cjpeg_transupp/cjpeg_transupp.c +++ b/all_pairs/source/cjpeg_transupp/cjpeg_transupp.c | |||
@@ -707,7 +707,7 @@ void _Pragma ( "entrypoint" ) cjpeg_transupp_main( void ) | |||
707 | int main(int argc, char **argv) | 707 | int main(int argc, char **argv) |
708 | { | 708 | { |
709 | SET_UP | 709 | SET_UP |
710 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 710 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
711 | START_LOOP | 711 | START_LOOP |
712 | cjpeg_transupp_init(); | 712 | cjpeg_transupp_init(); |
713 | cjpeg_transupp_main(); | 713 | cjpeg_transupp_main(); |
diff --git a/all_pairs/source/cjpeg_wrbmp/cjpeg_wrbmp.c b/all_pairs/source/cjpeg_wrbmp/cjpeg_wrbmp.c index 7bef7ab..278725c 100644 --- a/all_pairs/source/cjpeg_wrbmp/cjpeg_wrbmp.c +++ b/all_pairs/source/cjpeg_wrbmp/cjpeg_wrbmp.c | |||
@@ -211,7 +211,7 @@ int cjpeg_wrbmp_return() | |||
211 | int main(int argc, char **argv) | 211 | int main(int argc, char **argv) |
212 | { | 212 | { |
213 | SET_UP | 213 | SET_UP |
214 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 214 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
215 | START_LOOP | 215 | START_LOOP |
216 | cjpeg_wrbmp_init(); | 216 | cjpeg_wrbmp_init(); |
217 | cjpeg_wrbmp_main(); | 217 | cjpeg_wrbmp_main(); |
diff --git a/all_pairs/source/cleanupSemaphores.c b/all_pairs/source/cleanupSemaphores.c index 71ff989..dde2bb3 100644 --- a/all_pairs/source/cleanupSemaphores.c +++ b/all_pairs/source/cleanupSemaphores.c | |||
@@ -3,8 +3,4 @@ | |||
3 | int main(){ | 3 | int main(){ |
4 | sem_unlink("/firstTacleSem"); | 4 | sem_unlink("/firstTacleSem"); |
5 | sem_unlink("/secondTacleSem"); | 5 | sem_unlink("/secondTacleSem"); |
6 | sem_unlink("/thirdTacleSem"); | ||
7 | sem_unlink("/fourthTacleSem"); | ||
8 | //no longer in use; delete last line after running once | ||
9 | //sem_unlink("/cacheTacleSem"); | ||
10 | } | 6 | } |
diff --git a/all_pairs/source/dijkstra/dijkstra.c b/all_pairs/source/dijkstra/dijkstra.c index af86ea6..1b6a52f 100644 --- a/all_pairs/source/dijkstra/dijkstra.c +++ b/all_pairs/source/dijkstra/dijkstra.c | |||
@@ -193,7 +193,7 @@ void _Pragma( "entrypoint" ) dijkstra_main( void ) | |||
193 | int main(int argc, char** argv ) | 193 | int main(int argc, char** argv ) |
194 | { | 194 | { |
195 | SET_UP | 195 | SET_UP |
196 | for(jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 196 | for(jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
197 | START_LOOP | 197 | START_LOOP |
198 | dijkstra_init(); | 198 | dijkstra_init(); |
199 | dijkstra_main(); | 199 | dijkstra_main(); |
diff --git a/all_pairs/source/empty.c b/all_pairs/source/empty.c index e4fd214..c7c5f5d 100644 --- a/all_pairs/source/empty.c +++ b/all_pairs/source/empty.c | |||
@@ -3,7 +3,7 @@ | |||
3 | int main(int argc, char **argv) | 3 | int main(int argc, char **argv) |
4 | { | 4 | { |
5 | SET_UP | 5 | SET_UP |
6 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 6 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
7 | START_LOOP | 7 | START_LOOP |
8 | STOP_LOOP | 8 | STOP_LOOP |
9 | } | 9 | } |
diff --git a/all_pairs/source/epic/epic.c b/all_pairs/source/epic/epic.c index 13ba442..e258a4a 100644 --- a/all_pairs/source/epic/epic.c +++ b/all_pairs/source/epic/epic.c | |||
@@ -1130,7 +1130,7 @@ int epic_return(){ | |||
1130 | int main( int argc, char **argv ) | 1130 | int main( int argc, char **argv ) |
1131 | { | 1131 | { |
1132 | SET_UP | 1132 | SET_UP |
1133 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 1133 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
1134 | START_LOOP | 1134 | START_LOOP |
1135 | epic_init(); | 1135 | epic_init(); |
1136 | epic_main(); | 1136 | epic_main(); |
diff --git a/all_pairs/source/extra.h b/all_pairs/source/extra.h index bdbd1f5..0681250 100644 --- a/all_pairs/source/extra.h +++ b/all_pairs/source/extra.h | |||
@@ -19,6 +19,7 @@ | |||
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
20 | * SOFTWARE. | 20 | * SOFTWARE. |
21 | **/ | 21 | **/ |
22 | #define _GNU_SOURCE | ||
22 | #include <fcntl.h> | 23 | #include <fcntl.h> |
23 | #include <limits.h> | 24 | #include <limits.h> |
24 | #include <semaphore.h> | 25 | #include <semaphore.h> |
@@ -30,23 +31,31 @@ | |||
30 | #include <sys/stat.h> | 31 | #include <sys/stat.h> |
31 | #include <time.h> | 32 | #include <time.h> |
32 | #include <unistd.h> | 33 | #include <unistd.h> |
34 | #include <sched.h> | ||
35 | |||
36 | // This is only visible if _GNU_SOURCE is defined, and that define does not | ||
37 | // come along to places where this file is included. Address this by manually | ||
38 | // forcing it into the global namespace. | ||
39 | extern int sched_getcpu(); | ||
33 | 40 | ||
34 | // Benchmarks use SET_UP, START_LOOP, STOP_LOOP, and WRITE_TO_FILE | 41 | // Benchmarks use SET_UP, START_LOOP, STOP_LOOP, and WRITE_TO_FILE |
35 | // These are macros so that we can declare and maintain additional state inside | 42 | // These are macros so that we can declare and maintain additional state inside |
36 | // the benchmark. | 43 | // the benchmark. |
37 | #define SET_UP if (argc < 8) {\ | 44 | #define SET_UP if (argc != 8) {\ |
38 | printf("Usage: %s <name> <runs> <my core> <other core> <other program> <runID> <lockID>", argv[0]);\ | 45 | printf("Usage: %s <name> <runs> <my core> <other core> <other program> <runID> <lockID>", argv[0]);\ |
39 | exit(1);\ | 46 | exit(1);\ |
40 | }\ | 47 | }\ |
41 | char * thisProgram = argv[1];\ | 48 | char * thisProgram = argv[1];\ |
42 | int maxJobs = atoi(argv[2]);\ | 49 | int maxJobs = atoi(argv[2]);\ |
43 | char * thisCore = argv[3];\ | 50 | unsigned int thisCore = atoi(argv[3]);\ |
44 | char * otherCore = argv[4];\ | 51 | unsigned int otherCore = atoi(argv[4]);\ |
52 | thisCore = sched_getcpu();\ | ||
45 | char * otherProgram = argv[5];\ | 53 | char * otherProgram = argv[5];\ |
46 | char * runID = argv[6];\ | 54 | char * runID = argv[6];\ |
47 | int lockID = atoi(argv[7]);\ | 55 | int lockID = atoi(argv[7]);\ |
48 | struct timespec start, end;\ | 56 | struct timespec _start, _end;\ |
49 | int jobsComplete;\ | 57 | int jobsComplete;\ |
58 | int jobs_complete = -1;\ | ||
50 | long * startS = malloc(sizeof(long) *maxJobs);\ | 59 | long * startS = malloc(sizeof(long) *maxJobs);\ |
51 | long * startN = malloc(sizeof(long) *maxJobs);\ | 60 | long * startN = malloc(sizeof(long) *maxJobs);\ |
52 | long * endS = malloc(sizeof(long) *maxJobs);\ | 61 | long * endS = malloc(sizeof(long) *maxJobs);\ |
@@ -81,14 +90,19 @@ | |||
81 | perror("Error mapping shared memory");\ | 90 | perror("Error mapping shared memory");\ |
82 | exit(1);\ | 91 | exit(1);\ |
83 | }\ | 92 | }\ |
84 | int error;\ | ||
85 | int val; | 93 | int val; |
86 | 94 | ||
87 | #define SAVE_RESULTS if (jobsComplete > -1){\ | 95 | #define SAVE_RESULTS \ |
88 | startS[jobsComplete]=start.tv_sec;\ | 96 | if(jobs_complete >= maxJobs) {\ |
89 | startN[jobsComplete]=start.tv_nsec;\ | 97 | fprintf(stderr, "Max jobs setting too small! Trying to record job #%d when we only have space for %d jobs. Exiting...\n", jobs_complete, maxJobs);\ |
90 | endS[jobsComplete]=end.tv_sec;\ | 98 | exit(1);\ |
91 | endN[jobsComplete]=end.tv_nsec;} | 99 | }\ |
100 | if (jobs_complete > -1){\ | ||
101 | startS[jobs_complete]=_start.tv_sec;\ | ||
102 | startN[jobs_complete]=_start.tv_nsec;\ | ||
103 | endS[jobs_complete]=_end.tv_sec;\ | ||
104 | endN[jobs_complete]=_end.tv_nsec;\ | ||
105 | } | ||
92 | 106 | ||
93 | #define WRITE_TO_FILE {\ | 107 | #define WRITE_TO_FILE {\ |
94 | munlockall();\ | 108 | munlockall();\ |
@@ -97,11 +111,11 @@ | |||
97 | perror("Error opening file. \n");\ | 111 | perror("Error opening file. \n");\ |
98 | exit(1);\ | 112 | exit(1);\ |
99 | }\ | 113 | }\ |
100 | for(jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){\ | 114 | for(int i = 0; i <= jobs_complete; i++){\ |
101 | fprintf(fp, "%s %s %s %s %d %ld %ld %ld %ld %s %d \n",\ | 115 | fprintf(fp, "%s %s %u %u %d %ld %ld %ld %ld %s %d \n",\ |
102 | thisProgram, otherProgram, thisCore, otherCore, maxJobs,\ | 116 | thisProgram, otherProgram, thisCore, otherCore, maxJobs,\ |
103 | startS[jobsComplete], startN[jobsComplete], endS[jobsComplete], endN[jobsComplete],\ | 117 | startS[i], startN[i], endS[i], endN[i],\ |
104 | runID, jobsComplete);\ | 118 | runID, i);\ |
105 | }\ | 119 | }\ |
106 | fclose(fp);\ | 120 | fclose(fp);\ |
107 | /* Clean up the barrier synchronization shared memory */\ | 121 | /* Clean up the barrier synchronization shared memory */\ |
@@ -127,8 +141,8 @@ | |||
127 | fclose(fp); | 141 | fclose(fp); |
128 | 142 | ||
129 | // These timers should just be aliases to the hardware counters w/ some small adjustments | 143 | // These timers should just be aliases to the hardware counters w/ some small adjustments |
130 | #define START_TIMER clock_gettime(CLOCK_MONOTONIC, &start); | 144 | #define START_TIMER clock_gettime(CLOCK_MONOTONIC, &_start); |
131 | #define STOP_TIMER clock_gettime(CLOCK_MONOTONIC, &end); | 145 | #define STOP_TIMER clock_gettime(CLOCK_MONOTONIC, &_end); |
132 | 146 | ||
133 | //check value of sem | 147 | //check value of sem |
134 | //if sem=0, unlock | 148 | //if sem=0, unlock |
@@ -176,8 +190,8 @@ | |||
176 | __sync_bool_compare_and_swap(barrier, 1, 0);\ | 190 | __sync_bool_compare_and_swap(barrier, 1, 0);\ |
177 | } | 191 | } |
178 | 192 | ||
179 | #define START_LOOP FIRST_UNLOCK FIRST_LOCK FLUSH_CACHES BARRIER_SYNC START_TIMER | 193 | #define START_LOOP FIRST_UNLOCK FIRST_LOCK sched_yield(); FLUSH_CACHES BARRIER_SYNC START_TIMER |
180 | #define STOP_LOOP STOP_TIMER SAVE_RESULTS | 194 | #define STOP_LOOP STOP_TIMER jobs_complete++; SAVE_RESULTS |
181 | 195 | ||
182 | 196 | ||
183 | /* | 197 | /* |
@@ -186,7 +200,7 @@ Intended structure | |||
186 | main | 200 | main |
187 | SET_UP | 201 | SET_UP |
188 | notice that STOP LOOP negates the ++ if outout=0 | 202 | notice that STOP LOOP negates the ++ if outout=0 |
189 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 203 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
190 | START_LOOP | 204 | START_LOOP |
191 | tacleInit(); | 205 | tacleInit(); |
192 | tacleMain(); | 206 | tacleMain(); |
diff --git a/all_pairs/source/fmref/fmref.c b/all_pairs/source/fmref/fmref.c index 6be1436..bcc7ce6 100644 --- a/all_pairs/source/fmref/fmref.c +++ b/all_pairs/source/fmref/fmref.c | |||
@@ -78,7 +78,7 @@ int fmref_return(void) | |||
78 | int main(int argc, char **argv){ | 78 | int main(int argc, char **argv){ |
79 | 79 | ||
80 | SET_UP | 80 | SET_UP |
81 | for(jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 81 | for(jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
82 | START_LOOP | 82 | START_LOOP |
83 | fmref_init(); | 83 | fmref_init(); |
84 | fmref_main(); | 84 | fmref_main(); |
diff --git a/all_pairs/source/g723_enc/g723_enc.c b/all_pairs/source/g723_enc/g723_enc.c index 6f31210..331c821 100644 --- a/all_pairs/source/g723_enc/g723_enc.c +++ b/all_pairs/source/g723_enc/g723_enc.c | |||
@@ -875,7 +875,7 @@ int main( int argc, char **argv ) | |||
875 | //SET_UP | 875 | //SET_UP |
876 | int jobsComplete; | 876 | int jobsComplete; |
877 | int maxJobs=9; | 877 | int maxJobs=9; |
878 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 878 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
879 | // START_LOOP | 879 | // START_LOOP |
880 | g723_enc_init(); | 880 | g723_enc_init(); |
881 | g723_enc_main(); | 881 | g723_enc_main(); |
diff --git a/all_pairs/source/gsm_dec/gsm_dec.c b/all_pairs/source/gsm_dec/gsm_dec.c index 7a0a1bd..06d24d5 100644 --- a/all_pairs/source/gsm_dec/gsm_dec.c +++ b/all_pairs/source/gsm_dec/gsm_dec.c | |||
@@ -753,7 +753,7 @@ void _Pragma( "entrypoint" ) gsm_dec_main( void ) | |||
753 | int main( int argc, char **argv) | 753 | int main( int argc, char **argv) |
754 | { | 754 | { |
755 | SET_UP | 755 | SET_UP |
756 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 756 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
757 | START_LOOP | 757 | START_LOOP |
758 | gsm_dec_init(); | 758 | gsm_dec_init(); |
759 | gsm_dec_main(); | 759 | gsm_dec_main(); |
diff --git a/all_pairs/source/gsm_enc/gsm_enc.c b/all_pairs/source/gsm_enc/gsm_enc.c index cdac899..3f051ec 100644 --- a/all_pairs/source/gsm_enc/gsm_enc.c +++ b/all_pairs/source/gsm_enc/gsm_enc.c | |||
@@ -2061,7 +2061,7 @@ void gsm_enc_main( void ) | |||
2061 | int main( int argc, char** argv ) | 2061 | int main( int argc, char** argv ) |
2062 | { | 2062 | { |
2063 | SET_UP | 2063 | SET_UP |
2064 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 2064 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
2065 | START_LOOP | 2065 | START_LOOP |
2066 | gsm_enc_init(); | 2066 | gsm_enc_init(); |
2067 | gsm_enc_main(); | 2067 | gsm_enc_main(); |
diff --git a/all_pairs/source/h264_dec/h264_dec.c b/all_pairs/source/h264_dec/h264_dec.c index 76af705..1fed68b 100644 --- a/all_pairs/source/h264_dec/h264_dec.c +++ b/all_pairs/source/h264_dec/h264_dec.c | |||
@@ -598,7 +598,7 @@ void _Pragma( "entrypoint" ) h264_dec_main( void ) | |||
598 | int main( int argc, char** argv ) | 598 | int main( int argc, char** argv ) |
599 | { | 599 | { |
600 | SET_UP | 600 | SET_UP |
601 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 601 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
602 | START_LOOP | 602 | START_LOOP |
603 | h264_dec_init(); | 603 | h264_dec_init(); |
604 | h264_dec_main(); | 604 | h264_dec_main(); |
diff --git a/all_pairs/source/huff_dec/huff_dec.c b/all_pairs/source/huff_dec/huff_dec.c index 48bdf4b..b83b99d 100644 --- a/all_pairs/source/huff_dec/huff_dec.c +++ b/all_pairs/source/huff_dec/huff_dec.c | |||
@@ -382,7 +382,7 @@ int main( int argc, char **argv ) | |||
382 | //SET_UP | 382 | //SET_UP |
383 | int jobsComplete; | 383 | int jobsComplete; |
384 | int maxJobs=5; | 384 | int maxJobs=5; |
385 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 385 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
386 | // START_LOOP | 386 | // START_LOOP |
387 | huff_dec_init(); | 387 | huff_dec_init(); |
388 | huff_dec_main(); | 388 | huff_dec_main(); |
diff --git a/all_pairs/source/huff_enc/huff_enc.c b/all_pairs/source/huff_enc/huff_enc.c index 2e739e6..133fe95 100644 --- a/all_pairs/source/huff_enc/huff_enc.c +++ b/all_pairs/source/huff_enc/huff_enc.c | |||
@@ -578,7 +578,7 @@ void _Pragma( "entrypoint" ) huff_enc_main() | |||
578 | int main( int argc, char **argv ) | 578 | int main( int argc, char **argv ) |
579 | { | 579 | { |
580 | SET_UP | 580 | SET_UP |
581 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 581 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
582 | START_LOOP | 582 | START_LOOP |
583 | huff_enc_init(); | 583 | huff_enc_init(); |
584 | huff_enc_main(); | 584 | huff_enc_main(); |
diff --git a/all_pairs/source/mpeg2/mpeg2.c b/all_pairs/source/mpeg2/mpeg2.c index e89e1f9..a810744 100644 --- a/all_pairs/source/mpeg2/mpeg2.c +++ b/all_pairs/source/mpeg2/mpeg2.c | |||
@@ -13206,7 +13206,7 @@ void _Pragma ( "entrypoint" ) mpeg2_main( void ) | |||
13206 | int main( int argc, char **argv ) | 13206 | int main( int argc, char **argv ) |
13207 | { | 13207 | { |
13208 | SET_UP | 13208 | SET_UP |
13209 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 13209 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
13210 | START_LOOP | 13210 | START_LOOP |
13211 | mpeg2_init(); | 13211 | mpeg2_init(); |
13212 | mpeg2_main(); | 13212 | mpeg2_main(); |
diff --git a/all_pairs/source/ndes/ndes.c b/all_pairs/source/ndes/ndes.c index e56906f..b0f494c 100644 --- a/all_pairs/source/ndes/ndes.c +++ b/all_pairs/source/ndes/ndes.c | |||
@@ -366,7 +366,7 @@ void _Pragma( "entrypoint" ) ndes_main() | |||
366 | int main( int argc, char **argv ) | 366 | int main( int argc, char **argv ) |
367 | { | 367 | { |
368 | SET_UP | 368 | SET_UP |
369 | for(jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 369 | for(jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
370 | START_LOOP | 370 | START_LOOP |
371 | ndes_init(); | 371 | ndes_init(); |
372 | ndes_main(); | 372 | ndes_main(); |
diff --git a/all_pairs/source/petrinet/petrinet.c b/all_pairs/source/petrinet/petrinet.c index 7c9e1a0..cabb40d 100644 --- a/all_pairs/source/petrinet/petrinet.c +++ b/all_pairs/source/petrinet/petrinet.c | |||
@@ -977,7 +977,7 @@ int main( int argc, char **argv ) | |||
977 | { | 977 | { |
978 | SET_UP | 978 | SET_UP |
979 | 979 | ||
980 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 980 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
981 | 981 | ||
982 | START_LOOP | 982 | START_LOOP |
983 | petrinet_main(); | 983 | petrinet_main(); |
diff --git a/all_pairs/source/rijndael_dec/rijndael_dec.c b/all_pairs/source/rijndael_dec/rijndael_dec.c index 4082eff..93bb424 100644 --- a/all_pairs/source/rijndael_dec/rijndael_dec.c +++ b/all_pairs/source/rijndael_dec/rijndael_dec.c | |||
@@ -183,7 +183,7 @@ void _Pragma( "entrypoint" ) rijndael_dec_main( void ) | |||
183 | int main(int argc, char** argv) | 183 | int main(int argc, char** argv) |
184 | { | 184 | { |
185 | SET_UP | 185 | SET_UP |
186 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 186 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
187 | START_LOOP | 187 | START_LOOP |
188 | rijndael_dec_init(); | 188 | rijndael_dec_init(); |
189 | rijndael_dec_main(); | 189 | rijndael_dec_main(); |
diff --git a/all_pairs/source/rijndael_enc/rijndael_enc.c b/all_pairs/source/rijndael_enc/rijndael_enc.c index f74d595..0c10353 100644 --- a/all_pairs/source/rijndael_enc/rijndael_enc.c +++ b/all_pairs/source/rijndael_enc/rijndael_enc.c | |||
@@ -226,7 +226,7 @@ void _Pragma( "entrypoint" ) rijndael_enc_main( void ) | |||
226 | int main( int argc, char** argv ) | 226 | int main( int argc, char** argv ) |
227 | { | 227 | { |
228 | SET_UP | 228 | SET_UP |
229 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 229 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
230 | START_LOOP | 230 | START_LOOP |
231 | rijndael_enc_init(); | 231 | rijndael_enc_init(); |
232 | rijndael_enc_main(); | 232 | rijndael_enc_main(); |
diff --git a/all_pairs/source/statemate/statemate.c b/all_pairs/source/statemate/statemate.c index 379366a..00491e5 100644 --- a/all_pairs/source/statemate/statemate.c +++ b/all_pairs/source/statemate/statemate.c | |||
@@ -1274,7 +1274,7 @@ void _Pragma ( "entrypoint" ) statemate_main( void ) | |||
1274 | int main ( int argc, char **argv ) | 1274 | int main ( int argc, char **argv ) |
1275 | { | 1275 | { |
1276 | SET_UP | 1276 | SET_UP |
1277 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 1277 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
1278 | START_LOOP | 1278 | START_LOOP |
1279 | statemate_init(); | 1279 | statemate_init(); |
1280 | statemate_main(); | 1280 | statemate_main(); |
diff --git a/all_pairs/source/susan/susan.c b/all_pairs/source/susan/susan.c index fb990b1..4bc4cb8 100644 --- a/all_pairs/source/susan/susan.c +++ b/all_pairs/source/susan/susan.c | |||
@@ -2002,7 +2002,7 @@ int susan_return( void ) | |||
2002 | int main( int argc, char **argv ) | 2002 | int main( int argc, char **argv ) |
2003 | { | 2003 | { |
2004 | SET_UP | 2004 | SET_UP |
2005 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | 2005 | for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ |
2006 | START_LOOP | 2006 | START_LOOP |
2007 | susan_init(); | 2007 | susan_init(); |
2008 | susan_main(); | 2008 | susan_main(); |
diff --git a/dis/Makefile b/dis/Makefile index 7f3da39..957a39a 100755 --- a/dis/Makefile +++ b/dis/Makefile | |||
@@ -1,8 +1,18 @@ | |||
1 | # Copyright 2020 Joshua Bakita | ||
2 | # Build the DIS benchmarks with all-pairs or unpaired instrumentation | ||
3 | # (I know that this Makefile is mildly evil and breaks so many rules | ||
4 | # that a good Makefile should follow. Sorry - at least I have one.) | ||
1 | LIBLITMUS ?= /media/speedy/litmus/liblitmus | 5 | LIBLITMUS ?= /media/speedy/litmus/liblitmus |
2 | CC ?= gcc | 6 | CC ?= gcc |
3 | override CFLAGS += -pthread -O2 -ggdb3 -I../baseline/source | 7 | override CFLAGS += -pthread -O2 |
4 | LDFLAGS = -lrt -lm | 8 | LDFLAGS = -lrt -lm |
5 | COMMON = ../baseline/source/extra.h | 9 | |
10 | # We need a different include path depending on the target, so use a | ||
11 | # target-specific variable | ||
12 | field matrix neighborhood pointer transitive update random_walk: override CFLAGS += -I../baseline/source | ||
13 | field matrix neighborhood pointer transitive update random_walk: COMMON = ../baseline/source/extra.h | ||
14 | field_all matrix_all neighborhood_all pointer_all transitive_all update_all: override CFLAGS += -I../all_pairs/source | ||
15 | field_all matrix_all neighborhood_all pointer_all transitive_all update_all: COMMON = ../all_pairs/source/extra.h | ||
6 | 16 | ||
7 | # Handle cases where we're also profiling with the MMDC on the i.MX6Q | 17 | # Handle cases where we're also profiling with the MMDC on the i.MX6Q |
8 | ifneq ($(shell grep "define MMDC 1" ../baseline/source/extra.h),) | 18 | ifneq ($(shell grep "define MMDC 1" ../baseline/source/extra.h),) |
@@ -15,12 +25,13 @@ ifneq ($(shell grep "define LITMUS 1" ../baseline/source/extra.h),) | |||
15 | LDFLAGS += -L${LIBLITMUS} -llitmus | 25 | LDFLAGS += -L${LIBLITMUS} -llitmus |
16 | endif | 26 | endif |
17 | 27 | ||
18 | 28 | all: | |
19 | all: field matrix neighborhood pointer transitive update random_walk | 29 | baseline: field matrix neighborhood pointer transitive update random_walk |
30 | pairs: field_all matrix_all neighborhood_all pointer_all transitive_all update_all | ||
20 | 31 | ||
21 | .PHONY: clean | 32 | .PHONY: clean |
22 | clean: | 33 | clean: |
23 | rm field matrix neighborhood pointer transitive update random_walk | 34 | rm field_all matrix_all neighborhood_all pointer_all transitive_all update_all field matrix neighborhood pointer transitive update random_walk |
24 | 35 | ||
25 | field: ${COMMON} ./Field/field.c | 36 | field: ${COMMON} ./Field/field.c |
26 | $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) | 37 | $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) |
@@ -36,3 +47,16 @@ update: ${COMMON} ./Update/update.c | |||
36 | $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) | 47 | $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) |
37 | random_walk: ${COMMON} random_walk.c | 48 | random_walk: ${COMMON} random_walk.c |
38 | $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) | 49 | $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) |
50 | |||
51 | field_all: ${COMMON} ./Field/field.c | ||
52 | $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) | ||
53 | matrix_all: ${COMMON} ./Matrix/ver2/matrix.c | ||
54 | $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) | ||
55 | neighborhood_all: ${COMMON} ./Neighborhood/neighborhood.c | ||
56 | $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) | ||
57 | pointer_all: ${COMMON} ./Pointer/pointer.c | ||
58 | $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) | ||
59 | transitive_all: ${COMMON} ./Transitive/transitive.c | ||
60 | $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) | ||
61 | update_all: ${COMMON} ./Update/update.c | ||
62 | $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) | ||