ADD file via upload

main
pc9ha2xvl 2 months ago
parent 9f8c913064
commit 8794c1cd1c

@ -0,0 +1,56 @@
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 1024
void matmul(float** A, float** B, float** C, int n) {
int i,j,k;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
C[i][j] = 0;
for (k = 0; k < n; k++) {
C[i][j] += A[i][k] * B[k][j];
}
}
}
}
int main() {
srand(time(NULL));
float** A = (float**)malloc(SIZE * sizeof(float*));
float** B = (float**)malloc(SIZE * sizeof(float*));
float** C = (float**)malloc(SIZE * sizeof(float*));
int i;
for (i = 0; i < SIZE; i++) {
A[i] = (float*)malloc(SIZE * sizeof(float));
B[i] = (float*)malloc(SIZE * sizeof(float));
C[i] = (float*)malloc(SIZE * sizeof(float));
}
int j;
for (i = 0; i < SIZE; i++) {
for (j = 0; j < SIZE; j++) {
A[i][j] = rand() % 100;
B[i][j] = rand() % 100;
}
}
clock_t start = clock();
matmul(A, B, C, SIZE);
clock_t end = clock();
double time_taken = (double)(end - start) / CLOCKS_PER_SEC;
printf(" %f s\n", time_taken);
for (i = 0; i < SIZE; i++) {
free(A[i]);
free(B[i]);
free(C[i]);
}
free(A);
free(B);
free(C);
return 0;
}
Loading…
Cancel
Save