Mentions légales du service
Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Chameleon
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container Registry
Operate
Environments
Terraform modules
Monitor
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
solverstack
Chameleon
Commits
83d4e84c
Commit
83d4e84c
authored
3 years ago
by
PRUVOST Florent
Browse files
Options
Downloads
Patches
Plain Diff
Fix issue #102
parent
548e826f
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
CMakeLists.txt
+18
-0
18 additions, 0 deletions
CMakeLists.txt
cmake_modules/PrintOpts.cmake
+3
-0
3 additions, 0 deletions
cmake_modules/PrintOpts.cmake
control/tile.c
+22
-4
22 additions, 4 deletions
control/tile.c
with
43 additions
and
4 deletions
CMakeLists.txt
+
18
−
0
View file @
83d4e84c
...
@@ -108,6 +108,24 @@ option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
...
@@ -108,6 +108,24 @@ option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
set
(
RP_CHAMELEON_DICTIONNARY
${
CMAKE_SOURCE_DIR
}
/cmake_modules/local_subs.py
)
set
(
RP_CHAMELEON_DICTIONNARY
${
CMAKE_SOURCE_DIR
}
/cmake_modules/local_subs.py
)
set
(
RP_CHAMELEON_PRECISIONS
"s;d;c;z"
)
set
(
RP_CHAMELEON_PRECISIONS
"s;d;c;z"
)
include
(
RulesPrecisions
)
include
(
RulesPrecisions
)
# Check that at least one option CHAMELEON_PREC_ is set to ON
# count number of CHAMELEON_PREC_ sets to ON
math
(
EXPR number_of_active_prec 0
)
set
(
CHAMELEON_PRECISIONS
""
)
foreach
(
prec
${
RP_CHAMELEON_PRECISIONS
}
)
string
(
TOUPPER
${
prec
}
PREC
)
if
(
CHAMELEON_PREC_
${
PREC
}
)
math
(
EXPR number_of_active_prec
"
${
number_of_active_prec
}
+1"
)
list
(
APPEND CHAMELEON_PRECISIONS
${
PREC
}
)
endif
()
endforeach
()
message
(
"--
${
BoldGreen
}
Floating point precisions enabled (
${
number_of_active_prec
}
):
${
CHAMELEON_PRECISIONS
}
."
)
if
(
number_of_active_prec STREQUAL 0
)
message
(
FATAL_ERROR
"Number of active precision is
${
number_of_active_prec
}
, "
"the user should activate at least one precision in the list: "
"CHAMELEON_PREC_S;CHAMELEON_PREC_D;CHAMELEON_PREC_C;CHAMELEON_PREC_Z."
)
endif
()
# Options to select the runtime
# Options to select the runtime
# -----------------------------
# -----------------------------
...
...
This diff is collapsed.
Click to expand it.
cmake_modules/PrintOpts.cmake
+
3
−
0
View file @
83d4e84c
...
@@ -69,6 +69,9 @@ set(dep_message "${dep_message}"
...
@@ -69,6 +69,9 @@ set(dep_message "${dep_message}"
" LDFlags .............:
${
CMAKE_C_LINK_FLAGS
}
\n
"
" LDFlags .............:
${
CMAKE_C_LINK_FLAGS
}
\n
"
" EXE LDFlags .........:
${
CMAKE_EXE_LINKER_FLAGS
}
\n
"
" EXE LDFlags .........:
${
CMAKE_EXE_LINKER_FLAGS
}
\n
"
"
\n
"
"
\n
"
" Floating points precisions enabled
\n
"
" CHAMELEON_PRECISIONS :
${
CHAMELEON_PRECISIONS
}
\n
"
"
\n
"
" Implementation paradigm
\n
"
" Implementation paradigm
\n
"
" CUDA ................:
${
CHAMELEON_USE_CUDA
}
\n
"
" CUDA ................:
${
CHAMELEON_USE_CUDA
}
\n
"
" MPI .................:
${
CHAMELEON_USE_MPI
}
\n
"
" MPI .................:
${
CHAMELEON_USE_MPI
}
\n
"
...
...
This diff is collapsed.
Click to expand it.
control/tile.c
+
22
−
4
View file @
83d4e84c
...
@@ -117,20 +117,29 @@ CHAMELEON_Tile_to_Lapack( CHAM_desc_t *A, void *Af77, int LDA )
...
@@ -117,20 +117,29 @@ CHAMELEON_Tile_to_Lapack( CHAM_desc_t *A, void *Af77, int LDA )
int
CHAMELEON_Lap2Desc
(
cham_uplo_t
uplo
,
void
*
Af77
,
int
LDA
,
CHAM_desc_t
*
A
)
int
CHAMELEON_Lap2Desc
(
cham_uplo_t
uplo
,
void
*
Af77
,
int
LDA
,
CHAM_desc_t
*
A
)
{
{
switch
(
A
->
dtyp
)
{
switch
(
A
->
dtyp
)
{
#if defined(PRECISION_z)
case
ChamComplexDouble
:
case
ChamComplexDouble
:
return
CHAMELEON_zLap2Desc
(
uplo
,
(
CHAMELEON_Complex64_t
*
)
Af77
,
LDA
,
A
);
return
CHAMELEON_zLap2Desc
(
uplo
,
(
CHAMELEON_Complex64_t
*
)
Af77
,
LDA
,
A
);
break
;
break
;
#endif
#if defined(PRECISION_c)
case
ChamComplexFloat
:
case
ChamComplexFloat
:
return
CHAMELEON_cLap2Desc
(
uplo
,
(
CHAMELEON_Complex32_t
*
)
Af77
,
LDA
,
A
);
return
CHAMELEON_cLap2Desc
(
uplo
,
(
CHAMELEON_Complex32_t
*
)
Af77
,
LDA
,
A
);
break
;
break
;
#endif
#if defined(PRECISION_s)
case
ChamRealFloat
:
case
ChamRealFloat
:
return
CHAMELEON_sLap2Desc
(
uplo
,
(
float
*
)
Af77
,
LDA
,
A
);
return
CHAMELEON_sLap2Desc
(
uplo
,
(
float
*
)
Af77
,
LDA
,
A
);
break
;
break
;
#endif
#if defined(PRECISION_d)
case
ChamRealDouble
:
case
ChamRealDouble
:
default:
return
CHAMELEON_dLap2Desc
(
uplo
,
(
double
*
)
Af77
,
LDA
,
A
);
return
CHAMELEON_dLap2Desc
(
uplo
,
(
double
*
)
Af77
,
LDA
,
A
);
break
;
#endif
default:
return
CHAMELEON_ERR_ILLEGAL_VALUE
;
}
}
return
CHAMELEON_ERR_ILLEGAL_VALUE
;
}
}
/**
/**
...
@@ -164,18 +173,27 @@ int CHAMELEON_Lap2Desc( cham_uplo_t uplo, void *Af77, int LDA, CHAM_desc_t *A )
...
@@ -164,18 +173,27 @@ int CHAMELEON_Lap2Desc( cham_uplo_t uplo, void *Af77, int LDA, CHAM_desc_t *A )
int
CHAMELEON_Desc2Lap
(
cham_uplo_t
uplo
,
CHAM_desc_t
*
A
,
void
*
Af77
,
int
LDA
)
int
CHAMELEON_Desc2Lap
(
cham_uplo_t
uplo
,
CHAM_desc_t
*
A
,
void
*
Af77
,
int
LDA
)
{
{
switch
(
A
->
dtyp
)
{
switch
(
A
->
dtyp
)
{
#if defined(PRECISION_z)
case
ChamComplexDouble
:
case
ChamComplexDouble
:
return
CHAMELEON_zDesc2Lap
(
uplo
,
A
,
(
CHAMELEON_Complex64_t
*
)
Af77
,
LDA
);
return
CHAMELEON_zDesc2Lap
(
uplo
,
A
,
(
CHAMELEON_Complex64_t
*
)
Af77
,
LDA
);
break
;
break
;
#endif
#if defined(PRECISION_c)
case
ChamComplexFloat
:
case
ChamComplexFloat
:
return
CHAMELEON_cDesc2Lap
(
uplo
,
A
,
(
CHAMELEON_Complex32_t
*
)
Af77
,
LDA
);
return
CHAMELEON_cDesc2Lap
(
uplo
,
A
,
(
CHAMELEON_Complex32_t
*
)
Af77
,
LDA
);
break
;
break
;
#endif
#if defined(PRECISION_s)
case
ChamRealFloat
:
case
ChamRealFloat
:
return
CHAMELEON_sDesc2Lap
(
uplo
,
A
,
(
float
*
)
Af77
,
LDA
);
return
CHAMELEON_sDesc2Lap
(
uplo
,
A
,
(
float
*
)
Af77
,
LDA
);
break
;
break
;
#endif
#if defined(PRECISION_d)
case
ChamRealDouble
:
case
ChamRealDouble
:
default:
return
CHAMELEON_dDesc2Lap
(
uplo
,
A
,
(
double
*
)
Af77
,
LDA
);
return
CHAMELEON_dDesc2Lap
(
uplo
,
A
,
(
double
*
)
Af77
,
LDA
);
break
;
#endif
default:
return
CHAMELEON_ERR_ILLEGAL_VALUE
;
}
}
return
CHAMELEON_ERR_ILLEGAL_VALUE
;
}
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment