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
df76d7cc
Commit
df76d7cc
authored
Apr 16, 2021
by
Andreas Marek
Browse files
Merge branch 'master_pre_stage' into 'ELPA_ROCm'
# Conflicts: # test/Fortran/test.F90
parents
7eb78f22
db495042
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
df76d7cc
...
...
@@ -3,7 +3,7 @@
## Current Release ##
The current release is ELPA 2020.11.001 The current supported API version
is 20
190501
. This release supports the earliest API version 20170403.
is 20
200417
. This release supports the earliest API version 20170403.
The release ELPA 2018.11.001 was the last release, where the legacy API has been
enabled by default (and can be disabled at build time).
...
...
configure.ac
View file @
df76d7cc
...
...
@@ -39,10 +39,14 @@ AX_BUILD_DATE_EPOCH(ELPA_BUILDTIME)
# API Version
AC_DEFINE([EARLIEST_API_VERSION], [20170403], [Earliest supported ELPA API version])
print_earliest_api_version=20170403
AC_DEFINE_SUBST(CURRENT_API_VERSION, 20200417, "Current ELPA API version")
print_current_api_version=20200417
# Autotune Version
AC_DEFINE([EARLIEST_AUTOTUNE_VERSION], [20171201], [Earliest ELPA API version, which supports autotuning])
print_earliest_autotune_version=20171201
AC_DEFINE([CURRENT_AUTOTUNE_VERSION], [20200417], [Current ELPA autotune version])
print_current_autotune_version=20200417
AC_DEFINE([CURRENT_AUTOTUNE_VERSION], [20200417], [Current ELPA autotune version])
AC_DEFINE_SUBST(CURRENT_AUTOTUNE_VERSION, 20200417, "Current ELPA autotune version")
AC_DEFINE_UNQUOTED([ELPA_BUILDTIME], [$ELPA_BUILDTIME], ["Time of build"])
...
...
@@ -2225,6 +2229,13 @@ m4_foreach_w([elpa_m4_kind],[real complex],[
])
])
echo ""
echo " This version of ELPA support the minimal API version: ${print_earliest_api_version}"
echo " The current API version is: ${print_current_api_version}"
echo " This version of ELPA support the minimal autotuning version: ${print_earliest_autotune_version}"
echo " The current autotune version is: ${print_current_autotune_version}"
echo ""
if test x"${ax_cv_have_sse3_cpu_ext}" = x"yes" -a x"${need_sse}" = x"no"; then
echo " "
AC_MSG_WARN([You did not request SSE support (--enable-sse), but your local CPU supports it.])
...
...
src/elpa_index.c
View file @
df76d7cc
...
...
@@ -143,6 +143,7 @@ static int nev_is_valid(elpa_index_t index, int n, int new_value);
static
int
bw_is_valid
(
elpa_index_t
index
,
int
n
,
int
new_value
);
static
int
output_build_config_is_valid
(
elpa_index_t
index
,
int
n
,
int
new_value
);
static
int
gpu_is_valid
(
elpa_index_t
index
,
int
n
,
int
new_value
);
static
int
verbose_is_valid
(
elpa_index_t
index
,
int
n
,
int
new_value
);
static
int
skewsymmetric_is_valid
(
elpa_index_t
index
,
int
n
,
int
new_value
);
static
int
is_positive
(
elpa_index_t
index
,
int
n
,
int
new_value
);
...
...
@@ -217,6 +218,8 @@ static const elpa_index_int_entry_t int_entries[] = {
INT_ANY_ENTRY
(
"mpi_comm_cols"
,
"Communicator for inter-column communication"
,
PRINT_NO
),
INT_ANY_ENTRY
(
"mpi_comm_parent"
,
"Parent communicator"
,
PRINT_NO
),
INT_ANY_ENTRY
(
"blacs_context"
,
"BLACS context"
,
PRINT_NO
),
INT_ENTRY
(
"verbose"
,
"ELPA API prints verbose messages"
,
0
,
ELPA_AUTOTUNE_NOT_TUNABLE
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
\
cardinality_bool
,
enumerate_identity
,
verbose_is_valid
,
NULL
,
PRINT_YES
),
//#ifdef REDISTRIBUTE_MATRIX
INT_ENTRY
(
"internal_nblk"
,
"Internally used block size of scalapack block-cyclic distribution"
,
0
,
ELPA_AUTOTUNE_FAST
,
ELPA_AUTOTUNE_DOMAIN_ANY
,
\
internal_nblk_cardinality
,
internal_nblk_enumerate
,
internal_nblk_is_valid
,
NULL
,
PRINT_YES
),
...
...
@@ -370,8 +373,10 @@ FOR_ALL_TYPES(IMPLEMENT_FIND_ENTRY)
if (elpa_##TYPE##_value_to_string(TYPE##_entries[n].base.name, *value, &value_string) == ELPA_OK) { \
if (!(index->TYPE##_options.notified[n] & notify_flag)) { \
if (elpa_index_is_printing_mpi_rank(index)) { \
if (elpa_index_int_value_is_set(index, "verbose")) { \
fprintf(stderr, "ELPA: %s '%s' is set to %s due to environment variable %s\n", \
error_string, TYPE##_entries[n].base.name, value_string, env_variable); \
} \
} \
index->TYPE##_options.notified[n] |= notify_flag; \
} \
...
...
@@ -907,6 +912,10 @@ static int gpu_is_valid(elpa_index_t index, int n, int new_value) {
return
new_value
==
0
||
new_value
==
1
;
}
static
int
verbose_is_valid
(
elpa_index_t
index
,
int
n
,
int
new_value
)
{
return
new_value
==
0
||
new_value
==
1
;
}
static
int
skewsymmetric_is_valid
(
elpa_index_t
index
,
int
n
,
int
new_value
)
{
return
new_value
==
0
||
new_value
==
1
;
}
...
...
@@ -1640,6 +1649,8 @@ int elpa_index_is_printing_mpi_rank(elpa_index_t index)
process_id
=
elpa_index_get_int_value
(
index
,
"process_id"
,
NULL
);
return
(
process_id
==
0
);
}
printf
(
"Warning: process_id not set, printing on all MPI ranks. This can happen with legacy API."
);
if
(
elpa_index_int_value_is_set
(
index
,
"verbose"
))
{
printf
(
"Warning: process_id not set, printing on all MPI ranks. This can happen with legacy API."
);
}
return
1
;
}
test/Fortran/test.F90
View file @
df76d7cc
...
...
@@ -208,7 +208,7 @@ program test
#ifdef WITH_OPENMP_TRADITIONAL
TEST_INT_TYPE
::
max_threads
,
threads_caller
#endif
#if
TEST_GPU_SET_ID == 1
#if TEST_GPU_SET_ID == 1
TEST_INT_TYPE
::
gpuID
#endif
#ifdef SPLIT_COMM_MYSELF
...
...
@@ -254,7 +254,8 @@ program test
endif
if
(
myid
==
0
)
then
print
'((a,i0))'
,
'Program '
//
TEST_CASE
print
'((a,i0))'
,
'Program '
&
//
TEST_CASE
print
*
,
""
endif
...
...
@@ -626,6 +627,7 @@ program test
assert_elpa_ok
(
error_elpa
)
call
e
%
set
(
"mpi_comm_cols"
,
int
(
mpi_comm_cols
,
kind
=
c_int
),
error_elpa
)
assert_elpa_ok
(
error_elpa
)
#else
call
e
%
set
(
"mpi_comm_parent"
,
int
(
MPI_COMM_WORLD
,
kind
=
c_int
),
error_elpa
)
assert_elpa_ok
(
error_elpa
)
...
...
@@ -633,6 +635,8 @@ program test
assert_elpa_ok
(
error_elpa
)
call
e
%
set
(
"process_col"
,
int
(
my_pcol
,
kind
=
c_int
),
error_elpa
)
assert_elpa_ok
(
error_elpa
)
call
e
%
set
(
"verbose"
,
1
,
error_elpa
)
assert_elpa_ok
(
error_elpa
)
#endif
#endif
#ifdef TEST_GENERALIZED_EIGENPROBLEM
...
...
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