Skip to content
GitLab
Menu
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
135e3732
Commit
135e3732
authored
May 09, 2019
by
Andreas Marek
Browse files
Start to unify 128bit and 256bit kernels
parent
e04b11b2
Changes
17
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
Makefile.am
View file @
135e3732
...
...
@@ -775,7 +775,6 @@ EXTRA_DIST = \
src/elpa2/kernels/complex_sse_1hv_template.c
\
src/elpa2/kernels/complex_sse_2hv_template.c
\
src/elpa2/kernels/complex_template.F90
\
src/elpa2/kernels/real_avx-avx2_2hv_template.c
\
src/elpa2/kernels/real_avx-avx2_4hv_template.c
\
src/elpa2/kernels/real_avx-avx2_6hv_template.c
\
src/elpa2/kernels/real_avx512_2hv_template.c
\
...
...
src/elpa2/kernels/real_128bit_BLOCK_template.c
View file @
135e3732
This diff is collapsed.
Click to expand it.
src/elpa2/kernels/real_avx-avx2_2hv_double_precision.c
View file @
135e3732
...
...
@@ -48,8 +48,12 @@
#define REALCASE 1
#define DOUBLE_PRECISION 1
#define BLOCK2 1
#define VEC_SET 256
#include
"../../general/precision_macros.h"
#include
"real_avx-avx2_2hv_template.c"
#include
"real_128bit_BLOCK_template.c"
#undef BLOCK2
#undef VEC_SET
#undef REALCASE
#undef DOUBLE_PRECISION
src/elpa2/kernels/real_avx-avx2_2hv_single_precision.c
View file @
135e3732
...
...
@@ -48,8 +48,12 @@
#define REALCASE 1
#define SINGLE_PRECISION 1
#define BLOCK2 1
#define VEC_SET 256
#include
"../../general/precision_macros.h"
#include
"real_avx-avx2_2hv_template.c"
#include
"real_128bit_BLOCK_template.c"
#undef BLOCK2
#undef VEC_SET
#undef REALCASE
#undef SINGLE_PRECISION
src/elpa2/kernels/real_avx-avx2_2hv_template.c
View file @
135e3732
...
...
@@ -148,37 +148,6 @@ void double_hh_trafo_real_avx_avx2_2hv_double(double* q, double* hh, int* pnb, i
void
double_hh_trafo_real_avx_avx2_2hv_single
(
float
*
q
,
float
*
hh
,
int
*
pnb
,
int
*
pnq
,
int
*
pldq
,
int
*
pldh
);
#endif
#ifdef DOUBLE_PRECISION_REAL
/*
!f>#if defined(HAVE_AVX) || defined(HAVE_AVX2)
!f> interface
!f> subroutine double_hh_trafo_real_avx_avx2_2hv_double(q, hh, pnb, pnq, pldq, pldh) &
!f> bind(C, name="double_hh_trafo_real_avx_avx2_2hv_double")
!f> use, intrinsic :: iso_c_binding
!f> integer(kind=c_int) :: pnb, pnq, pldq, pldh
!f> type(c_ptr), value :: q
!f> real(kind=c_double) :: hh(pnb,6)
!f> end subroutine
!f> end interface
!f>#endif
*/
#endif
#ifdef SINGLE_PRECISION_REAL
/*
!f>#if defined(HAVE_AVX) || defined(HAVE_AVX2)
!f> interface
!f> subroutine double_hh_trafo_real_avx_avx2_2hv_single(q, hh, pnb, pnq, pldq, pldh) &
!f> bind(C, name="double_hh_trafo_real_avx_avx2_2hv_single")
!f> use, intrinsic :: iso_c_binding
!f> integer(kind=c_int) :: pnb, pnq, pldq, pldh
!f> type(c_ptr), value :: q
!f> real(kind=c_float) :: hh(pnb,6)
!f> end subroutine
!f> end interface
!f>#endif
*/
#endif
#ifdef DOUBLE_PRECISION_REAL
void
double_hh_trafo_real_avx_avx2_2hv_double
(
double
*
q
,
double
*
hh
,
int
*
pnb
,
int
*
pnq
,
int
*
pldq
,
int
*
pldh
)
#endif
...
...
src/elpa2/kernels/real_sparc64_2hv_double_precision.c
View file @
135e3732
...
...
@@ -49,9 +49,11 @@
#define REALCASE 1
#define DOUBLE_PRECISION 1
#define BLOCK2 1
#define VEC_SET 1281
#include
"../../general/precision_macros.h"
#include
"real_128bit_BLOCK_template.c"
#undef REALCASE
#undef VEC_SET
#undef BLOCK2
#undef DOUBLE_PRECISION
src/elpa2/kernels/real_sparc64_2hv_single_precision.c
View file @
135e3732
...
...
@@ -49,9 +49,11 @@
#define REALCASE 1
#define SINGLE_PRECISION 1
#define BLOCK2 1
#define VEC_SET 1281
#include
"../../general/precision_macros.h"
#include
"real_128bit_BLOCK_template.c"
#undef BLOCK2
#undef VEC_SET
#undef REALCASE
#undef SINGLE_PRECISION
src/elpa2/kernels/real_sparc64_4hv_double_precision.c
View file @
135e3732
...
...
@@ -49,9 +49,11 @@
#define REALCASE 1
#define DOUBLE_PRECISION 1
#define BLOCK4 1
#define VEC_SET 1281
#include
"../../general/precision_macros.h"
#include
"real_128bit_BLOCK_template.c"
#undef BLOCK4
#undef VEC_SET
#undef REALCASE
#undef DOUBLE_PRECISION
src/elpa2/kernels/real_sparc64_4hv_single_precision.c
View file @
135e3732
...
...
@@ -49,9 +49,11 @@
#define REALCASE 1
#define SINGLE_PRECISION 1
#define BLOCK4 1
#define VEC_SET 1281
#include
"../../general/precision_macros.h"
#include
"real_128bit_BLOCK_template.c"
#undef BLOCK4
#undef VEC_SET
#undef REALCASE
#undef SINGLE_PRECISION
src/elpa2/kernels/real_sparc64_6hv_double_precision.c
View file @
135e3732
...
...
@@ -49,9 +49,11 @@
#define REALCASE 1
#define DOUBLE_PRECISION 1
#define BLOCK6 1
#define VEC_SET 1281
#include
"../../general/precision_macros.h"
#include
"real_128bit_BLOCK_template.c"
#undef REALCASE
#undef VEC_SET
#undef BLOCK6
#undef DOUBLE_PRECISION
src/elpa2/kernels/real_sparc64_6hv_single_precision.c
View file @
135e3732
...
...
@@ -49,9 +49,11 @@
#define REALCASE 1
#define SINGLE_PRECISION 1
#define BLOCK6 1
#define VEC_SET 1281
#include
"../../general/precision_macros.h"
#include
"real_128bit_BLOCK_template.c"
#undef REALCASE
#undef VEC_SET
#undef BLOCK6
#undef SINGLE_PRECISION
src/elpa2/kernels/real_sse_2hv_double_precision.c
View file @
135e3732
...
...
@@ -49,9 +49,11 @@
#define REALCASE 1
#define DOUBLE_PRECISION 1
#define BLOCK2 1
#define VEC_SET 128
#include
"../../general/precision_macros.h"
#include
"real_128bit_BLOCK_template.c"
#undef BLOCK2
#undef VEC_SET
#undef REALCASE
#undef DOUBLE_PRECISION
src/elpa2/kernels/real_sse_2hv_single_precision.c
View file @
135e3732
...
...
@@ -49,9 +49,11 @@
#define REALCASE 1
#define SINGLE_PRECISION 1
#define BLOCK2 1
#define VEC_SET 128
#include
"../../general/precision_macros.h"
#include
"real_128bit_BLOCK_template.c"
#undef BLOCK2
#undef VEC_SET
#undef REALCASE
#undef SINGLE_PRECISION
src/elpa2/kernels/real_sse_4hv_double_precision.c
View file @
135e3732
...
...
@@ -49,9 +49,11 @@
#define REALCASE 1
#define DOUBLE_PRECISION 1
#define BLOCK4 1
#define VEC_SET 128
#include
"../../general/precision_macros.h"
#include
"real_128bit_BLOCK_template.c"
#undef BLOCK4
#undef VEC_SET
#undef REALCASE
#undef DOUBLE_PRECISION
src/elpa2/kernels/real_sse_4hv_single_precision.c
View file @
135e3732
...
...
@@ -49,9 +49,11 @@
#define REALCASE 1
#define SINGLE_PRECISION 1
#define BLOCK4 1
#define VEC_SET 128
#include
"../../general/precision_macros.h"
#include
"real_128bit_BLOCK_template.c"
#undef BLOCK4
#undef VEC_SET
#undef REALCASE
#undef SINGLE_PRECISION
src/elpa2/kernels/real_sse_6hv_double_precision.c
View file @
135e3732
...
...
@@ -49,9 +49,11 @@
#define REALCASE 1
#define DOUBLE_PRECISION 1
#define BLOCK6 1
#define VEC_SET 128
#include
"../../general/precision_macros.h"
#include
"real_128bit_BLOCK_template.c"
#undef REALCASE
#undef VEC_SET
#undef BLOCK6
#undef DOUBLE_PRECISION
src/elpa2/kernels/real_sse_6hv_single_precision.c
View file @
135e3732
...
...
@@ -49,9 +49,11 @@
#define REALCASE 1
#define SINGLE_PRECISION 1
#define BLOCK6 1
#define VEC_SET 128
#include
"../../general/precision_macros.h"
#include
"real_128bit_BLOCK_template.c"
#undef REALCASE
#undef VEC_SET
#undef BLOCK6
#undef SINGLE__PRECISION
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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