Skip to content

Commit 12e239d

Browse files
committed
Merge branch 'release/dirac-ITT-2020'
2 parents 251b904 + af2301a commit 12e239d

1,060 files changed

Lines changed: 96470 additions & 82276 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ ltmain.sh
8383
.Trashes
8484
ehthumbs.db
8585
Thumbs.db
86+
.dirstamp
8687

8788
# build directory #
8889
###################
@@ -97,11 +98,8 @@ build.sh
9798

9899
# Eigen source #
99100
################
100-
lib/Eigen/*
101-
102-
# FFTW source #
103-
################
104-
lib/fftw/*
101+
Grid/Eigen
102+
Eigen/*
105103

106104
# libtool macros #
107105
##################
@@ -112,21 +110,8 @@ m4/libtool.m4
112110
################
113111
gh-pages/
114112

115-
# Buck files #
116-
##############
117-
.buck*
118-
buck-out
119-
BUCK
120-
make-bin-BUCK.sh
121-
122113
# generated sources #
123114
#####################
124-
lib/qcd/spin/gamma-gen/*.h
125-
lib/qcd/spin/gamma-gen/*.cc
126-
lib/version.h
127-
128-
# vs code editor files #
129-
########################
130-
.vscode/
131-
.vscode/settings.json
132-
settings.json
115+
Grid/qcd/spin/gamma-gen/*.h
116+
Grid/qcd/spin/gamma-gen/*.cc
117+
Grid/util/Version.h

.travis.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ before_install:
1616
- if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$CC" == "clang" ]]; then export PATH="${GRIDDIR}/clang/bin:${PATH}"; fi
1717
- if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$CC" == "clang" ]]; then export LD_LIBRARY_PATH="${GRIDDIR}/clang/lib:${LD_LIBRARY_PATH}"; fi
1818
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
19-
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install libmpc; fi
19+
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install libmpc openssl; fi
2020

2121
install:
2222
- export CWD=`pwd`
@@ -33,6 +33,7 @@ install:
3333
- which $CXX
3434
- $CXX --version
3535
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export LDFLAGS='-L/usr/local/lib'; fi
36+
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export EXTRACONF='--with-openssl=/usr/local/opt/openssl'; fi
3637

3738
script:
3839
- ./bootstrap.sh
@@ -49,12 +50,7 @@ script:
4950
- make -j4
5051
- make install
5152
- cd $CWD/build
52-
- ../configure --enable-precision=single --enable-simd=SSE4 --enable-comms=none --with-lime=$CWD/build/lime/install
53+
- ../configure --enable-simd=SSE4 --enable-comms=none --with-lime=$CWD/build/lime/install ${EXTRACONF}
5354
- make -j4
5455
- ./benchmarks/Benchmark_dwf --threads 1 --debug-signals
55-
- echo make clean
56-
- ../configure --enable-precision=double --enable-simd=SSE4 --enable-comms=none --with-lime=$CWD/build/lime/install
57-
- make -j4
58-
- ./benchmarks/Benchmark_dwf --threads 1 --debug-signals
5956
- make check
60-

ChangeLog

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Version : 0.8.0
2+
3+
- Clang 3.5 and above, ICPC v16 and above, GCC 6.3 and above recommended
4+
- MPI and MPI3 comms optimisations for KNL and OPA finished
5+
- Half precision comms

Grid/DisableWarnings.h

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
/*************************************************************************************
2+
3+
Grid physics library, www.github.com/paboyle/Grid
4+
5+
Source file: ./lib/DisableWarnings.h
6+
7+
Copyright (C) 2016
8+
9+
Author: Guido Cossu <guido.cossu@ed.ac.uk>
10+
11+
This program is free software; you can redistribute it and/or modify
12+
it under the terms of the GNU General Public License as published by
13+
the Free Software Foundation; either version 2 of the License, or
14+
(at your option) any later version.
15+
16+
This program is distributed in the hope that it will be useful,
17+
but WITHOUT ANY WARRANTY; without even the implied warranty of
18+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19+
GNU General Public License for more details.
20+
21+
You should have received a copy of the GNU General Public License along
22+
with this program; if not, write to the Free Software Foundation, Inc.,
23+
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24+
25+
See the full license in the file "LICENSE" in the top level distribution
26+
directory
27+
*************************************************************************************/
28+
/* END LEGAL */
29+
30+
#ifndef DISABLE_WARNINGS_H
31+
#define DISABLE_WARNINGS_H
32+
33+
34+
35+
#if defined __GNUC__ && __GNUC__>=6
36+
#pragma GCC diagnostic ignored "-Wignored-attributes"
37+
#endif
38+
39+
//disables and intel compiler specific warning (in json.hpp)
40+
#pragma warning disable 488
41+
42+
#ifdef __NVCC__
43+
//disables nvcc specific warning in json.hpp
44+
#pragma clang diagnostic ignored "-Wdeprecated-register"
45+
#pragma diag_suppress unsigned_compare_with_zero
46+
#pragma diag_suppress cast_to_qualified_type
47+
48+
//disables nvcc specific warning in many files
49+
#pragma diag_suppress esa_on_defaulted_function_ignored
50+
#pragma diag_suppress extra_semicolon
51+
52+
//Eigen only
53+
#endif
54+
55+
// Disable vectorisation in Eigen on the Power8/9 and PowerPC
56+
#ifdef __ALTIVEC__
57+
#define EIGEN_DONT_VECTORIZE
58+
#endif
59+
#ifdef __VSX__
60+
#define EIGEN_DONT_VECTORIZE
61+
#endif
62+
63+
#endif

lib/Grid.h renamed to Grid/Grid.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
4242
#include <Grid/GridQCDcore.h>
4343
#include <Grid/qcd/action/Action.h>
4444
#include <Grid/qcd/utils/GaugeFix.h>
45+
#include <Grid/qcd/utils/CovariantSmearing.h>
4546
#include <Grid/qcd/smearing/Smearing.h>
4647
#include <Grid/parallelIO/MetaData.h>
4748
#include <Grid/qcd/hmc/HMC_aggregate.h>

lib/GridCore.h renamed to Grid/GridCore.h

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,20 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
3838
#ifndef GRID_BASE_H
3939
#define GRID_BASE_H
4040

41-
#include <Grid/GridStd.h>
4241

42+
#include <Grid/DisableWarnings.h>
43+
#include <Grid/Namespace.h>
44+
#include <Grid/GridStd.h>
45+
#include <Grid/threads/Pragmas.h>
4346
#include <Grid/perfmon/Timer.h>
4447
#include <Grid/perfmon/PerfCount.h>
48+
#include <Grid/util/Util.h>
4549
#include <Grid/log/Log.h>
46-
#include <Grid/allocator/AlignedAllocator.h>
50+
#include <Grid/allocator/Allocator.h>
4751
#include <Grid/simd/Simd.h>
52+
#include <Grid/threads/ThreadReduction.h>
4853
#include <Grid/serialisation/Serialisation.h>
49-
#include <Grid/threads/Threads.h>
50-
#include <Grid/util/Util.h>
54+
#include <Grid/util/Sha.h>
5155
#include <Grid/communicator/Communicator.h>
5256
#include <Grid/cartesian/Cartesian.h>
5357
#include <Grid/tensors/Tensors.h>
@@ -56,5 +60,6 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
5660
#include <Grid/stencil/Stencil.h>
5761
#include <Grid/parallelIO/BinaryIO.h>
5862
#include <Grid/algorithms/Algorithms.h>
63+
NAMESPACE_CHECK(GridCore)
5964

6065
#endif
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,6 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
3838
#include <Grid/qcd/spin/Spin.h>
3939
#include <Grid/qcd/utils/Utils.h>
4040
#include <Grid/qcd/representations/Representations.h>
41+
NAMESPACE_CHECK(GridQCDCore);
4142

4243
#endif

lib/GridStd.h renamed to Grid/GridStd.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
///////////////////
77
#include <cassert>
88
#include <complex>
9+
#include <memory>
910
#include <vector>
11+
#include <array>
1012
#include <string>
1113
#include <iostream>
1214
#include <iomanip>

Grid/Grid_Eigen_Dense.h

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
#include <Grid/GridCore.h>
2+
#pragma once
3+
// Force Eigen to use MKL if Grid has been configured with --enable-mkl
4+
#ifdef USE_MKL
5+
#define EIGEN_USE_MKL_ALL
6+
#endif
7+
8+
9+
#if defined __GNUC__
10+
#pragma GCC diagnostic push
11+
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
12+
#endif
13+
14+
/* NVCC save and restore compile environment*/
15+
#ifdef __NVCC__
16+
#pragma push
17+
#pragma diag_suppress code_is_unreachable
18+
#pragma push_macro("__CUDA_ARCH__")
19+
#pragma push_macro("__NVCC__")
20+
#pragma push_macro("__CUDACC__")
21+
#undef __CUDA_ARCH__
22+
#undef __NVCC__
23+
#undef __CUDACC__
24+
#define __NVCC__REDEFINE__
25+
#endif
26+
27+
/* SYCL save and restore compile environment*/
28+
#ifdef GRID_SYCL
29+
#pragma push
30+
#pragma push_macro("__SYCL_DEVICE_ONLY__")
31+
#undef __SYCL_DEVICE_ONLY__
32+
#define EIGEN_DONT_VECTORIZE
33+
//#undef EIGEN_USE_SYCL
34+
#define __SYCL__REDEFINE__
35+
#endif
36+
37+
/* HIP save and restore compile environment*/
38+
#ifdef GRID_HIP
39+
#pragma push
40+
#pragma push_macro("__HIP_DEVICE_COMPILE__")
41+
#endif
42+
#define EIGEN_NO_HIP
43+
44+
#include <Grid/Eigen/Dense>
45+
#include <Grid/Eigen/unsupported/CXX11/Tensor>
46+
47+
/* NVCC restore */
48+
#ifdef __NVCC__REDEFINE__
49+
#pragma pop_macro("__CUDACC__")
50+
#pragma pop_macro("__NVCC__")
51+
#pragma pop_macro("__CUDA_ARCH__")
52+
#pragma pop
53+
#endif
54+
55+
/*SYCL restore*/
56+
#ifdef __SYCL__REDEFINE__
57+
#pragma pop_macro("__SYCL_DEVICE_ONLY__")
58+
#pragma pop
59+
#endif
60+
61+
/*HIP restore*/
62+
#ifdef __HIP__REDEFINE__
63+
#pragma pop_macro("__HIP_DEVICE_COMPILE__")
64+
#pragma pop
65+
#endif
66+
67+
#if defined __GNUC__
68+
#pragma GCC diagnostic pop
69+
#endif
70+
71+

Grid/Grid_Eigen_Tensor.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#include <Grid/Grid_Eigen_Dense.h>

0 commit comments

Comments
 (0)