Skip to content

Commit aa6afe6

Browse files
A complete test for LDA
1 parent ca4e231 commit aa6afe6

23 files changed

+91
-75
lines changed

src/data/Matrix_A.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
1
2-
[ 51180069.000000 ]
1+
1
2+
[ 51180069.000000 ]

src/data/Matrix_A_1D.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
3
2-
[ 1, 2, 1 ]
3-
[ 3, 4, 1 ]
4-
[ 0, 0, 1 ]
1+
3
2+
[ 1, 2, 1 ]
3+
[ 3, 4, 1 ]
4+
[ 0, 0, 1 ]

src/data/Matrix_A_1D_2.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
3
2+
[ 1, 10, 100]
3+
[ 10, 10, 100]
4+
[ 100, 100, 100]

src/data/Matrix_B.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
1
2-
[ 41088273.000000 ]
1+
1
2+
[ 41088273.000000 ]

src/data/Matrix_B_1D.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
3
2-
[ 0, 1, 3 ]
3-
[ 0, 0, 0 ]
4-
[ 3, 0, 3]
1+
3
2+
[ 0, 1, 3 ]
3+
[ 0, 0, 0 ]
4+
[ 3, 0, 3]

src/data/Matrix_B_1D_2.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
3
2+
[ 1, 0, 0 ]
3+
[ 0, 1, 0 ]
4+
[ 0, 0, 1 ]

src/data/Matrix_C.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
1
2-
[ 57292320.000000 ]
1+
1
2+
[ 57292320.000000 ]

src/data/Matrix_D.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
1
2-
[ 57292320.000000 ]
1+
1
2+
[ 57292320.000000 ]

src/data/Matrix_E.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
1
2-
[ 57292320.000000 ]
1+
1
2+
[ 57292320.000000 ]

src/data/Matrix_F.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
1
2-
[ 57292320.000000 ]
1+
1
2+
[ 57292320.000000 ]

src/data/Matrix_G.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
1
2-
[ 57292320.000000 ]
1+
1
2+
[ 57292320.000000 ]

src/data/benchmark_modulo_Barrett.txt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
256 0.406682
2-
512 3.161513
3-
1024 28.813085
4-
256 0.360843
5-
512 3.050652
6-
1024 27.503507
7-
256 0.221791
8-
512 1.843640
9-
1024 16.366830
10-
256 0.216918
11-
512 1.796933
12-
1024 14.343204
1+
256 0.406682
2+
512 3.161513
3+
1024 28.813085
4+
256 0.360843
5+
512 3.050652
6+
1024 27.503507
7+
256 0.221791
8+
512 1.843640
9+
1024 16.366830
10+
256 0.216918
11+
512 1.796933
12+
1024 14.343204

src/data/benchmark_modulo_SIMD1.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
256 0.209930
2-
512 1.676433
3-
1024 13.266996
1+
256 0.209930
2+
512 1.676433
3+
1024 13.266996

src/data/benchmark_modulo_SIMD2.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
256 0.194404
2-
512 1.580489
3-
1024 12.600809
1+
256 0.194404
2+
512 1.580489
3+
1024 12.600809

src/data/benchmark_modulo_SIMD3.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
256 0.209721
2-
512 1.620673
3-
1024 12.867291
1+
256 0.209721
2+
512 1.620673
3+
1024 12.867291

src/data/benchmark_modulo_naive.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
256 0.160717
2-
512 1.262561
3-
1024 10.392541
1+
256 0.160717
2+
512 1.262561
3+
1024 10.392541

src/data/benchmark_order_ijk.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
256 0.120296
2-
512 1.062440
3-
1024 10.452757
1+
256 0.120296
2+
512 1.062440
3+
1024 10.452757

src/data/benchmark_order_ikj.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
256 0.111407
2-
512 0.900301
3-
1024 7.632323
1+
256 0.111407
2+
512 0.900301
3+
1024 7.632323

src/data/benchmark_order_jik.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
256 0.116215
2-
512 0.927812
3-
1024 10.074881
1+
256 0.116215
2+
512 0.927812
3+
1024 10.074881

src/data/benchmark_order_jki.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
256 0.129568
2-
512 1.156672
3-
1024 29.783366
1+
256 0.129568
2+
512 1.156672
3+
1024 29.783366

src/data/benchmark_order_kij.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
256 0.111931
2-
512 0.919294
3-
1024 7.818451
1+
256 0.111931
2+
512 0.919294
3+
1024 7.818451

src/data/benchmark_order_kji.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
256 0.129981
2-
512 1.088789
3-
1024 29.408653
1+
256 0.129981
2+
512 1.088789
3+
1024 29.408653

src/main_test.c

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,7 @@ int main(int argc, char** argv){
218218
int blocksize = get_blocksize(bitsize_p, n);
219219
printf("blocksize = %d \n", blocksize);
220220
double** A = random_matrix_2D(n, p);
221+
221222
double** B = random_matrix_2D(n, p);
222223

223224
double* A_1D = convert_2D_to_1D(A, n);
@@ -252,33 +253,40 @@ int main(int argc, char** argv){
252253
// Testing cblas_dgemm's lda ldb and ldc parameters.
253254
int n;
254255

255-
double** A = read_matrix("data/Matrix_A_1D.txt", &n);
256-
double** B = read_matrix("data/Matrix_B_1D.txt", &n);
256+
double** A = read_matrix("data/Matrix_A_1D_2.txt", &n);
257+
double** B = read_matrix("data/Matrix_B_1D_2.txt", &n);
257258
double* A_1D = convert_2D_to_1D(A, n);
258-
double* B_1D = convert_2D_to_1D(A, n);
259+
double* B_1D = convert_2D_to_1D(B, n);
259260
double* C = zero_matrix_1D(n*n);
260261
double* D = zero_matrix_1D(n*n);
261-
double** E = zero_matrix_2D(n);
262+
double* E = zero_matrix_1D(n*n);
263+
264+
printf("A[%d] = %f \n", n*n, A_1D[n*n]);
265+
printf("A[%d] = %f \n", n*n+1, A_1D[n*n+1]);
266+
A_1D[n*n] = -1;
267+
print_matrix_1D(A_1D, n);
268+
print_matrix_1D(B_1D, n);
262269

263-
cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans,n,n,n, 1, A_1D, 900, B_1D, 3, 1, C,3);
264-
cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans,n,n,n, 1, A_1D, 6, B_1D, 3, 1, D,3);
265-
mp_ijk(A, B, E, n);
270+
cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans,n,n,n, 1, A_1D, 1+n, B_1D, n, 1, C,n);
271+
cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans,n,n,n, 1, A_1D, 2*n, B_1D, n, 1, D,n);
272+
cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans,n,n,n, 1, A_1D, n, B_1D, n, 1, E,n);
266273

274+
printf("LDA = %d \n", n+1);
267275
print_matrix_1D(C, n);
268-
printf("\n");
276+
printf("LDA = %d \n", 2*n);
269277
print_matrix_1D(D, n);
270-
printf("\n");
271-
print_matrix_2D(E, n);
278+
printf("LDA = %d \n", n);
279+
print_matrix_1D(E, n);
272280

273281

274282
delete_matrix_2D(&A, n);
275283
delete_matrix_2D(&B, n);
276-
delete_matrix_2D(&E, n);
277284

278285
delete_matrix_1D(&A_1D, n);
279286
delete_matrix_1D(&B_1D, n);
280287
delete_matrix_1D(&C, n);
281288
delete_matrix_1D(&D, n);
289+
delete_matrix_1D(&E, n);
282290

283291
}
284292

0 commit comments

Comments
 (0)