Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 6fdb2e97 authored by Mathieu Faverge's avatar Mathieu Faverge
Browse files

Merge branch 'hotfix-testing-std-int-overflow' into 'master'

testing: cast matrices size multiplication to size_t to avoid int overflow

See merge request !513
parents b3bcf76d e1f1dea5
No related branches found
No related tags found
1 merge request!513testing: cast matrices size multiplication to size_t to avoid int overflow
Showing
with 71 additions and 71 deletions
...@@ -112,7 +112,7 @@ testing_zcesca_std( run_arg_list_t *args, int check ) ...@@ -112,7 +112,7 @@ testing_zcesca_std( run_arg_list_t *args, int check )
CHAMELEON_Set( CHAMELEON_TILE_SIZE, nb ); CHAMELEON_Set( CHAMELEON_TILE_SIZE, nb );
/* Create the matrices */ /* Create the matrices */
A = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
/* Fill the matrix with random values */ /* Fill the matrix with random values */
CHAMELEON_zplrnt( M, N, A, LDA, seedA ); CHAMELEON_zplrnt( M, N, A, LDA, seedA );
......
...@@ -83,7 +83,7 @@ int check_zmatrices_std( run_arg_list_t *args, cham_uplo_t uplo, int M, int N, C ...@@ -83,7 +83,7 @@ int check_zmatrices_std( run_arg_list_t *args, cham_uplo_t uplo, int M, int N, C
double Anorm, Rnorm, result; double Anorm, Rnorm, result;
cham_fixdbl_t eps = testing_getaccuracy(); cham_fixdbl_t eps = testing_getaccuracy();
double *work = (double *)malloc( LDA*N*sizeof(double) ); double *work = (double *)malloc( (size_t) LDA*N*sizeof(double) );
/* Computes the norms */ /* Computes the norms */
if ( uplo == ChamUpperLower ) { if ( uplo == ChamUpperLower ) {
...@@ -526,9 +526,9 @@ int check_zsum ( run_arg_list_t *args, cham_uplo_t uplo, cham_trans_t trans, CHA ...@@ -526,9 +526,9 @@ int check_zsum ( run_arg_list_t *args, cham_uplo_t uplo, cham_trans_t trans, CHA
cham_uplo_t uploA = uplo; cham_uplo_t uploA = uplo;
if ( rank == 0 ) { if ( rank == 0 ) {
A = malloc( LDA*An*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*An*sizeof(CHAMELEON_Complex64_t) );
Bref = malloc( LDB*N* sizeof(CHAMELEON_Complex64_t) ); Bref = malloc( (size_t) LDB*N* sizeof(CHAMELEON_Complex64_t) );
Bcham = malloc( LDB*N* sizeof(CHAMELEON_Complex64_t) ); Bcham = malloc( (size_t) LDB*N* sizeof(CHAMELEON_Complex64_t) );
} }
if ( uplo != ChamUpperLower && trans != ChamNoTrans ) { if ( uplo != ChamUpperLower && trans != ChamNoTrans ) {
...@@ -704,8 +704,8 @@ int check_zrankk_std( run_arg_list_t *args, int M, int N, int K, CHAMELEON_Compl ...@@ -704,8 +704,8 @@ int check_zrankk_std( run_arg_list_t *args, int M, int N, int K, CHAMELEON_Compl
Anorm = LAPACKE_zlange( LAPACK_COL_MAJOR, 'F', M, N, A, LDA ); Anorm = LAPACKE_zlange( LAPACK_COL_MAJOR, 'F', M, N, A, LDA );
/* check rank of A using SVD, value K+1 of Sigma must be small enough */ /* check rank of A using SVD, value K+1 of Sigma must be small enough */
CHAMELEON_Complex64_t *U = malloc( M * M * sizeof(CHAMELEON_Complex64_t) ); CHAMELEON_Complex64_t *U = malloc( (size_t) M * M * sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_Complex64_t *VT = malloc( N * N * sizeof(CHAMELEON_Complex64_t) ); CHAMELEON_Complex64_t *VT = malloc( (size_t) N * N * sizeof(CHAMELEON_Complex64_t) );
double *S = malloc( minMN * sizeof(double) ); double *S = malloc( minMN * sizeof(double) );
double *work = malloc( minMN * sizeof(double) ); double *work = malloc( minMN * sizeof(double) );
...@@ -769,7 +769,7 @@ int check_zrankk( run_arg_list_t *args, int K, CHAM_desc_t *descA ) ...@@ -769,7 +769,7 @@ int check_zrankk( run_arg_list_t *args, int K, CHAM_desc_t *descA )
/* Converts the matrices to LAPACK layout in order to check values on the main process */ /* Converts the matrices to LAPACK layout in order to check values on the main process */
CHAMELEON_Complex64_t *A = NULL; CHAMELEON_Complex64_t *A = NULL;
if ( rank == 0 ) { if ( rank == 0 ) {
A = malloc( M*N*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) M*N*sizeof(CHAMELEON_Complex64_t) );
} }
CHAMELEON_Desc2Lap( ChamUpperLower, descA, A, LDA ); CHAMELEON_Desc2Lap( ChamUpperLower, descA, A, LDA );
......
...@@ -432,10 +432,10 @@ int check_zsymm( run_arg_list_t *args, cham_mtxtype_t matrix_type, cham_side_t s ...@@ -432,10 +432,10 @@ int check_zsymm( run_arg_list_t *args, cham_mtxtype_t matrix_type, cham_side_t s
int LDC = M; int LDC = M;
if ( rank == 0 ) { if ( rank == 0 ) {
A = ( CHAMELEON_Complex64_t * ) malloc( LDA*An*sizeof( CHAMELEON_Complex64_t ) ); A = ( CHAMELEON_Complex64_t * ) malloc( (size_t) LDA*An*sizeof( CHAMELEON_Complex64_t ) );
B = ( CHAMELEON_Complex64_t * ) malloc( LDB*N *sizeof( CHAMELEON_Complex64_t ) ); B = ( CHAMELEON_Complex64_t * ) malloc( (size_t) LDB*N *sizeof( CHAMELEON_Complex64_t ) );
Cref = ( CHAMELEON_Complex64_t * ) malloc( LDC*N *sizeof( CHAMELEON_Complex64_t ) ); Cref = ( CHAMELEON_Complex64_t * ) malloc( (size_t) LDC*N *sizeof( CHAMELEON_Complex64_t ) );
C = ( CHAMELEON_Complex64_t * ) malloc( LDC*N *sizeof( CHAMELEON_Complex64_t ) ); C = ( CHAMELEON_Complex64_t * ) malloc( (size_t) LDC*N *sizeof( CHAMELEON_Complex64_t ) );
} }
/* Creates the LAPACK version of the matrices */ /* Creates the LAPACK version of the matrices */
...@@ -691,12 +691,12 @@ int check_zsyrk( run_arg_list_t *args, cham_mtxtype_t matrix_type, cham_uplo_t u ...@@ -691,12 +691,12 @@ int check_zsyrk( run_arg_list_t *args, cham_mtxtype_t matrix_type, cham_uplo_t u
LDC = N; LDC = N;
if ( rank == 0 ) { if ( rank == 0 ) {
A = (CHAMELEON_Complex64_t *)malloc( LDA * An * sizeof(CHAMELEON_Complex64_t) ); A = (CHAMELEON_Complex64_t *)malloc( (size_t) LDA * An * sizeof(CHAMELEON_Complex64_t) );
if ( descB != NULL ) { if ( descB != NULL ) {
B = (CHAMELEON_Complex64_t *)malloc( LDB * Bn * sizeof(CHAMELEON_Complex64_t) ); B = (CHAMELEON_Complex64_t *)malloc( (size_t) LDB * Bn * sizeof(CHAMELEON_Complex64_t) );
} }
Cref = (CHAMELEON_Complex64_t *)malloc( LDC * N * sizeof(CHAMELEON_Complex64_t) ); Cref = (CHAMELEON_Complex64_t *)malloc( (size_t) LDC * N * sizeof(CHAMELEON_Complex64_t) );
C = (CHAMELEON_Complex64_t *)malloc( LDC * N * sizeof(CHAMELEON_Complex64_t) ); C = (CHAMELEON_Complex64_t *)malloc( (size_t) LDC * N * sizeof(CHAMELEON_Complex64_t) );
} }
/* Creates the LAPACK version of the matrices */ /* Creates the LAPACK version of the matrices */
...@@ -899,9 +899,9 @@ int check_ztrmm( run_arg_list_t *args, int check_func, cham_side_t side, cham_up ...@@ -899,9 +899,9 @@ int check_ztrmm( run_arg_list_t *args, int check_func, cham_side_t side, cham_up
int LDB = M; int LDB = M;
if ( rank == 0 ) { if ( rank == 0 ) {
A = (CHAMELEON_Complex64_t *)malloc( LDA*An*sizeof(CHAMELEON_Complex64_t) ); A = (CHAMELEON_Complex64_t *)malloc( (size_t) LDA*An*sizeof(CHAMELEON_Complex64_t) );
Bref = (CHAMELEON_Complex64_t *)malloc( LDB*N *sizeof(CHAMELEON_Complex64_t) ); Bref = (CHAMELEON_Complex64_t *)malloc( (size_t) LDB*N *sizeof(CHAMELEON_Complex64_t) );
B = (CHAMELEON_Complex64_t *)malloc( LDB*N *sizeof(CHAMELEON_Complex64_t) ); B = (CHAMELEON_Complex64_t *)malloc( (size_t) LDB*N *sizeof(CHAMELEON_Complex64_t) );
} }
/* Creates the LAPACK version of the matrices */ /* Creates the LAPACK version of the matrices */
......
...@@ -236,8 +236,8 @@ int check_zgesvd( run_arg_list_t *args, cham_job_t jobu, cham_job_t jobvt, CHAM_ ...@@ -236,8 +236,8 @@ int check_zgesvd( run_arg_list_t *args, cham_job_t jobu, cham_job_t jobvt, CHAM_
int LDA = descA->lm; int LDA = descA->lm;
if ( rank == 0 ) { if ( rank == 0 ) {
Ainit = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); Ainit = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
A = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
} }
CHAMELEON_zDesc2Lap( ChamUpperLower, descAinit, Ainit, LDA ); CHAMELEON_zDesc2Lap( ChamUpperLower, descAinit, Ainit, LDA );
......
...@@ -147,8 +147,8 @@ testing_zgeadd_std( run_arg_list_t *args, int check ) ...@@ -147,8 +147,8 @@ testing_zgeadd_std( run_arg_list_t *args, int check )
An = (trans == ChamNoTrans)? N : M; An = (trans == ChamNoTrans)? N : M;
/* Create the matrices */ /* Create the matrices */
A = malloc( LDA*An*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*An*sizeof(CHAMELEON_Complex64_t) );
B = malloc( LDB*N *sizeof(CHAMELEON_Complex64_t) ); B = malloc( (size_t) LDB*N *sizeof(CHAMELEON_Complex64_t) );
/* Fill the matrix with random values */ /* Fill the matrix with random values */
CHAMELEON_zplrnt( Am, An, A, LDA, seedA ); CHAMELEON_zplrnt( Am, An, A, LDA, seedA );
...@@ -162,7 +162,7 @@ testing_zgeadd_std( run_arg_list_t *args, int check ) ...@@ -162,7 +162,7 @@ testing_zgeadd_std( run_arg_list_t *args, int check )
/* Check the solution */ /* Check the solution */
if ( check ) { if ( check ) {
CHAMELEON_Complex64_t *B0 = malloc( LDB*N *sizeof(CHAMELEON_Complex64_t) ); CHAMELEON_Complex64_t *B0 = malloc( (size_t) LDB*N *sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_zplrnt( M, N, B0, LDB, seedB ); CHAMELEON_zplrnt( M, N, B0, LDB, seedB );
hres += check_zsum_std( args, ChamUpperLower, trans, M, N, alpha, A, LDA, beta, B0, B, LDB ); hres += check_zsum_std( args, ChamUpperLower, trans, M, N, alpha, A, LDA, beta, B0, B, LDB );
......
...@@ -135,7 +135,7 @@ testing_zgelqf_std( run_arg_list_t *args, int check ) ...@@ -135,7 +135,7 @@ testing_zgelqf_std( run_arg_list_t *args, int check )
} }
/* Creates the matrices */ /* Creates the matrices */
A = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_Alloc_Workspace_zgels( M, N, &descT, P, Q ); CHAMELEON_Alloc_Workspace_zgels( M, N, &descT, P, Q );
/* Fills the matrix with random values */ /* Fills the matrix with random values */
...@@ -149,8 +149,8 @@ testing_zgelqf_std( run_arg_list_t *args, int check ) ...@@ -149,8 +149,8 @@ testing_zgelqf_std( run_arg_list_t *args, int check )
/* Checks the factorisation and orthogonality */ /* Checks the factorisation and orthogonality */
if ( check ) { if ( check ) {
CHAMELEON_Complex64_t *Qlap = malloc( N*N*sizeof(CHAMELEON_Complex64_t) ); CHAMELEON_Complex64_t *Qlap = malloc( (size_t) N*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_Complex64_t *A0 = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); CHAMELEON_Complex64_t *A0 = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_zplrnt( M, N, A0, LDA, seedA ); CHAMELEON_zplrnt( M, N, A0, LDA, seedA );
......
...@@ -144,7 +144,7 @@ testing_zgelqf_hqr_std( run_arg_list_t *args, int check ) ...@@ -144,7 +144,7 @@ testing_zgelqf_hqr_std( run_arg_list_t *args, int check )
CHAMELEON_Set( CHAMELEON_INNER_BLOCK_SIZE, ib ); CHAMELEON_Set( CHAMELEON_INNER_BLOCK_SIZE, ib );
/* Creates the matrices */ /* Creates the matrices */
A = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_Alloc_Workspace_zgels( M, N, &descTS, P, Q ); CHAMELEON_Alloc_Workspace_zgels( M, N, &descTS, P, Q );
CHAMELEON_Alloc_Workspace_zgels( M, N, &descTT, P, Q ); CHAMELEON_Alloc_Workspace_zgels( M, N, &descTT, P, Q );
...@@ -167,8 +167,8 @@ testing_zgelqf_hqr_std( run_arg_list_t *args, int check ) ...@@ -167,8 +167,8 @@ testing_zgelqf_hqr_std( run_arg_list_t *args, int check )
/* Checks the factorisation and orthogonality */ /* Checks the factorisation and orthogonality */
if ( check ) { if ( check ) {
CHAMELEON_Complex64_t *Qlap = malloc( N*N*sizeof(CHAMELEON_Complex64_t) ); CHAMELEON_Complex64_t *Qlap = malloc( (size_t) N*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_Complex64_t *A0 = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); CHAMELEON_Complex64_t *A0 = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_zplrnt( M, N, A0, LDA, seedA ); CHAMELEON_zplrnt( M, N, A0, LDA, seedA );
......
...@@ -181,8 +181,8 @@ testing_zgels_std( run_arg_list_t *args, int check ) ...@@ -181,8 +181,8 @@ testing_zgels_std( run_arg_list_t *args, int check )
} }
/* Creates the matrices */ /* Creates the matrices */
A = malloc( LDA*N* sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N* sizeof(CHAMELEON_Complex64_t) );
X = malloc( LDB*NRHS*sizeof(CHAMELEON_Complex64_t) ); X = malloc( (size_t) LDB*NRHS*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_Alloc_Workspace_zgels( M, N, &descT, P, Q ); CHAMELEON_Alloc_Workspace_zgels( M, N, &descT, P, Q );
/* Fills the matrix with random values */ /* Fills the matrix with random values */
...@@ -198,8 +198,8 @@ testing_zgels_std( run_arg_list_t *args, int check ) ...@@ -198,8 +198,8 @@ testing_zgels_std( run_arg_list_t *args, int check )
if ( check ) { if ( check ) {
CHAMELEON_Complex64_t *A0, *B; CHAMELEON_Complex64_t *A0, *B;
A0 = malloc( LDA*N* sizeof(CHAMELEON_Complex64_t) ); A0 = malloc( (size_t) LDA*N* sizeof(CHAMELEON_Complex64_t) );
B = malloc( LDB*NRHS*sizeof(CHAMELEON_Complex64_t) ); B = malloc( (size_t) LDB*NRHS*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_zplrnt( M, N, A0, LDA, seedA ); CHAMELEON_zplrnt( M, N, A0, LDA, seedA );
CHAMELEON_zplrnt( maxMN, NRHS, B, LDB, seedB ); CHAMELEON_zplrnt( maxMN, NRHS, B, LDB, seedB );
......
...@@ -184,8 +184,8 @@ testing_zgels_hqr_std( run_arg_list_t *args, int check ) ...@@ -184,8 +184,8 @@ testing_zgels_hqr_std( run_arg_list_t *args, int check )
CHAMELEON_Set( CHAMELEON_INNER_BLOCK_SIZE, ib ); CHAMELEON_Set( CHAMELEON_INNER_BLOCK_SIZE, ib );
/* Creates the matrices */ /* Creates the matrices */
A = malloc( LDA*N* sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N* sizeof(CHAMELEON_Complex64_t) );
X = malloc( LDB*NRHS*sizeof(CHAMELEON_Complex64_t) ); X = malloc( (size_t) LDB*NRHS*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_Alloc_Workspace_zgels( M, N, &descTS, P, Q ); CHAMELEON_Alloc_Workspace_zgels( M, N, &descTS, P, Q );
CHAMELEON_Alloc_Workspace_zgels( M, N, &descTT, P, Q ); CHAMELEON_Alloc_Workspace_zgels( M, N, &descTT, P, Q );
...@@ -211,8 +211,8 @@ testing_zgels_hqr_std( run_arg_list_t *args, int check ) ...@@ -211,8 +211,8 @@ testing_zgels_hqr_std( run_arg_list_t *args, int check )
if ( check ) { if ( check ) {
CHAMELEON_Complex64_t *A0, *B; CHAMELEON_Complex64_t *A0, *B;
A0 = malloc( LDA*N* sizeof(CHAMELEON_Complex64_t) ); A0 = malloc( (size_t) LDA*N* sizeof(CHAMELEON_Complex64_t) );
B = malloc( LDB*NRHS*sizeof(CHAMELEON_Complex64_t) ); B = malloc( (size_t) LDB*NRHS*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_zplrnt( M, N, A0, LDA, seedA ); CHAMELEON_zplrnt( M, N, A0, LDA, seedA );
CHAMELEON_zplrnt( maxMN, NRHS, B, LDB, seedB ); CHAMELEON_zplrnt( maxMN, NRHS, B, LDB, seedB );
......
...@@ -184,9 +184,9 @@ testing_zgemm_std( run_arg_list_t *args, int check ) ...@@ -184,9 +184,9 @@ testing_zgemm_std( run_arg_list_t *args, int check )
} }
/* Create the matrices */ /* Create the matrices */
A = malloc( LDA*An*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*An*sizeof(CHAMELEON_Complex64_t) );
B = malloc( LDB*Bn*sizeof(CHAMELEON_Complex64_t) ); B = malloc( (size_t) LDB*Bn*sizeof(CHAMELEON_Complex64_t) );
C = malloc( LDC*N*sizeof(CHAMELEON_Complex64_t) ); C = malloc( (size_t) LDC*N*sizeof(CHAMELEON_Complex64_t) );
/* Fill the matrices with random values */ /* Fill the matrices with random values */
CHAMELEON_zplrnt( Am, An, A, LDA, seedA ); CHAMELEON_zplrnt( Am, An, A, LDA, seedA );
...@@ -222,7 +222,7 @@ testing_zgemm_std( run_arg_list_t *args, int check ) ...@@ -222,7 +222,7 @@ testing_zgemm_std( run_arg_list_t *args, int check )
/* Check the solution */ /* Check the solution */
if ( check ) { if ( check ) {
CHAMELEON_Complex64_t *Cinit; CHAMELEON_Complex64_t *Cinit;
Cinit = malloc( LDC*N*sizeof(CHAMELEON_Complex64_t) ); Cinit = malloc( (size_t) LDC*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_zplrnt( M, N, Cinit, LDC, seedC ); CHAMELEON_zplrnt( M, N, Cinit, LDC, seedC );
hres += check_zgemm_std( args, transA, transB, alpha, M, N, K, A, LDA, B, LDB, beta, Cinit, C, LDC ); hres += check_zgemm_std( args, transA, transB, alpha, M, N, K, A, LDA, B, LDB, beta, Cinit, C, LDC );
......
...@@ -168,7 +168,7 @@ testing_zgenm2_std( run_arg_list_t *args, int check ) ...@@ -168,7 +168,7 @@ testing_zgenm2_std( run_arg_list_t *args, int check )
#endif #endif
/* Creates the matrix */ /* Creates the matrix */
A = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
/* Fills the matrix with random values */ /* Fills the matrix with random values */
hres = CHAMELEON_zlatms( M, N, ChamDistUniform, seedA, ChamNonsymPosv, D, 0, cond, 0., A, LDA ); hres = CHAMELEON_zlatms( M, N, ChamDistUniform, seedA, ChamNonsymPosv, D, 0, cond, 0., A, LDA );
......
...@@ -162,8 +162,8 @@ testing_zgepdf_qdwh_std( run_arg_list_t *args, int check ) ...@@ -162,8 +162,8 @@ testing_zgepdf_qdwh_std( run_arg_list_t *args, int check )
} }
/* Creates the matrix */ /* Creates the matrix */
A = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
H = malloc( LDB*N*sizeof(CHAMELEON_Complex64_t) ); H = malloc( (size_t) LDB*N*sizeof(CHAMELEON_Complex64_t) );
/* Fills the matrix with random values */ /* Fills the matrix with random values */
hres = CHAMELEON_zlatms( M, N, ChamDistUniform, seedA, ChamNonsymPosv, NULL, mode, cond, 1., A, LDA ); hres = CHAMELEON_zlatms( M, N, ChamDistUniform, seedA, ChamNonsymPosv, NULL, mode, cond, 1., A, LDA );
...@@ -178,7 +178,7 @@ testing_zgepdf_qdwh_std( run_arg_list_t *args, int check ) ...@@ -178,7 +178,7 @@ testing_zgepdf_qdwh_std( run_arg_list_t *args, int check )
* with the call to CHAMELEON_zgepdf_qdwh). * with the call to CHAMELEON_zgepdf_qdwh).
*/ */
if ( check ) { if ( check ) {
A0 = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); A0 = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_zlacpy( ChamUpperLower, M, N, A, LDA, A0, LDA ); CHAMELEON_zlacpy( ChamUpperLower, M, N, A, LDA, A0, LDA );
} }
......
...@@ -135,7 +135,7 @@ testing_zgeqrf_std( run_arg_list_t *args, int check ) ...@@ -135,7 +135,7 @@ testing_zgeqrf_std( run_arg_list_t *args, int check )
} }
/* Creates the matrices */ /* Creates the matrices */
A = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_Alloc_Workspace_zgels( M, N, &descT, P, Q ); CHAMELEON_Alloc_Workspace_zgels( M, N, &descT, P, Q );
/* Fills the matrix with random values */ /* Fills the matrix with random values */
...@@ -149,8 +149,8 @@ testing_zgeqrf_std( run_arg_list_t *args, int check ) ...@@ -149,8 +149,8 @@ testing_zgeqrf_std( run_arg_list_t *args, int check )
/* Checks the factorisation and orthogonality */ /* Checks the factorisation and orthogonality */
if ( check ) { if ( check ) {
CHAMELEON_Complex64_t *Qlap = malloc( M*M*sizeof(CHAMELEON_Complex64_t) ); CHAMELEON_Complex64_t *Qlap = malloc( (size_t) M*M*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_Complex64_t *A0 = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); CHAMELEON_Complex64_t *A0 = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_zplrnt( M, N, A0, LDA, seedA ); CHAMELEON_zplrnt( M, N, A0, LDA, seedA );
......
...@@ -144,7 +144,7 @@ testing_zgeqrf_hqr_std( run_arg_list_t *args, int check ) ...@@ -144,7 +144,7 @@ testing_zgeqrf_hqr_std( run_arg_list_t *args, int check )
CHAMELEON_Set( CHAMELEON_INNER_BLOCK_SIZE, ib ); CHAMELEON_Set( CHAMELEON_INNER_BLOCK_SIZE, ib );
/* Creates the matrices */ /* Creates the matrices */
A = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_Alloc_Workspace_zgels( M, N, &descTS, P, Q ); CHAMELEON_Alloc_Workspace_zgels( M, N, &descTS, P, Q );
CHAMELEON_Alloc_Workspace_zgels( M, N, &descTT, P, Q ); CHAMELEON_Alloc_Workspace_zgels( M, N, &descTT, P, Q );
...@@ -167,8 +167,8 @@ testing_zgeqrf_hqr_std( run_arg_list_t *args, int check ) ...@@ -167,8 +167,8 @@ testing_zgeqrf_hqr_std( run_arg_list_t *args, int check )
/* Checks the factorisation and orthogonality */ /* Checks the factorisation and orthogonality */
if ( check ) { if ( check ) {
CHAMELEON_Complex64_t *Qlap = malloc( M*M*sizeof(CHAMELEON_Complex64_t) ); CHAMELEON_Complex64_t *Qlap = malloc( (size_t) M*M*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_Complex64_t *A0 = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); CHAMELEON_Complex64_t *A0 = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_zplrnt( M, N, A0, LDA, seedA ); CHAMELEON_zplrnt( M, N, A0, LDA, seedA );
......
...@@ -124,8 +124,8 @@ testing_zgesv_nopiv_std( run_arg_list_t *args, int check ) ...@@ -124,8 +124,8 @@ testing_zgesv_nopiv_std( run_arg_list_t *args, int check )
CHAMELEON_Set( CHAMELEON_TILE_SIZE, nb ); CHAMELEON_Set( CHAMELEON_TILE_SIZE, nb );
/* Creates the matrices */ /* Creates the matrices */
A = malloc( LDA*N* sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N* sizeof(CHAMELEON_Complex64_t) );
X = malloc( LDB*NRHS*sizeof(CHAMELEON_Complex64_t) ); X = malloc( (size_t) LDB*NRHS*sizeof(CHAMELEON_Complex64_t) );
/* Fills the matrix with random values */ /* Fills the matrix with random values */
CHAMELEON_zplgtr( 0, ChamUpper, N, N, A, LDA, seedA ); CHAMELEON_zplgtr( 0, ChamUpper, N, N, A, LDA, seedA );
...@@ -142,8 +142,8 @@ testing_zgesv_nopiv_std( run_arg_list_t *args, int check ) ...@@ -142,8 +142,8 @@ testing_zgesv_nopiv_std( run_arg_list_t *args, int check )
if ( check ) { if ( check ) {
CHAMELEON_Complex64_t *A0, *B; CHAMELEON_Complex64_t *A0, *B;
A0 = malloc( LDA*N *sizeof(CHAMELEON_Complex64_t) ); A0 = malloc( (size_t) LDA*N *sizeof(CHAMELEON_Complex64_t) );
B = malloc( LDB*NRHS*sizeof(CHAMELEON_Complex64_t) ); B = malloc( (size_t) LDB*NRHS*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_zplgtr( 0, ChamUpper, N, N, A0, LDA, seedA ); CHAMELEON_zplgtr( 0, ChamUpper, N, N, A0, LDA, seedA );
CHAMELEON_zplgtr( bump, ChamLower, N, N, A0, LDA, seedA+1 ); CHAMELEON_zplgtr( bump, ChamLower, N, N, A0, LDA, seedA+1 );
CHAMELEON_zplrnt( N, NRHS, B, LDB, seedB ); CHAMELEON_zplrnt( N, NRHS, B, LDB, seedB );
......
...@@ -107,7 +107,7 @@ testing_zgesvd_desc( run_arg_list_t *args, int check ) ...@@ -107,7 +107,7 @@ testing_zgesvd_desc( run_arg_list_t *args, int check )
if ( (jobu == ChamAllVec) || (jobu == ChamSVec) ) { if ( (jobu == ChamAllVec) || (jobu == ChamSVec) ) {
Un = ( jobu == ChamSVec ) ? K : M; Un = ( jobu == ChamSVec ) ? K : M;
U = malloc( LDU*Un*sizeof(CHAMELEON_Complex64_t) ); U = malloc( (size_t) LDU*Un*sizeof(CHAMELEON_Complex64_t) );
} }
else { else {
U = NULL; U = NULL;
...@@ -115,7 +115,7 @@ testing_zgesvd_desc( run_arg_list_t *args, int check ) ...@@ -115,7 +115,7 @@ testing_zgesvd_desc( run_arg_list_t *args, int check )
if ( (jobvt == ChamAllVec) || (jobvt == ChamSVec) ) { if ( (jobvt == ChamAllVec) || (jobvt == ChamSVec) ) {
LDVt = ( jobvt == ChamSVec ) ? K : N; LDVt = ( jobvt == ChamSVec ) ? K : N;
Vt = malloc( LDVt*N*sizeof(CHAMELEON_Complex64_t) ); Vt = malloc( (size_t) LDVt*N*sizeof(CHAMELEON_Complex64_t) );
} }
else { else {
Vt = NULL; Vt = NULL;
...@@ -212,12 +212,12 @@ testing_zgesvd_std( run_arg_list_t *args, int check ) ...@@ -212,12 +212,12 @@ testing_zgesvd_std( run_arg_list_t *args, int check )
} }
/* Creates the matrices */ /* Creates the matrices */
A = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_Alloc_Workspace_zgesvd( M, N, &descT, 1, 1 ); CHAMELEON_Alloc_Workspace_zgesvd( M, N, &descT, 1, 1 );
if ( (jobu == ChamAllVec) || (jobu == ChamSVec) ) { if ( (jobu == ChamAllVec) || (jobu == ChamSVec) ) {
Un = ( jobu == ChamSVec ) ? K : M; Un = ( jobu == ChamSVec ) ? K : M;
U = malloc( LDU*Un*sizeof(CHAMELEON_Complex64_t) ); U = malloc( (size_t) LDU*Un*sizeof(CHAMELEON_Complex64_t) );
} }
else { else {
U = NULL; U = NULL;
...@@ -225,7 +225,7 @@ testing_zgesvd_std( run_arg_list_t *args, int check ) ...@@ -225,7 +225,7 @@ testing_zgesvd_std( run_arg_list_t *args, int check )
if ( (jobvt == ChamAllVec) || (jobvt == ChamSVec) ) { if ( (jobvt == ChamAllVec) || (jobvt == ChamSVec) ) {
LDVt = ( jobvt == ChamSVec ) ? K : N; LDVt = ( jobvt == ChamSVec ) ? K : N;
Vt = malloc( LDVt*N*sizeof(CHAMELEON_Complex64_t) ); Vt = malloc( (size_t) LDVt*N*sizeof(CHAMELEON_Complex64_t) );
} }
else { else {
Vt = NULL; Vt = NULL;
...@@ -250,7 +250,7 @@ testing_zgesvd_std( run_arg_list_t *args, int check ) ...@@ -250,7 +250,7 @@ testing_zgesvd_std( run_arg_list_t *args, int check )
* with the call to CHAMELEON_zgepdf_qdwh). * with the call to CHAMELEON_zgepdf_qdwh).
*/ */
if ( check ) { if ( check ) {
A0 = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); A0 = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_zlacpy( ChamUpperLower, M, N, A, LDA, A0, LDA ); CHAMELEON_zlacpy( ChamUpperLower, M, N, A, LDA, A0, LDA );
} }
......
...@@ -180,7 +180,7 @@ testing_zgetrf_std( run_arg_list_t *args, int check ) ...@@ -180,7 +180,7 @@ testing_zgetrf_std( run_arg_list_t *args, int check )
CHAMELEON_Set( CHAMELEON_TILE_SIZE, nb ); CHAMELEON_Set( CHAMELEON_TILE_SIZE, nb );
/* Creates the matrices */ /* Creates the matrices */
A = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
IPIV = malloc( minMN * sizeof(int) ); IPIV = malloc( minMN * sizeof(int) );
/* Fills the matrix with random values */ /* Fills the matrix with random values */
...@@ -216,7 +216,7 @@ testing_zgetrf_std( run_arg_list_t *args, int check ) ...@@ -216,7 +216,7 @@ testing_zgetrf_std( run_arg_list_t *args, int check )
#if !defined(CHAMELEON_SIMULATION) #if !defined(CHAMELEON_SIMULATION)
/* Checks the factorisation and residue */ /* Checks the factorisation and residue */
if ( check ) { if ( check ) {
CHAMELEON_Complex64_t *A0 = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); CHAMELEON_Complex64_t *A0 = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_zplrnt( M, N, A0, LDA, seedA ); CHAMELEON_zplrnt( M, N, A0, LDA, seedA );
/* Compute the permutation of A0: P * A0 */ /* Compute the permutation of A0: P * A0 */
......
...@@ -100,7 +100,7 @@ testing_zgetrf_nopiv_std( run_arg_list_t *args, int check ) ...@@ -100,7 +100,7 @@ testing_zgetrf_nopiv_std( run_arg_list_t *args, int check )
CHAMELEON_Set( CHAMELEON_TILE_SIZE, nb ); CHAMELEON_Set( CHAMELEON_TILE_SIZE, nb );
/* Creates the matrices */ /* Creates the matrices */
A = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
/* Fills the matrix with random values */ /* Fills the matrix with random values */
CHAMELEON_zplgtr( 0, ChamUpper, M, N, A, LDA, seedA ); CHAMELEON_zplgtr( 0, ChamUpper, M, N, A, LDA, seedA );
...@@ -114,7 +114,7 @@ testing_zgetrf_nopiv_std( run_arg_list_t *args, int check ) ...@@ -114,7 +114,7 @@ testing_zgetrf_nopiv_std( run_arg_list_t *args, int check )
/* Checks the factorisation and residue */ /* Checks the factorisation and residue */
if ( check ) { if ( check ) {
CHAMELEON_Complex64_t *A0 = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); CHAMELEON_Complex64_t *A0 = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_zplgtr( 0, ChamUpper, M, N, A0, LDA, seedA ); CHAMELEON_zplgtr( 0, ChamUpper, M, N, A0, LDA, seedA );
CHAMELEON_zplgtr( bump, ChamLower, M, N, A0, LDA, seedA+1 ); CHAMELEON_zplgtr( bump, ChamLower, M, N, A0, LDA, seedA+1 );
......
...@@ -116,8 +116,8 @@ testing_zgetrs_nopiv_std( run_arg_list_t *args, int check ) ...@@ -116,8 +116,8 @@ testing_zgetrs_nopiv_std( run_arg_list_t *args, int check )
CHAMELEON_Set( CHAMELEON_TILE_SIZE, nb ); CHAMELEON_Set( CHAMELEON_TILE_SIZE, nb );
/* Creates the matrices */ /* Creates the matrices */
A = malloc( LDA*N* sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N* sizeof(CHAMELEON_Complex64_t) );
X = malloc( LDB*NRHS*sizeof(CHAMELEON_Complex64_t) ); X = malloc( (size_t) LDB*NRHS*sizeof(CHAMELEON_Complex64_t) );
/* Fills the matrix with random values */ /* Fills the matrix with random values */
CHAMELEON_zplgtr( 0, ChamUpper, N, N, A, LDA, seedA ); CHAMELEON_zplgtr( 0, ChamUpper, N, N, A, LDA, seedA );
...@@ -135,8 +135,8 @@ testing_zgetrs_nopiv_std( run_arg_list_t *args, int check ) ...@@ -135,8 +135,8 @@ testing_zgetrs_nopiv_std( run_arg_list_t *args, int check )
/* Checks the factorisation and residue */ /* Checks the factorisation and residue */
if ( check ) { if ( check ) {
CHAMELEON_Complex64_t *A0 = malloc( LDA*N* sizeof(CHAMELEON_Complex64_t) ); CHAMELEON_Complex64_t *A0 = malloc( (size_t) LDA*N* sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_Complex64_t *B = malloc( LDB*NRHS*sizeof(CHAMELEON_Complex64_t) ); CHAMELEON_Complex64_t *B = malloc( (size_t) LDB*NRHS*sizeof(CHAMELEON_Complex64_t) );
CHAMELEON_zplgtr( 0, ChamUpper, N, N, A0, LDA, seedA ); CHAMELEON_zplgtr( 0, ChamUpper, N, N, A0, LDA, seedA );
CHAMELEON_zplgtr( bump, ChamLower, N, N, A0, LDA, seedA+1 ); CHAMELEON_zplgtr( bump, ChamLower, N, N, A0, LDA, seedA+1 );
......
...@@ -111,7 +111,7 @@ testing_zgram_std( run_arg_list_t *args, int check ) ...@@ -111,7 +111,7 @@ testing_zgram_std( run_arg_list_t *args, int check )
CHAMELEON_Set( CHAMELEON_TILE_SIZE, nb ); CHAMELEON_Set( CHAMELEON_TILE_SIZE, nb );
/* Create the matrices */ /* Create the matrices */
A = malloc( LDA*N*sizeof(CHAMELEON_Complex64_t) ); A = malloc( (size_t) LDA*N*sizeof(CHAMELEON_Complex64_t) );
/* Fill the matrix with random values */ /* Fill the matrix with random values */
CHAMELEON_zplghe( (double)N, uplo, N,A, LDA, seedA ); CHAMELEON_zplghe( (double)N, uplo, N,A, LDA, seedA );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment