Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
elpa
elpa
Commits
ebbb06d8
Commit
ebbb06d8
authored
May 25, 2018
by
Pavel Kus
Browse files
enabling autotuning of the CPU/GPU parameters
parent
09f4ef2f
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/elpa_index.c
View file @
ebbb06d8
...
...
@@ -172,23 +172,23 @@ static const elpa_index_int_entry_t int_entries[] = {
INT_ANY_ENTRY
(
"blacs_context"
,
"BLACS context"
),
INT_ENTRY
(
"solver"
,
"Solver to use"
,
ELPA_SOLVER_1STAGE
,
ELPA_AUTOTUNE_FAST
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
\
number_of_solvers
,
solver_enumerate
,
solver_is_valid
,
elpa_solver_name
),
INT_ENTRY
(
"gpu"
,
"Use GPU acceleration"
,
0
,
ELPA_AUTOTUNE_
NOT_TUNABLE
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
INT_ENTRY
(
"gpu"
,
"Use GPU acceleration"
,
0
,
ELPA_AUTOTUNE_
MEDIUM
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
cardinality_bool
,
enumerate_identity
,
gpu_is_valid
,
NULL
),
//default of gpu ussage for individual phases is 1. However, it is only evaluated, if GPU is used at all, which first has to be determined
//by the parameter gpu and presence of the device
INT_ENTRY
(
"gpu_tridiag"
,
"Use GPU acceleration for ELPA1 tridiagonalization"
,
1
,
ELPA_AUTOTUNE_
NOT_TUNABLE
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
INT_ENTRY
(
"gpu_tridiag"
,
"Use GPU acceleration for ELPA1 tridiagonalization"
,
1
,
ELPA_AUTOTUNE_
MEDIUM
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
cardinality_bool
,
enumerate_identity
,
valid_with_gpu_elpa1
,
NULL
),
INT_ENTRY
(
"gpu_solve_tridi"
,
"Use GPU acceleration for ELPA solve tridi"
,
1
,
ELPA_AUTOTUNE_
NOT_TUNABLE
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
INT_ENTRY
(
"gpu_solve_tridi"
,
"Use GPU acceleration for ELPA solve tridi"
,
1
,
ELPA_AUTOTUNE_
MEDIUM
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
cardinality_bool
,
enumerate_identity
,
valid_with_gpu
,
NULL
),
INT_ENTRY
(
"gpu_trans_ev"
,
"Use GPU acceleration for ELPA1 trans ev"
,
1
,
ELPA_AUTOTUNE_
NOT_TUNABLE
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
INT_ENTRY
(
"gpu_trans_ev"
,
"Use GPU acceleration for ELPA1 trans ev"
,
1
,
ELPA_AUTOTUNE_
MEDIUM
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
cardinality_bool
,
enumerate_identity
,
valid_with_gpu_elpa1
,
NULL
),
INT_ENTRY
(
"gpu_bandred"
,
"Use GPU acceleration for ELPA2 band reduction"
,
1
,
ELPA_AUTOTUNE_
NOT_TUNABLE
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
INT_ENTRY
(
"gpu_bandred"
,
"Use GPU acceleration for ELPA2 band reduction"
,
1
,
ELPA_AUTOTUNE_
MEDIUM
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
cardinality_bool
,
enumerate_identity
,
valid_with_gpu_elpa2
,
NULL
),
INT_ENTRY
(
"gpu_tridiag_band"
,
"Use GPU acceleration for ELPA2 tridiagonalization"
,
1
,
ELPA_AUTOTUNE_
NOT_TUNABLE
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
INT_ENTRY
(
"gpu_tridiag_band"
,
"Use GPU acceleration for ELPA2 tridiagonalization"
,
1
,
ELPA_AUTOTUNE_
MEDIUM
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
cardinality_bool
,
enumerate_identity
,
valid_with_gpu_elpa2
,
NULL
),
INT_ENTRY
(
"gpu_trans_ev_tridi_to_band"
,
"Use GPU acceleration for ELPA2 trans_ev_tridi_to_band"
,
1
,
ELPA_AUTOTUNE_
NOT_TUNABLE
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
INT_ENTRY
(
"gpu_trans_ev_tridi_to_band"
,
"Use GPU acceleration for ELPA2 trans_ev_tridi_to_band"
,
1
,
ELPA_AUTOTUNE_
MEDIUM
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
cardinality_bool
,
enumerate_identity
,
valid_with_gpu_elpa2
,
NULL
),
INT_ENTRY
(
"gpu_trans_ev_band_to_full"
,
"Use GPU acceleration for ELPA2 trans_ev_band_to_full"
,
1
,
ELPA_AUTOTUNE_
NOT_TUNABLE
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
INT_ENTRY
(
"gpu_trans_ev_band_to_full"
,
"Use GPU acceleration for ELPA2 trans_ev_band_to_full"
,
1
,
ELPA_AUTOTUNE_
MEDIUM
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
cardinality_bool
,
enumerate_identity
,
valid_with_gpu_elpa2
,
NULL
),
INT_ENTRY
(
"real_kernel"
,
"Real kernel to use if 'solver' is set to ELPA_SOLVER_2STAGE"
,
ELPA_2STAGE_REAL_DEFAULT
,
ELPA_AUTOTUNE_FAST
,
ELPA_AUTOTUNE_DOMAIN_REAL
,
\
number_of_real_kernels
,
real_kernel_enumerate
,
real_kernel_is_valid
,
real_kernel_name
),
...
...
test/Fortran/test_autotune.F90
View file @
ebbb06d8
...
...
@@ -206,7 +206,7 @@ program test
if
(
myid
==
0
)
print
*
,
""
tune_state
=>
e
%
autotune_setup
(
ELPA_AUTOTUNE_
FAST
,
AUTOTUNE_DOMAIN
,
error
)
tune_state
=>
e
%
autotune_setup
(
ELPA_AUTOTUNE_
MEDIUM
,
AUTOTUNE_DOMAIN
,
error
)
assert_elpa_ok
(
error
)
iter
=
0
...
...
Write
Preview
Supports
Markdown
0%
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!
Cancel
Please
register
or
sign in
to comment