diff options
| author | Joshua Bakita <jbakita@cs.unc.edu> | 2020-10-17 15:17:24 -0400 |
|---|---|---|
| committer | Joshua Bakita <jbakita@cs.unc.edu> | 2020-10-17 15:17:24 -0400 |
| commit | 97c1685def13be3724a6d025f4e12f236777a911 (patch) | |
| tree | c1e86cd3ed0f4cbe7fb04987ec8e2e89f9a61bee | |
| parent | cef282a003b65df452a51f12773799f83c3cd627 (diff) | |
Cleanup `extra.h` for pairs and add option to use that in DIS build
Also remove some unused code from the cleanupSemaphores utility
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) | ||
