diff --git a/lab_1/C/lab01_ex2.cu b/lab_1/C/lab01_ex2.cu index cef871113e0b5b8f750f4825d56bcfa678ea3117..7b31e461dd1293941603a301c632997c6e1cec4e 100644 --- a/lab_1/C/lab01_ex2.cu +++ b/lab_1/C/lab01_ex2.cu @@ -25,9 +25,9 @@ float generate_hash(int n, float *y) /** * Helper method that calculates the elapsed time between two time intervals (in milliseconds). */ -long get_elapsed(tval t0, tval t1) +double get_elapsed(tval t0, tval t1) { - return (t1.tv_sec - t0.tv_sec) * 1000 + (t1.tv_usec - t0.tv_usec) / 1000; + return (double)(t1.tv_sec - t0.tv_sec) * 1000.0L + (double)(t1.tv_usec - t0.tv_usec) / 1000.0L; } /** diff --git a/lab_2/C/lab02_ex3_6.cu b/lab_2/C/lab02_ex3_6.cu index aba4942cb72cb327253058e4a81d83644be20f76..ab78190085cbe4bcaa49b6add29c5a867b0401fa 100644 --- a/lab_2/C/lab02_ex3_6.cu +++ b/lab_2/C/lab02_ex3_6.cu @@ -120,15 +120,15 @@ void checkCUDAError() /** * Calculates the elapsed time between two time intervals (in milliseconds). */ -long get_elapsed(tval t0, tval t1) +double get_elapsed(tval t0, tval t1) { - return (t1.tv_sec - t0.tv_sec) * 1000 + (t1.tv_usec - t0.tv_usec) / 1000; + return (double)(t1.tv_sec - t0.tv_sec) * 1000.0L + (double)(t1.tv_usec - t0.tv_usec) / 1000.0L; } /** * Stores the result image and prints a message. */ -void store_result(int index, long elapsed_cpu, long elapsed_gpu, +void store_result(int index, double elapsed_cpu, double elapsed_gpu, int width, int height, float *image) { char path[255]; @@ -137,7 +137,7 @@ void store_result(int index, long elapsed_cpu, long elapsed_gpu, writeBMPGrayscale(width, height, image, path); printf("Step #%d Completed - Result stored in \"%s\".\n", index, path); - printf("Elapsed CPU: %ldms / ", elapsed_cpu); + printf("Elapsed CPU: %fms / ", elapsed_cpu); if (elapsed_gpu == 0) { @@ -145,7 +145,7 @@ void store_result(int index, long elapsed_cpu, long elapsed_gpu, } else { - printf("Elapsed GPU: %ldms\n", elapsed_gpu); + printf("Elapsed GPU: %fms\n", elapsed_gpu); } } @@ -310,7 +310,7 @@ int main(int argc, char **argv) float *d_image_out[2] = { 0 }; int image_size = 0; tval t[2] = { 0 }; - long elapsed[2] = { 0 }; + double elapsed[2] = { 0 }; dim3 grid(1); // The grid will be defined later dim3 block(BLOCK_SIZE, BLOCK_SIZE); // The block size will not change diff --git a/lab_2/Fortran/lab02_ex3_6_c.cu b/lab_2/Fortran/lab02_ex3_6_c.cu index 2ed6aab7a6b99aff4967daafb59c96bd88b60b5b..ba5c3959c93b31b1343c8211d7c65d818f36a728 100644 --- a/lab_2/Fortran/lab02_ex3_6_c.cu +++ b/lab_2/Fortran/lab02_ex3_6_c.cu @@ -120,15 +120,15 @@ void checkCUDAError() /** * Calculates the elapsed time between two time intervals (in milliseconds). */ -long get_elapsed(tval t0, tval t1) +double get_elapsed(tval t0, tval t1) { - return (t1.tv_sec - t0.tv_sec) * 1000 + (t1.tv_usec - t0.tv_usec) / 1000; + return (double)(t1.tv_sec - t0.tv_sec) * 1000.0L + (double)(t1.tv_usec - t0.tv_usec) / 1000.0L; } /** * Stores the result image and prints a message. */ -void store_result(int index, long elapsed_cpu, long elapsed_gpu, +void store_result(int index, double elapsed_cpu, double elapsed_gpu, int width, int height, float *image) { char path[255]; @@ -137,7 +137,7 @@ void store_result(int index, long elapsed_cpu, long elapsed_gpu, writeBMPGrayscale(width, height, image, path); printf("Step #%d Completed - Result stored in \"%s\".\n", index, path); - printf("Elapsed CPU: %ldms / ", elapsed_cpu); + printf("Elapsed CPU: %fms / ", elapsed_cpu); if (elapsed_gpu == 0) { @@ -145,7 +145,7 @@ void store_result(int index, long elapsed_cpu, long elapsed_gpu, } else { - printf("Elapsed GPU: %ldms\n", elapsed_gpu); + printf("Elapsed GPU: %fms\n", elapsed_gpu); } }