Commit e09de9d1 authored by Mathieu Faverge's avatar Mathieu Faverge

Hotfix/minor

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