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
f6903d13
Commit
f6903d13
authored
Aug 08, 2018
by
Pavel Kus
Browse files
print parameters started
parent
c6ebd29f
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/elpa_api.F90
View file @
f6903d13
...
...
@@ -153,6 +153,7 @@ module elpa_api
elpa_solve_tridiagonal_d
,
&
!< matrix
elpa_solve_tridiagonal_f
procedure
(
print_all_parameters_i
),
deferred
,
public
::
print_all_parameters
!< method to set the best options
#ifdef ENABLE_AUTOTUNING
! Auto-tune
procedure
(
elpa_autotune_setup_i
),
deferred
,
public
::
autotune_setup
!< method to prepare the ELPA autotuning
...
...
@@ -246,6 +247,19 @@ module elpa_api
end
function
end
interface
!> \brief abstract definition of the print_all_parameters method
!> Parameters
!> \details
!> \param self class(elpa_t): the ELPA object, which should be tuned
!> Prints all the elpa parameters
abstract
interface
subroutine
print_all_parameters_i
(
self
)
import
elpa_t
implicit
none
class
(
elpa_t
),
intent
(
inout
)
::
self
end
subroutine
end
interface
#ifdef ENABLE_AUTOTUNING
!> \brief abstract definition of the autotune setup method
!> Parameters
...
...
src/elpa_impl.F90
View file @
f6903d13
...
...
@@ -154,6 +154,7 @@ module elpa_impl
procedure
,
private
::
elpa_transform_back_generalized_fc
#endif
procedure
,
public
::
print_all_parameters
=>
elpa_print_all_parameters
#ifdef ENABLE_AUTOTUNING
procedure
,
public
::
autotune_setup
=>
elpa_autotune_setup
procedure
,
public
::
autotune_step
=>
elpa_autotune_step
...
...
@@ -1027,6 +1028,20 @@ module elpa_impl
end
subroutine
!> \brief function to print all the parameters, that have been set
!> Parameters
!> \param self class(elpa_impl_t) the allocated ELPA object
subroutine
elpa_print_all_parameters
(
self
)
implicit
none
class
(
elpa_impl_t
),
intent
(
inout
)
::
self
print
*
,
"The following parameters have been set"
if
(
elpa_index_print_all_parameters_c
(
self
%
index
)
/
=
1
)
then
stop
"This should not happen (in elpa_print_all_parameters())"
endif
end
subroutine
!c> /*! \brief C interface for the implementation of the elpa_autotune_set_best method
!c> *
...
...
src/elpa_index.c
View file @
f6903d13
...
...
@@ -1022,3 +1022,17 @@ int elpa_index_print_autotune_parameters(elpa_index_t index, int autotune_level,
/* Could set all values */
return
1
;
}
int
elpa_index_print_all_parameters
(
elpa_index_t
index
)
{
for
(
int
i
=
0
;
i
<
nelements
(
int_entries
);
i
++
)
{
fprintf
(
stderr
,
" %s = "
,
int_entries
[
i
].
base
.
name
);
if
(
int_entries
[
i
].
to_string
)
{
fprintf
(
stderr
,
" %s
\n
"
,
int_entries
[
i
].
to_string
(
index
->
int_options
.
values
[
i
]));
}
else
{
fprintf
(
stderr
,
" %d
\n
"
,
index
->
int_options
.
values
[
i
]);
}
}
fprintf
(
stderr
,
"
\n
"
);
return
1
;
}
src/elpa_index.h
View file @
f6903d13
...
...
@@ -427,3 +427,16 @@ int elpa_index_set_autotune_parameters(elpa_index_t index, int autotune_level, i
!f>
*/
int
elpa_index_print_autotune_parameters
(
elpa_index_t
index
,
int
autotune_level
,
int
autotune_domain
,
int
n
);
/*
!f> interface
!f> function elpa_index_print_all_parameters_c(index) result(success) &
!f> bind(C, name="elpa_index_print_all_parameters")
!f> import c_int, c_ptr, c_char
!f> type(c_ptr), intent(in), value :: index
!f> integer(kind=c_int) :: success
!f> end function
!f> end interface
!f>
*/
int
elpa_index_print_all_parameters
(
elpa_index_t
index
);
test/Fortran/test.F90
View file @
f6903d13
...
...
@@ -607,6 +607,10 @@ program test
endif
#endif
! print all parameters
call
e
%
print_all_parameters
()
#ifdef TEST_ALL_KERNELS
call
e
%
timer_start
(
elpa_int_value_to_string
(
KERNEL_KEY
,
kernel
))
#endif
...
...
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