mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-13 01:05:36 +00:00
Merge branch 'release/v0.7.0' into develop
This commit is contained in:
commit
cd73897b8d
@ -24,7 +24,7 @@ _Please do not send pull requests to the `master` branch which is reserved for r
|
|||||||
|
|
||||||
### Compilers
|
### Compilers
|
||||||
|
|
||||||
Intel ICPC v16 and later
|
Intel ICPC v16.0.3 and later
|
||||||
|
|
||||||
Clang v3.5 and later (need 3.8 and later for OpenMP)
|
Clang v3.5 and later (need 3.8 and later for OpenMP)
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ When you file an issue, please go though the following checklist:
|
|||||||
2. Give a description of the target platform (CPU, network, compiler). Please give the full CPU part description, using for example `cat /proc/cpuinfo | grep 'model name' | uniq` (Linux) or `sysctl machdep.cpu.brand_string` (macOS) and the full output the `--version` option of your compiler.
|
2. Give a description of the target platform (CPU, network, compiler). Please give the full CPU part description, using for example `cat /proc/cpuinfo | grep 'model name' | uniq` (Linux) or `sysctl machdep.cpu.brand_string` (macOS) and the full output the `--version` option of your compiler.
|
||||||
3. Give the exact `configure` command used.
|
3. Give the exact `configure` command used.
|
||||||
4. Attach `config.log`.
|
4. Attach `config.log`.
|
||||||
5. Attach `config.summary`.
|
5. Attach `grid.config.summary`.
|
||||||
6. Attach the output of `make V=1`.
|
6. Attach the output of `make V=1`.
|
||||||
7. Describe the issue and any previous attempt to solve it. If relevant, show how to reproduce the issue using a minimal working example.
|
7. Describe the issue and any previous attempt to solve it. If relevant, show how to reproduce the issue using a minimal working example.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
]#!/usr/bin/env bash
|
]#!/usr/bin/env bash
|
||||||
|
|
||||||
EIGEN_URL='http://bitbucket.org/eigen/eigen/get/3.2.9.tar.bz2'
|
EIGEN_URL='http://bitbucket.org/eigen/eigen/get/3.3.3.tar.bz2'
|
||||||
|
|
||||||
echo "-- deploying Eigen source..."
|
echo "-- deploying Eigen source..."
|
||||||
wget ${EIGEN_URL} --no-check-certificate
|
wget ${EIGEN_URL} --no-check-certificate
|
||||||
|
@ -29,6 +29,7 @@ AC_DEFINE_UNQUOTED([GXX_VERSION],["$GXX_VERSION"],
|
|||||||
|
|
||||||
CXXFLAGS="-O3 $CXXFLAGS"
|
CXXFLAGS="-O3 $CXXFLAGS"
|
||||||
|
|
||||||
|
|
||||||
############### Checks for typedefs, structures, and compiler characteristics
|
############### Checks for typedefs, structures, and compiler characteristics
|
||||||
AC_TYPE_SIZE_T
|
AC_TYPE_SIZE_T
|
||||||
AC_TYPE_UINT32_T
|
AC_TYPE_UINT32_T
|
||||||
|
@ -30,6 +30,7 @@ directory
|
|||||||
*************************************************************************************/
|
*************************************************************************************/
|
||||||
/* END LEGAL */
|
/* END LEGAL */
|
||||||
#include <Grid/GridCore.h>
|
#include <Grid/GridCore.h>
|
||||||
|
#include <Grid/util/CompilerCompatible.h>
|
||||||
|
|
||||||
#include <cxxabi.h>
|
#include <cxxabi.h>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
@ -233,8 +233,8 @@ namespace QCD {
|
|||||||
Lattice<iScalar<vInteger> > coor(GaugeGrid);
|
Lattice<iScalar<vInteger> > coor(GaugeGrid);
|
||||||
for (int mu = 0; mu < Nd; mu++) {
|
for (int mu = 0; mu < Nd; mu++) {
|
||||||
|
|
||||||
auto pha = Params.boundary_phases[mu];
|
auto pha = Params.boundary_phases[mu];
|
||||||
scalar_type phase( real(pha),imag(pha) );
|
scalar_type phase( real(pha),imag(pha) );
|
||||||
|
|
||||||
int Lmu = GaugeGrid->GlobalDimensions()[mu] - 1;
|
int Lmu = GaugeGrid->GlobalDimensions()[mu] - 1;
|
||||||
|
|
||||||
@ -245,8 +245,6 @@ namespace QCD {
|
|||||||
PokeIndex<LorentzIndex>(Uds, tmp, mu);
|
PokeIndex<LorentzIndex>(Uds, tmp, mu);
|
||||||
|
|
||||||
U = adj(Cshift(U, mu, -1));
|
U = adj(Cshift(U, mu, -1));
|
||||||
// FIXME -- PAB ; this looked like phase should be conjugated so I changed it.
|
|
||||||
// Should we really support these being complex?
|
|
||||||
U = where(coor == 0, conjugate(phase) * U, U);
|
U = where(coor == 0, conjugate(phase) * U, U);
|
||||||
PokeIndex<LorentzIndex>(Uds, U, mu + 4);
|
PokeIndex<LorentzIndex>(Uds, U, mu + 4);
|
||||||
}
|
}
|
||||||
@ -265,11 +263,11 @@ namespace QCD {
|
|||||||
tmp = zero;
|
tmp = zero;
|
||||||
|
|
||||||
parallel_for(int sss=0;sss<tmp._grid->oSites();sss++){
|
parallel_for(int sss=0;sss<tmp._grid->oSites();sss++){
|
||||||
int sU=sss;
|
int sU=sss;
|
||||||
for(int s=0;s<Ls;s++){
|
for(int s=0;s<Ls;s++){
|
||||||
int sF = s+Ls*sU;
|
int sF = s+Ls*sU;
|
||||||
tmp[sU] = tmp[sU]+ traceIndex<SpinIndex>(outerProduct(Btilde[sF],Atilde[sF])); // ordering here
|
tmp[sU] = tmp[sU]+ traceIndex<SpinIndex>(outerProduct(Btilde[sF],Atilde[sF])); // ordering here
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PokeIndex<LorentzIndex>(mat,tmp,mu);
|
PokeIndex<LorentzIndex>(mat,tmp,mu);
|
||||||
|
|
||||||
|
56
lib/util/CompilerCompatible.h
Normal file
56
lib/util/CompilerCompatible.h
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#if defined(__clang__)
|
||||||
|
|
||||||
|
#if __clang_major__ < 3
|
||||||
|
#error "This clang++ version is known to not work with Grid due to compiler bugs"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if __clang_major__ == 3
|
||||||
|
#if __clang_minor__ < 5
|
||||||
|
#error "This clang++ version is known to not work with Grid due to compiler bugs"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Intel compiler *ALSO* has __GNUC__ defined so must if/else GCC checks
|
||||||
|
#elif defined(__INTEL_COMPILER)
|
||||||
|
|
||||||
|
#if __INTEL_COMPILER < 1603
|
||||||
|
#error "This icpc version is known to not work with Grid due to compiler bugs"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
// This macro is annoying many other compilers just define __GNUC__ and claim GCC compat
|
||||||
|
// but this defeats the use of __GNUC__ to really detect G++
|
||||||
|
#if defined(__GNUC__)
|
||||||
|
|
||||||
|
#if __GNUC__ < 4
|
||||||
|
#error "g++ prior to version 4 is known to not work with Grid due to compiler bugs"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if __GNUC__ == 4
|
||||||
|
#if __GNUC_MINOR__ != 9
|
||||||
|
#error "g++ 4.9 is the only gcc-4.x version known to work with Grid due to compiler bugs"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if __GNUC__ == 5
|
||||||
|
#warning "g++ version 5 is known to not work with Grid due to compiler bugs under -O3 : ensure you run make check"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if __GNUC__ == 6
|
||||||
|
#if __GNUC_MINOR__ < 3
|
||||||
|
#warning "This g++6.3 is the first recent g++ version known to work with Grid: ensure you run make check"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#warning "Unknown compiler detected: cannot guarantee compatability since Grid tends to break compilers"
|
||||||
|
#warning "Ensure to run : make check"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -48,6 +48,8 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
|
|||||||
|
|
||||||
#include <Grid/Grid.h>
|
#include <Grid/Grid.h>
|
||||||
|
|
||||||
|
#include <Grid/util/CompilerCompatible.h>
|
||||||
|
|
||||||
|
|
||||||
#include <fenv.h>
|
#include <fenv.h>
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
SUBDIRS = . core forces hmc solver debug smearing
|
SUBDIRS = . core forces hmc solver debug smearing IO
|
||||||
|
|
||||||
if BUILD_CHROMA_REGRESSION
|
if BUILD_CHROMA_REGRESSION
|
||||||
SUBDIRS+= qdpxx
|
SUBDIRS+= qdpxx
|
||||||
|
Loading…
Reference in New Issue
Block a user