Commit c9172d13 authored by Andreas Marek's avatar Andreas Marek

Cleanup of real generic kernel

parent 719457df
...@@ -296,12 +296,16 @@ ...@@ -296,12 +296,16 @@
#ifdef WITH_OPENMP #ifdef WITH_OPENMP
#ifdef USE_ASSUMED_SIZE #ifdef USE_ASSUMED_SIZE
call double_hh_trafo_generic_& call double_hh_trafo_&
&MATH_DATATYPE&
&_generic_&
&PRECISION& &PRECISION&
& (a(1,j+off+a_off-1,istripe,my_thread), w, nbw, nl, stripe_width, nbw) & (a(1,j+off+a_off-1,istripe,my_thread), w, nbw, nl, stripe_width, nbw)
#else #else
call double_hh_trafo_generic_& call double_hh_trafo_&
&MATH_DATATYPE&
&_generic_&
&PRECISION& &PRECISION&
& (a(1:stripe_width,j+off+a_off-1:j+off+a_off+nbw-1, istripe,my_thread), w(1:nbw,1:6), & & (a(1:stripe_width,j+off+a_off-1:j+off+a_off+nbw-1, istripe,my_thread), w(1:nbw,1:6), &
nbw, nl, stripe_width, nbw) nbw, nl, stripe_width, nbw)
...@@ -310,12 +314,16 @@ ...@@ -310,12 +314,16 @@
#else /* WITH_OPENMP */ #else /* WITH_OPENMP */
#ifdef USE_ASSUMED_SIZE #ifdef USE_ASSUMED_SIZE
call double_hh_trafo_generic_& call double_hh_trafo_&
&MATH_DATATYPE&
&_generic_&
&PRECISION& &PRECISION&
& (a(1,j+off+a_off-1,istripe),w, nbw, nl, stripe_width, nbw) & (a(1,j+off+a_off-1,istripe),w, nbw, nl, stripe_width, nbw)
#else #else
call double_hh_trafo_generic_& call double_hh_trafo_&
&MATH_DATATYPE&
&_generic_&
&PRECISION& &PRECISION&
& (a(1:stripe_width,j+off+a_off-1:j+off+a_off+nbw-1,istripe),w(1:nbw,1:6), nbw, nl, stripe_width, nbw) & (a(1:stripe_width,j+off+a_off-1:j+off+a_off+nbw-1,istripe),w(1:nbw,1:6), nbw, nl, stripe_width, nbw)
#endif #endif
......
...@@ -64,32 +64,29 @@ ...@@ -64,32 +64,29 @@
module real_generic_kernel module real_generic_kernel
private private
public double_hh_trafo_generic_double public double_hh_trafo_real_generic_double
#ifdef WANT_SINGLE_PRECISION_REAL #ifdef WANT_SINGLE_PRECISION_REAL
public double_hh_trafo_generic_single public double_hh_trafo_real_generic_single
#endif #endif
contains contains
#endif #endif
#define DOUBLE_PRECISION_REAL 1 #define REALCASE 1
#define REAL_DATATYPE rk8 #define DOUBLE_PRECISION 1
#define COMPLEX_DATATYPE ck8 #include "../precision_macros.h"
#include "elpa2_kernels_real_template.X90" #include "elpa2_kernels_real_template.X90"
#undef DOUBLE_PRECISION_REAL #undef REALCASE
#undef REAL_DATATYPE #undef DOUBLE_PRECISION
#undef COMPLEX_DATATYPE
#ifdef WANT_SINGLE_PRECISION_REAL #ifdef WANT_SINGLE_PRECISION_REAL
#undef DOUBLE_PRECISION_REAL #define REALCASE 1
#define REAL_DATATYPE rk4 #define SINGLE_PRECISION 1
#define COMPLEX_DATATYPE ck4 #include "../precision_macros.h"
#include "elpa2_kernels_real_template.X90" #include "elpa2_kernels_real_template.X90"
#undef DOUBLE_PRECISION_REAL #undef REALCASE
#undef REAL_DATATYPE #undef SINGLE_PRECISION
#undef COMPLEX_DATATYPE
#endif #endif
#ifndef USE_ASSUMED_SIZE #ifndef USE_ASSUMED_SIZE
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#undef MATH_DATATYPE #undef MATH_DATATYPE
#undef BLAS_TRANS_OR_CONJ #undef BLAS_TRANS_OR_CONJ
#undef PRECISION #undef PRECISION
#undef SPECIAL_COMPLEX_DATATYPE
#undef PRECISION_STR #undef PRECISION_STR
#undef REAL_DATATYPE #undef REAL_DATATYPE
...@@ -55,7 +56,7 @@ ...@@ -55,7 +56,7 @@
#define PRECISION_STR 'double' #define PRECISION_STR 'double'
#define PRECISION_SUFFIX "_double" #define PRECISION_SUFFIX "_double"
#define REAL_DATATYPE rk8 #define REAL_DATATYPE rk8
#define SPECIAL_COMPLEX_DATATYPE ck8
#define PRECISION_TRTRI DTRTRI #define PRECISION_TRTRI DTRTRI
#define PRECISION_POTRF DPOTRF #define PRECISION_POTRF DPOTRF
...@@ -101,6 +102,7 @@ ...@@ -101,6 +102,7 @@
#define PRECISION_STR 'single' #define PRECISION_STR 'single'
#define PRECISION_SUFFIX "_single" #define PRECISION_SUFFIX "_single"
#define REAL_DATATYPE rk4 #define REAL_DATATYPE rk4
#define SPECIAL_COMPLEX_DATATYPE ck4
#define PRECISION_TRTRI STRTRI #define PRECISION_TRTRI STRTRI
#define PRECISION_POTRF SPOTRF #define PRECISION_POTRF SPOTRF
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment