mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-04 05:54:32 +00:00 
			
		
		
		
	Merge commit '20a091c3eddfdb67a82ece6413740a93650a2f98' into feature/feynman-rules
This commit is contained in:
		@@ -41,6 +41,22 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
 | 
			
		||||
 | 
			
		||||
namespace Grid{
 | 
			
		||||
namespace Optimization {
 | 
			
		||||
 | 
			
		||||
  template<class vtype>
 | 
			
		||||
  union uconv {
 | 
			
		||||
    __m512 f;
 | 
			
		||||
    vtype v;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  union u512f {
 | 
			
		||||
    __m512 v;
 | 
			
		||||
    float f[8];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  union u512d {
 | 
			
		||||
    __m512 v;
 | 
			
		||||
    double f[4];
 | 
			
		||||
  };
 | 
			
		||||
  
 | 
			
		||||
  struct Vsplat{
 | 
			
		||||
    //Complex float
 | 
			
		||||
@@ -372,8 +388,9 @@ namespace Optimization {
 | 
			
		||||
  // Some Template specialization
 | 
			
		||||
 | 
			
		||||
  // Hack for CLANG until mm512_reduce_add_ps etc... are implemented in GCC and Clang releases
 | 
			
		||||
#undef GNU_CLANG_COMPILER 
 | 
			
		||||
#ifdef GNU_CLANG_COMPILER
 | 
			
		||||
 | 
			
		||||
#ifndef __INTEL_COMPILER
 | 
			
		||||
#warning "Slow reduction due to incomplete reduce intrinsics"
 | 
			
		||||
  //Complex float Reduce
 | 
			
		||||
  template<>
 | 
			
		||||
    inline Grid::ComplexF Reduce<Grid::ComplexF, __m512>::operator()(__m512 in){
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user