Mentions légales du service

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

Hotfix/minor

parent 22967f1a
Branches
Tags
No related merge requests found
...@@ -237,6 +237,23 @@ test_parsec_master: ...@@ -237,6 +237,23 @@ test_parsec_master:
only: only:
- master@solverstack/chameleon - master@solverstack/chameleon
coverage:
stage: analyse
dependencies:
- test_starpu_branches
- test_starpu_simgrid_branches
- test_quark_branches
- test_parsec_branches
script:
- lcov -a chameleon_starpu.lcov
-a chameleon_starpu_simgrid.lcov
-a chameleon_quark.lcov
-a chameleon_parsec.lcov
-o chameleon.lcov
- lcov --summary chameleon.lcov
only:
- branches
coverity: coverity:
stage: analyse stage: analyse
dependencies: [] dependencies: []
......
...@@ -47,6 +47,10 @@ if(NOT BUILDNAME) ...@@ -47,6 +47,10 @@ if(NOT BUILDNAME)
set(BUILDNAME "${BUILDNAME}-StarPU") set(BUILDNAME "${BUILDNAME}-StarPU")
endif(CHAMELEON_SCHED_STARPU) endif(CHAMELEON_SCHED_STARPU)
if(CHAMELEON_SCHED_PARSEC)
set(BUILDNAME "${BUILDNAME}-PaRSEC")
endif(CHAMELEON_SCHED_STARPU)
if(CHAMELEON_SIMULATION) if(CHAMELEON_SIMULATION)
set(BUILDNAME "${BUILDNAME}-SimGrid") set(BUILDNAME "${BUILDNAME}-SimGrid")
endif(CHAMELEON_SIMULATION) endif(CHAMELEON_SIMULATION)
......
...@@ -407,9 +407,10 @@ int CHAMELEON_zgesvd_Tile_Async( cham_job_t jobu, cham_job_t jobvt, ...@@ -407,9 +407,10 @@ int CHAMELEON_zgesvd_Tile_Async( cham_job_t jobu, cham_job_t jobvt,
CHAM_desc_t *subA, *subT, *subUVT; CHAM_desc_t *subA, *subT, *subUVT;
double *E; double *E;
int M, N, MINMN, NB, LDAB; int M, N, MINMN, NB, LDAB;
int KL, KU, uplo, nru, ncvt; cham_uplo_t uplo;
int info = 0; #if !defined(CHAMELEON_SIMULATION)
char gbbrd_vect; int KL, KU, nru, ncvt;
#endif
CHAM_context_t *chamctxt; CHAM_context_t *chamctxt;
chamctxt = chameleon_context_self(); chamctxt = chameleon_context_self();
...@@ -500,54 +501,59 @@ int CHAMELEON_zgesvd_Tile_Async( cham_job_t jobu, cham_job_t jobvt, ...@@ -500,54 +501,59 @@ int CHAMELEON_zgesvd_Tile_Async( cham_job_t jobu, cham_job_t jobvt,
memset(E, 0, MINMN * sizeof(double) ); memset(E, 0, MINMN * sizeof(double) );
#if !defined(CHAMELEON_SIMULATION) #if !defined(CHAMELEON_SIMULATION)
/* NCC = 0, C = NULL, we do not update any matrix with new singular vectors */ {
/* On exit, AB = U (S +~ E) VT */ char gbbrd_vect;
if (uplo == ChamUpper){ int info;
KL = 0;
KU = NB; /* NCC = 0, C = NULL, we do not update any matrix with new singular vectors */
} /* On exit, AB = U (S +~ E) VT */
else{ if (uplo == ChamUpper){
KL = NB; KL = 0;
KU = 0; KU = NB;
}
/* Manage the case where only singular values are required */
if (jobu == ChamNoVec) {
nru = 0;
if (jobvt == ChamNoVec) {
gbbrd_vect = 'N';
ncvt = 0;
} }
else { else{
gbbrd_vect = 'P'; KL = NB;
ncvt = N; KU = 0;
} }
}
else { /* Manage the case where only singular values are required */
nru = M; if (jobu == ChamNoVec) {
if (jobvt == ChamNoVec) { nru = 0;
gbbrd_vect = 'Q'; if (jobvt == ChamNoVec) {
ncvt = 0; gbbrd_vect = 'N';
ncvt = 0;
}
else {
gbbrd_vect = 'P';
ncvt = N;
}
} }
else { else {
gbbrd_vect = 'B'; nru = M;
ncvt = N; if (jobvt == ChamNoVec) {
gbbrd_vect = 'Q';
ncvt = 0;
}
else {
gbbrd_vect = 'B';
ncvt = N;
}
} }
}
chameleon_sequence_wait( chamctxt, sequence );
info = LAPACKE_zgbbrd( LAPACK_COL_MAJOR, chameleon_sequence_wait( chamctxt, sequence );
gbbrd_vect,
M, N, info = LAPACKE_zgbbrd( LAPACK_COL_MAJOR,
0, KL, KU, gbbrd_vect,
(CHAMELEON_Complex64_t *) descAB.mat, LDAB, M, N,
S, E, 0, KL, KU,
U, LDU, (CHAMELEON_Complex64_t *) descAB.mat, LDAB,
VT, LDVT, S, E,
NULL, 1 ); U, LDU,
if (info != 0) { VT, LDVT,
fprintf(stderr, "CHAMELEON_zgesvd_Tile_Async: LAPACKE_zgbbrd = %d\n", info ); NULL, 1 );
if (info != 0) {
fprintf(stderr, "CHAMELEON_zgesvd_Tile_Async: LAPACKE_zgbbrd = %d\n", info );
}
} }
#else #else
chameleon_sequence_wait( chamctxt, sequence ); chameleon_sequence_wait( chamctxt, sequence );
...@@ -621,12 +627,14 @@ int CHAMELEON_zgesvd_Tile_Async( cham_job_t jobu, cham_job_t jobvt, ...@@ -621,12 +627,14 @@ int CHAMELEON_zgesvd_Tile_Async( cham_job_t jobu, cham_job_t jobvt,
/* Solve the bidiagonal SVD problem */ /* Solve the bidiagonal SVD problem */
/* On exit, U and VT are updated with bidiagonal matrix singular vectors */ /* On exit, U and VT are updated with bidiagonal matrix singular vectors */
#if !defined(CHAMELEON_SIMULATION) #if !defined(CHAMELEON_SIMULATION)
info = LAPACKE_zbdsqr( LAPACK_COL_MAJOR, 'U', {
MINMN, ncvt, nru, 0, int info = LAPACKE_zbdsqr( LAPACK_COL_MAJOR, 'U',
S, E, MINMN, ncvt, nru, 0,
VT, LDVT, U, LDU, NULL, 1 ); S, E,
if (info != 0) { VT, LDVT, U, LDU, NULL, 1 );
fprintf(stderr, "CHAMELEON_zgesvd_Tile_Async: LAPACKE_zbdsqr = %d\n", info ); if (info != 0) {
fprintf(stderr, "CHAMELEON_zgesvd_Tile_Async: LAPACKE_zbdsqr = %d\n", info );
}
} }
#endif /* !defined(CHAMELEON_SIMULATION) */ #endif /* !defined(CHAMELEON_SIMULATION) */
......
...@@ -334,7 +334,6 @@ int CHAMELEON_zhetrd_Tile_Async( cham_job_t jobz, ...@@ -334,7 +334,6 @@ int CHAMELEON_zhetrd_Tile_Async( cham_job_t jobz,
CHAM_desc_t descA; CHAM_desc_t descA;
CHAM_desc_t descAB; CHAM_desc_t descAB;
int N, NB, LDAB; int N, NB, LDAB;
int status;
CHAM_desc_t D, *Dptr = NULL; CHAM_desc_t D, *Dptr = NULL;
chamctxt = chameleon_context_self(); chamctxt = chameleon_context_self();
...@@ -420,14 +419,16 @@ int CHAMELEON_zhetrd_Tile_Async( cham_job_t jobz, ...@@ -420,14 +419,16 @@ int CHAMELEON_zhetrd_Tile_Async( cham_job_t jobz,
/* Reduce band matrix to tridiagonal matrix */ /* Reduce band matrix to tridiagonal matrix */
#if !defined(CHAMELEON_SIMULATION) #if !defined(CHAMELEON_SIMULATION)
status = LAPACKE_zhbtrd( LAPACK_COL_MAJOR, {
chameleon_lapack_const(jobz), int info = LAPACKE_zhbtrd( LAPACK_COL_MAJOR,
chameleon_lapack_const(uplo), chameleon_lapack_const(jobz),
N, NB, chameleon_lapack_const(uplo),
(CHAMELEON_Complex64_t *) descAB.mat, LDAB, N, NB,
W, E, Q, LDQ ); (CHAMELEON_Complex64_t *) descAB.mat, LDAB,
if (status != 0) { W, E, Q, LDQ );
chameleon_error("CHAMELEON_zhetrd_Tile_Async", "LAPACKE_zhbtrd failed"); if (info != 0) {
chameleon_error("CHAMELEON_zhetrd_Tile_Async", "LAPACKE_zhbtrd failed");
}
} }
#endif /* !defined(CHAMELEON_SIMULATION) */ #endif /* !defined(CHAMELEON_SIMULATION) */
if (Dptr != NULL) { if (Dptr != NULL) {
......
Subproject commit 1e7bad3a5e56c28514f8121195ffefdda70335bb Subproject commit 7ad2afcef2901aa04c772369b3aa0deb4da9158b
...@@ -128,8 +128,9 @@ chameleon_starpu_data_iscached(const CHAM_desc_t *A, int m, int n) ...@@ -128,8 +128,9 @@ chameleon_starpu_data_iscached(const CHAM_desc_t *A, int m, int n)
starpu_data_handle_t *ptrtile = A->schedopt; starpu_data_handle_t *ptrtile = A->schedopt;
ptrtile += ((int64_t)A->lmt) * nn + mm; ptrtile += ((int64_t)A->lmt) * nn + mm;
if (!(*ptrtile)) if (!(*ptrtile)) {
return 0; return 0;
}
return starpu_mpi_cached_receive(*ptrtile); return starpu_mpi_cached_receive(*ptrtile);
} }
...@@ -139,7 +140,9 @@ chameleon_starpu_data_iscached(const CHAM_desc_t *A, int m, int n) ...@@ -139,7 +140,9 @@ chameleon_starpu_data_iscached(const CHAM_desc_t *A, int m, int n)
#else #else
#if defined(CHAMELEON_USE_MPI)
#warning "WAR dependencies need starpu_mpi_cached_receive support from StarPU 1.2.1 or greater" #warning "WAR dependencies need starpu_mpi_cached_receive support from StarPU 1.2.1 or greater"
#endif
#define RUNTIME_ACCESS_WRITE_CACHED(A, Am, An) do {} while (0) #define RUNTIME_ACCESS_WRITE_CACHED(A, Am, An) do {} while (0)
#endif #endif
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
static int static int
RunTest(int *iparam, double *dparam, chameleon_time_t *t_) RunTest(int *iparam, double *dparam, chameleon_time_t *t_)
{ {
double normcham, normlapack, result; double normcham;
int norm = ChamInfNorm; int norm = ChamInfNorm;
PASTE_CODE_IPARAM_LOCALS( iparam ); PASTE_CODE_IPARAM_LOCALS( iparam );
...@@ -45,6 +45,8 @@ RunTest(int *iparam, double *dparam, chameleon_time_t *t_) ...@@ -45,6 +45,8 @@ RunTest(int *iparam, double *dparam, chameleon_time_t *t_)
/* Check the solution */ /* Check the solution */
if ( check ) if ( check )
{ {
double normlapack, result;
/* Allocate Data */ /* Allocate Data */
PASTE_TILE_TO_LAPACK( descA, A, check, CHAMELEON_Complex64_t, M, N ); PASTE_TILE_TO_LAPACK( descA, A, check, CHAMELEON_Complex64_t, M, N );
double *work = (double*) malloc(chameleon_max(M,N)*sizeof(double)); double *work = (double*) malloc(chameleon_max(M,N)*sizeof(double));
......
...@@ -17,6 +17,7 @@ lcov -a $PWD/chameleon_starpu.lcov ...@@ -17,6 +17,7 @@ lcov -a $PWD/chameleon_starpu.lcov
-a $PWD/chameleon_quark.lcov -a $PWD/chameleon_quark.lcov
-a $PWD/chameleon_parsec.lcov -a $PWD/chameleon_parsec.lcov
-o $PWD/chameleon.lcov -o $PWD/chameleon.lcov
lcov --summary chameleon.lcov
lcov_cobertura.py chameleon.lcov --output chameleon_coverage.xml lcov_cobertura.py chameleon.lcov --output chameleon_coverage.xml
# Undefine this because not relevant in our configuration # Undefine this because not relevant in our configuration
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment