1
0
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:
paboyle 2017-05-12 01:16:02 +01:00
commit cd73897b8d
8 changed files with 71 additions and 13 deletions

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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>

View File

@ -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);

View 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

View File

@ -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__

View File

@ -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