mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-10-30 19:44:32 +00:00 
			
		
		
		
	specialized A64FX Dslash kernels
This commit is contained in:
		| @@ -30,7 +30,9 @@ Author: paboyle <paboyle@ph.ed.ac.uk> | |||||||
| /*  END LEGAL */ | /*  END LEGAL */ | ||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
| #if defined(DSLASHA64FX) | #if defined(A64FX) | ||||||
|  |  | ||||||
|  | #pragma message("invoking A64FX Dslash") | ||||||
|  |  | ||||||
| // undefine everything | // undefine everything | ||||||
| #include <simd/Fujitsu_A64FX_undef.h> | #include <simd/Fujitsu_A64FX_undef.h> | ||||||
| @@ -194,9 +196,9 @@ WilsonKernels<ZWilsonImplFH>::AsmDhopSiteDagExt(StencilView &st, DoubledGaugeFie | |||||||
| 						int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) | 						int ss,int ssU,int Ls,int Ns,const FermionFieldView &in, FermionFieldView &out) | ||||||
| #include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h> | #include <qcd/action/fermion/implementation/WilsonKernelsAsmBody.h> | ||||||
|  |  | ||||||
| #undef MAYBEPERM | //#undef MAYBEPERM | ||||||
| //#undef MULT_2SPIN | //#undef MULT_2SPIN | ||||||
| #define MAYBEPERM(A,B) | //#define MAYBEPERM(A,B) | ||||||
| //#define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LS(ptr,pf) | //#define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN_LS(ptr,pf) | ||||||
|  |  | ||||||
| ///////////////////////////////////////////////////////////////// | ///////////////////////////////////////////////////////////////// | ||||||
| @@ -346,7 +348,7 @@ WilsonKernels<ZDomainWallVec5dImplFH>::AsmDhopSiteDagExt(StencilView &st, Double | |||||||
| //#undef MAYBEPERM | //#undef MAYBEPERM | ||||||
| //#undef MULT_2SPIN | //#undef MULT_2SPIN | ||||||
|  |  | ||||||
| // undefine everything | // undefine  | ||||||
| #include <simd/Fujitsu_A64FX_undef.h> | #include <simd/Fujitsu_A64FX_undef.h> | ||||||
|  |  | ||||||
| /////////////////////////////////////////////////////////// | /////////////////////////////////////////////////////////// | ||||||
| @@ -359,7 +361,7 @@ WilsonKernels<ZDomainWallVec5dImplFH>::AsmDhopSiteDagExt(StencilView &st, Double | |||||||
| #include <simd/Fujitsu_A64FX_asm_double.h> | #include <simd/Fujitsu_A64FX_asm_double.h> | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| // KNL stuff | // former KNL  | ||||||
| //#define MAYBEPERM(A,perm) if (perm) { A ; } | //#define MAYBEPERM(A,perm) if (perm) { A ; } | ||||||
| //#define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN(ptr,pf) | //#define MULT_2SPIN(ptr,pf) MULT_ADDSUB_2SPIN(ptr,pf) | ||||||
| //#define COMPLEX_SIGNS(isigns) vComplexD *isigns = &signsD[0]; | //#define COMPLEX_SIGNS(isigns) vComplexD *isigns = &signsD[0]; | ||||||
|   | |||||||
| @@ -34,9 +34,11 @@ directory | |||||||
|  |  | ||||||
| #ifndef AVX512 | #ifndef AVX512 | ||||||
| #ifndef QPX | #ifndef QPX | ||||||
|  | #ifndef A64FX | ||||||
| #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | ||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| NAMESPACE_BEGIN(Grid); | NAMESPACE_BEGIN(Grid); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,9 +34,11 @@ directory | |||||||
|  |  | ||||||
| #ifndef AVX512 | #ifndef AVX512 | ||||||
| #ifndef QPX | #ifndef QPX | ||||||
|  | #ifndef A64FX | ||||||
| #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | ||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| NAMESPACE_BEGIN(Grid); | NAMESPACE_BEGIN(Grid); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,9 +34,11 @@ directory | |||||||
|  |  | ||||||
| #ifndef AVX512 | #ifndef AVX512 | ||||||
| #ifndef QPX | #ifndef QPX | ||||||
|  | #ifndef A64FX | ||||||
| #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | ||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| NAMESPACE_BEGIN(Grid); | NAMESPACE_BEGIN(Grid); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,9 +34,11 @@ directory | |||||||
|  |  | ||||||
| #ifndef AVX512 | #ifndef AVX512 | ||||||
| #ifndef QPX | #ifndef QPX | ||||||
|  | #ifndef A64FX | ||||||
| #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | ||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| NAMESPACE_BEGIN(Grid); | NAMESPACE_BEGIN(Grid); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,9 +34,11 @@ directory | |||||||
|  |  | ||||||
| #ifndef AVX512 | #ifndef AVX512 | ||||||
| #ifndef QPX | #ifndef QPX | ||||||
|  | #ifndef A64FX | ||||||
| #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | ||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| NAMESPACE_BEGIN(Grid); | NAMESPACE_BEGIN(Grid); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,9 +34,11 @@ directory | |||||||
|  |  | ||||||
| #ifndef AVX512 | #ifndef AVX512 | ||||||
| #ifndef QPX | #ifndef QPX | ||||||
|  | #ifndef A64FX | ||||||
| #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | ||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| NAMESPACE_BEGIN(Grid); | NAMESPACE_BEGIN(Grid); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,9 +34,11 @@ directory | |||||||
|  |  | ||||||
| #ifndef AVX512 | #ifndef AVX512 | ||||||
| #ifndef QPX | #ifndef QPX | ||||||
|  | #ifndef A64FX | ||||||
| #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | ||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| NAMESPACE_BEGIN(Grid); | NAMESPACE_BEGIN(Grid); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,9 +34,11 @@ directory | |||||||
|  |  | ||||||
| #ifndef AVX512 | #ifndef AVX512 | ||||||
| #ifndef QPX | #ifndef QPX | ||||||
|  | #ifndef A64FX | ||||||
| #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | ||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| NAMESPACE_BEGIN(Grid); | NAMESPACE_BEGIN(Grid); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,9 +34,11 @@ directory | |||||||
|  |  | ||||||
| #ifndef AVX512 | #ifndef AVX512 | ||||||
| #ifndef QPX | #ifndef QPX | ||||||
|  | #ifndef A64FX | ||||||
| #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | ||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| NAMESPACE_BEGIN(Grid); | NAMESPACE_BEGIN(Grid); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,9 +34,11 @@ directory | |||||||
|  |  | ||||||
| #ifndef AVX512 | #ifndef AVX512 | ||||||
| #ifndef QPX | #ifndef QPX | ||||||
|  | #ifndef A64FX | ||||||
| #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | ||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| NAMESPACE_BEGIN(Grid); | NAMESPACE_BEGIN(Grid); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,9 +34,11 @@ directory | |||||||
|  |  | ||||||
| #ifndef AVX512 | #ifndef AVX512 | ||||||
| #ifndef QPX | #ifndef QPX | ||||||
|  | #ifndef A64FX | ||||||
| #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | ||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| NAMESPACE_BEGIN(Grid); | NAMESPACE_BEGIN(Grid); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,9 +34,11 @@ directory | |||||||
|  |  | ||||||
| #ifndef AVX512 | #ifndef AVX512 | ||||||
| #ifndef QPX | #ifndef QPX | ||||||
|  | #ifndef A64FX | ||||||
| #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | ||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| NAMESPACE_BEGIN(Grid); | NAMESPACE_BEGIN(Grid); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,9 +34,11 @@ directory | |||||||
|  |  | ||||||
| #ifndef AVX512 | #ifndef AVX512 | ||||||
| #ifndef QPX | #ifndef QPX | ||||||
|  | #ifndef A64FX | ||||||
| #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | ||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| NAMESPACE_BEGIN(Grid); | NAMESPACE_BEGIN(Grid); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,9 +34,11 @@ directory | |||||||
|  |  | ||||||
| #ifndef AVX512 | #ifndef AVX512 | ||||||
| #ifndef QPX | #ifndef QPX | ||||||
|  | #ifndef A64FX | ||||||
| #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | ||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| NAMESPACE_BEGIN(Grid); | NAMESPACE_BEGIN(Grid); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,9 +34,11 @@ directory | |||||||
|  |  | ||||||
| #ifndef AVX512 | #ifndef AVX512 | ||||||
| #ifndef QPX | #ifndef QPX | ||||||
|  | #ifndef A64FX | ||||||
| #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | #include <Grid/qcd/action/fermion/implementation/WilsonKernelsAsmImplementation.h> | ||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| NAMESPACE_BEGIN(Grid); | NAMESPACE_BEGIN(Grid); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| #include <iostream> | #include <iostream> | ||||||
| #include "Version.h" | //#include "Version.h" | ||||||
| namespace Grid { | namespace Grid { | ||||||
|   void printHash(){ |   void printHash(){ | ||||||
| #ifdef GITHASH | #ifdef GITHASH | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user