Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // Created by otomo on 31.03.20.
- //
- #include "stdio.h"
- #include "omp.h"
- #include "stdlib.h"
- #include "string.h"
- int main(int argc, char *argv[]) {
- if(argc < 3) {
- printf("Usage: <matrix_size>");
- return EXIT_FAILURE;
- }
- int N = atoi(argv[1]);
- int c[N][N];
- int d[N][N];
- int a[N][N], b[N][N], f[N][N], l[N][N];
- double start, end, actual_time;
- // ========= INIT FIELDS =========
- for (size_t i = 0; i < N; ++i) {
- for (size_t j = 0; j < N; ++j) {
- a[i][j] = rand() % 100 + 1;
- b[i][j] = rand() % 100 + 1;
- f[i][j] = rand() % 100 + 1;
- l[i][j] = rand() % 100 + 1;
- }
- }
- // ========= PARALLEL IMPLEMENTATION 2 =========
- start = omp_get_wtime();
- #pragma omp parallel for
- for (size_t j = 0; j < N; ++j) {
- #pragma omp parallel for
- for (size_t i = 0; i < N; ++i) {
- d[i][j] = a[i][j] * b[i][j];
- }
- }
- end = omp_get_wtime();
- actual_time = end-start;
- printf("Parallel implementation 2: WT Used: %f\n", actual_time);
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement