From 67e3f198dd100bdff23d51bc641a3da4b0ff2694 Mon Sep 17 00:00:00 2001 From: Trevor Barnes Date: Thu, 23 Feb 2023 22:57:36 -0600 Subject: [PATCH] matrices cleanup --- 04-MatrixAddition (pthread)/matAddThread | Bin 22008 -> 22008 bytes 04-MatrixAddition (pthread)/matAddThread2 | Bin 21216 -> 0 bytes 04-MatrixAddition (pthread)/matAddThread2.c | 72 -------------------- 3 files changed, 72 deletions(-) delete mode 100644 04-MatrixAddition (pthread)/matAddThread2 delete mode 100644 04-MatrixAddition (pthread)/matAddThread2.c diff --git a/04-MatrixAddition (pthread)/matAddThread b/04-MatrixAddition (pthread)/matAddThread index 4443b91ad240e4ad98e464b7faaa1a5d83d2663a..d1d320dda458f746d66406a9ed123fd3c380f277 100644 GIT binary patch delta 49 zcmV-10M7sTs{#0{0kCKT6ryWOwbMHYmVN{WcZ4%50v}*A4zqj%8Z!ZJvzIoP1p(Q! HFFeT^+ENj^ delta 49 zcmV-10M7sTs{#0{0kCKT6y7)Q#PDJ)fArE7NNh&Af39pfNV9wc8Z!ZLvzIoP1p(W$ HFFeT^Pj3~@ diff --git a/04-MatrixAddition (pthread)/matAddThread2 b/04-MatrixAddition (pthread)/matAddThread2 deleted file mode 100644 index 3b40ef695c92be484c0948f8322cc7b806d69cf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21216 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 -#include -#include - -#define NUM_THREADS 4 - -int *matrix1; -int *matrix2; -int *result; -int num_rows; -int num_cols; - -void *matrix_addition(void *arg) { - int thread_id = *(int *)arg; - int i, j; - for (i = thread_id; i < num_rows; i += NUM_THREADS) { - for (j = 0; j < num_cols; j++) { - int index = i * num_cols + j; - result[index] = matrix1[index] + matrix2[index]; - } - } - pthread_exit(NULL); -} - -int main() { - int i, j; - num_rows = 3; - num_cols = 3; - - // Allocate memory for matrices - matrix1 = malloc(num_rows * num_cols * sizeof(int)); - matrix2 = malloc(num_rows * num_cols * sizeof(int)); - result = malloc(num_rows * num_cols * sizeof(int)); - - // Initialize matrices - for (i = 0; i < num_rows; i++) { - for (j = 0; j < num_cols; j++) { - int index = i * num_cols + j; - matrix1[index] = rand() % 10; - matrix2[index] = rand() % 10; - } - } - - // Create threads - pthread_t threads[NUM_THREADS]; - int thread_ids[NUM_THREADS]; - for (i = 0; i < NUM_THREADS; i++) { - thread_ids[i] = i; - pthread_create(&threads[i], NULL, matrix_addition, &thread_ids[i]); - } - - // Join threads - for (i = 0; i < NUM_THREADS; i++) { - pthread_join(threads[i], NULL); - } - - // Print result matrix - printf("Result matrix:\n"); - for (i = 0; i < num_rows; i++) { - for (j = 0; j < num_cols; j++) { - printf("%d ", result[i * num_cols + j]); - } - printf("\n"); - } - - // Free memory - free(matrix1); - free(matrix2); - free(result); - - return 0; -}